SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
フォーラムルールをよく読み、不具合確認に必要な情報を記載するようお願いします。

注意:Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。

Here is a forum for reporting failure to Arbor developer.
Please read the forum rules carefully and enter the information necessary to confirm the problem.

Note: Unity beta and alpha versions are not supported. Please use the official release version.
Forum rules
報告に必要な項目は以下の通りです。
  • OS(必須)
  • Unityバージョン(必須)
  • Arborバージョン(必須)
  • 再現方法(必須)
    再現方法については、誰が読んでも同様の手順を行えるよう正確に記述するようにお願いいたします。
    もし正確な再現手順が不明な場合、覚えている限りで構いませんので直前に行っていたことや最後に編集した時のことを教えてください。
  • ビルドプラットフォーム
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画
注意:Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。

The items necessary for reporting are as follows.
  • OS(Required)
  • Unity version(Required)
  • Arbor version(Required)
  • How to reproduce(Required)
    The reproduction method should be described accurately so that anyone can read the same procedure.
    If you do not know the exact reproduction procedure, as long as you can remember it, so please tell us what you were doing immediately before and the last time you edited it.
  • Build platform
  • Reproduction project (Minimum configuration not including Arbor and other assets) or video
Note: Unity beta and alpha versions are not supported. Please use the official release version.
kag
Posts: 35
Joined: 2017/05/19 08:28

SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Post by kag » 2019/11/07 03:52

OS:Windows10
Unity: 2018.4.11
Arbor: 3.6.6

いつもお世話になっております。

・SubStateMachineのパラメータリストからCalculatorTransitionにリンクを繋いでいる状態で、SubStetMachineのリストからパラメータを削除する
・SubStateMachineのパラメータリストからCalculatorTransitionにリンクを繋いでいる状態で、パラメータのGetを無効にして適用や修復をする
と、それぞれ次の例外が発生しました。

Code: Select all

NullReferenceException: Object reference not set to an instance of an object
Arbor.DataSlotField.IsConnectable (Arbor.DataSlotField slotField) (at Assets/Plugins/Arbor/Internal/Scripts/DataFlow/DataSlot/DataSlotField.cs:222)
ArborEditor.InputSlotGUI.RebuildConnectGUI () (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/InputSlotGUI.cs:52)
ArborEditor.DataSlotGUI.Initialize (UnityEditor.SerializedProperty property, Arbor.DataSlot slot) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:295)
ArborEditor.DataSlotGUI.GetGUI (UnityEditor.SerializedProperty property, Arbor.DataSlot slot) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:209)
ArborEditor.DataSlotGUI.GetGUI (UnityEditor.SerializedProperty property) (at Assets/Plugins/Arbor/Internal/Editor/DataFlow/DataSlotGUI.cs:223)
ArborEditor.DataSlotPropertyDrawer.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyDrawers/DataSlotPropertyDrawer.cs:127)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.EditorGUI.PropertyFieldInternal (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5953)
UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7287)
ArborEditor.FlexiblePrimitivePropertyEditor.OnDataSlotGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/FlexibleField/FlexiblePrimitivePropertyEditor.cs:161)
ArborEditor.FlexiblePrimitivePropertyEditor.OnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/FlexibleField/FlexiblePrimitivePropertyEditor.cs:221)
ArborEditor.PropertyEditor.DoOnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:54)
ArborEditor.PropertyEditorDrawer`1[T].OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:142)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.EditorGUI.PropertyFieldInternal (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5953)
UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:7287)
ArborEditor.LayoutArea.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, ArborEditor.LayoutOption[] options) (at Assets/Plugins/Arbor/Internal/Editor/LayoutArea.cs:319)
ArborEditor.LayoutArea.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, ArborEditor.LayoutOption[] options) (at Assets/Plugins/Arbor/Internal/Editor/LayoutArea.cs:309)
ArborEditor.CalculatorConditionListEditor.DoGUI (UnityEditor.SerializedProperty elementProperty) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:159)
ArborEditor.CalculatorConditionListEditor.DrawElement (UnityEngine.Rect rect, System.Int32 index, System.Boolean isActive, System.Boolean isFocused) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:185)
UnityEditorInternal.ReorderableList.DoListElements (UnityEngine.Rect listRect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:589)
UnityEditorInternal.ReorderableList.DoList (UnityEngine.Rect rect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:414)
ArborEditor.CalculatorConditionListEditor.OnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/CalculatorConditionListPropertyDrawer.cs:292)
ArborEditor.PropertyEditor.DoOnGUI (UnityEngine.Rect position, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:54)
ArborEditor.PropertyEditorDrawer`1[T].OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/Arbor/Internal/Editor/PropertyEditor.cs:142)
UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:139)
UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:106)
UnityEditor.PropertyHandler.OnGUILayout (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:208)
UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9231)
UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:9215)
ArborEditor.StateMachine.StateBehaviours.CalculatorTransitionInspector.OnInspectorGUI () (at Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Behaviours/Transition/CalculatorTransitionInspector.cs:25)
ArborEditor.BehaviourEditorGUI.OnGUI () (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.cs:536)
UnityEngine.Debug:LogException(Exception)
ArborEditor.BehaviourEditorGUI:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.cs:546)
ArborEditor.BehaviourEditorList`1:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorList.cs:586)
ArborEditor.StateEditor:OnGUI() (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/StateEditor.cs:342)
ArborEditor.NodeEditor:DoGUI() (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/NodeEditor.cs:426)
ArborEditor.NodeEditor:OnWindow(Int32) (at Assets/Plugins/Arbor/Internal/Editor/NodeEditors/NodeEditor.cs:668)
UnityEditor.EditorWindow:EndWindows()
ArborEditor.ArborEditorWindow:GraphGUI() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2394)
ArborEditor.ArborEditorWindow:GraphViewGUI() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2329)
ArborEditor.ArborEditorWindow:<SetupGUI>b__204_8() (at Assets/Plugins/Arbor/Internal/Editor/Windows/ArborEditorWindow.cs:2993)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
よろしくお願いいたします。

User avatar
caitsithware
管理人
Posts: 361
Joined: 2015/08/17 12:41

Re: SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Post by caitsithware » 2019/11/07 04:07

ご報告ありがとうございます。
調査の後、修正いたします。

User avatar
caitsithware
管理人
Posts: 361
Joined: 2015/08/17 12:41

Re: SubStateMachineのパラメータリストからリンクをつないでいる状態でリストから削除するとNullReferenceが発生する

Post by caitsithware » 2019/11/08 11:01

Arbor 3.6.7にて修正いたしました。
アセットストアから再DLし、リリースノートやreadme記載の更新手順に従って再インポートしてください。
Arbor 3.6.7 リリース | Arbor 3

Post Reply