ParameterContainerのロードエラー

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
報告に必要な項目は以下の通りです。
  • Unityバージョン
  • Arborバージョン
  • OS
  • ビルドプラットフォーム
  • 再現方法
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画
注意:Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。

Here is a forum for reporting failure to Arbor developer.
The items necessary for reporting are as follows.
  • Unity version
  • Arbor version
  • OS
  • Build platform
  • How to reproduce
  • 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.
Forum rules
報告に必要な項目は以下の通りです。
  • Unityバージョン
  • Arborバージョン
  • OS
  • ビルドプラットフォーム
  • 再現方法
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画
注意:Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。

The items necessary for reporting are as follows.
  • Unity version
  • Arbor version
  • OS
  • Build platform
  • How to reproduce
  • 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: 28
Joined: 2017/05/19 08:28

ParameterContainerのロードエラー

Post by kag » 2018/12/17 04:27

Unity: 2018.2.14
Arbor: 3.4.0 (プロジェクト作成はArbor3.3.2)
OS: Windows
ビルドプラットフォーム: Windows

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

ロード先シーンでPrefab内にあるParameterContainerのロード時にobjectReferenceValueで、
System.InvalidOperationException: EnsureRunningOnMainThread can only be called from the main thread
の例外が発生します。

再現方法
・添付のプロジェクトのTest1シーンを開く
・実行するとTest2をロードするのですが、例外が発生します。

よろしくお願いします。
Attachments
Arbro3_4_0Test2_20181217.zip
(23.86 KiB) Downloaded 15 times

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

Re: ParameterContainerのロードエラー

Post by caitsithware » 2018/12/17 04:52

ご報告ありがとうございます。

確認いたしますので少々お待ちください。

もし追加でお気づきの点などがありましたら続けて返信していただけると助かります。

ご不便おかけして申し訳ございませんがよろしくお願いいたします。

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

Re: ParameterContainerのロードエラー

Post by caitsithware » 2018/12/17 05:22

再現確認できました。

早急に修正版に更新いたします。
アセットストアへの更新には数日かかってしまう可能性がありますがご了承下さい。

暫定対処方法:
  • Assets/Plugins/Arbor/Internal/Scripts/ParameterContainerInternal.csをスクリプトエディタで開く。
  • 4903行あたりから4916行あたりを以下のように変更する。

    Code: Select all

    case Parameter.Type.GameObject:
    	_ObjectParameters[newParameter._ParameterIndex] = p._GameObjectValue;
    	break;
    case Parameter.Type.Component:
    	_ObjectParameters[newParameter._ParameterIndex] = p._ObjectReferenceValue;
    	newParameter.referenceType = new ClassTypeReference(p.referenceType);
    	break;
    case Parameter.Type.Transform:
    case Parameter.Type.RectTransform:
    case Parameter.Type.Rigidbody:
    case Parameter.Type.Rigidbody2D:
    case Parameter.Type.Variable:
    	_ObjectParameters[newParameter._ParameterIndex] = p._ObjectReferenceValue;
    	break;
    
    (「newParameter.objectReferenceValue = ~」となっているところを「_ObjectParameters[newParameter._ParameterIndex] = ~」に変更)
以上となります。
ご不便おかけして申し訳ございませんがよろしくお願いいたします。

kag
Posts: 28
Joined: 2017/05/19 08:28

Re: ParameterContainerのロードエラー

Post by kag » 2018/12/17 07:00

対応ありがとうございます。
例外は発生しなくなりました。

次に同じ環境で、ParamterTransitionで、Bool型のパラメータを参照したときにNullReferenceの例外が発生します。
※ParameterContainerの修正は反映させてあります。

再現方法
・添付のプロジェクトのTest1シーンを開く
・実行するとTest3をロードするのですが、例外が発生します。

よろしくお願いします。
Attachments
Arbro3_4_0Test3_20181217.zip
(27.48 KiB) Downloaded 14 times

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

Re: ParameterContainerのロードエラー

Post by caitsithware » 2018/12/17 07:38

ご確認ありがとうございます。
ParameterContainerのエラーにつきましては早急に修正版を公開いたします。
アセットストアへの反映までもうしばらくお待ちください。
kag wrote:
2018/12/17 07:00
次に同じ環境で、ParamterTransitionで、Bool型のパラメータを参照したときにNullReferenceの例外が発生します。
こちらについてですが、なぜかISerializationCallbackReceiver.OnAfterDeserializeが呼ばれなく必要な情報が受け渡しできない状況のようです。
Unityの不具合の可能性も含め、詳しく調査いたしますのでもう少しお時間をください。

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

Re: ParameterContainerのロードエラー

Post by caitsithware » 2018/12/17 08:35

kag wrote:
2018/12/17 07:00
次に同じ環境で、ParamterTransitionで、Bool型のパラメータを参照したときにNullReferenceの例外が発生します。
こちらについても原因特定出来ました。

ParameterContainerの修正対応と合わせて次の更新で対応いたします。
アセットストアへの反映には数日かかってしまう可能性がありますがご了承下さい。
それまでの間、以下の暫定対処方法を行ってください。

暫定対処方法:
  • Assets/Plugins/Arbor/BuiltInBehaviours/Scripts/Common/ParameterConditionList.csをスクリプトエディタで開く。
  • 179行目(_Conditions.Add(condition);の前)あたりに以下のコードを挿入。

    Code: Select all

    condition.owner = this;
    
また、同様の不具合としてCalculatorTransitionなどでも発生しておりました。
CalculatorTransitionの暫定対処方法は以下の通りです。
  • Assets/Plugins/Arbor/BuiltInBehaviours/Scripts/Common/CalculatorConditionList.csをスクリプトエディタで開く。
  • 150行目(_Conditions.Add(condition);の前)あたりに以下のコードを挿入。

    Code: Select all

    condition.owner = this;
    
この不具合についてですが、シーンを旧データのまま実行時に読み込むと発生する不具合でした。
もし他にもシーン読み込み時に例外が発生するようでしたら、発生するシーンを一度保存し直すと改善できるかもしれません。
(他にも発生するようでしたら、お手数おかけしますが不具合報告もよろしくお願いいたします)

以上となります。
ご不便おかけして申し訳ございませんがよろしくお願いいたします。

kag
Posts: 28
Joined: 2017/05/19 08:28

Re: ParameterContainerのロードエラー

Post by kag » 2018/12/17 10:13

対応ありがとうございます。
解消されました。
今後とも宜しくお願いします。

Locked