ParameterContainerのロードエラー

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:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

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

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。

Forum rules
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:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

報告に必要な項目は以下の通りです。
  • OS(必須)
  • Unityバージョン(必須)
  • Arborバージョン(必須)
  • 再現方法(必須)
    再現方法については、誰が読んでも同様の手順を行えるよう正確に記述するようにお願いいたします。
    もし正確な再現手順が不明な場合、覚えている限りで構いませんので直前に行っていたことや最後に編集した時のことを教えてください。
  • ビルドプラットフォーム
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。
kag
Posts: 35
Joined: 2017/05/19 08:28

ParameterContainerのロードエラー

Post by kag »

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 638 times
User avatar
caitsithware
管理人
Posts: 495
Joined: 2015/08/17 12:41

Re: ParameterContainerのロードエラー

Post by caitsithware »

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

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

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

ご不便おかけして申し訳ございませんがよろしくお願いいたします。
User avatar
caitsithware
管理人
Posts: 495
Joined: 2015/08/17 12:41

Re: ParameterContainerのロードエラー

Post by caitsithware »

再現確認できました。

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

暫定対処方法:
  • 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: 35
Joined: 2017/05/19 08:28

Re: ParameterContainerのロードエラー

Post by kag »

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

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

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

よろしくお願いします。
Attachments
Arbro3_4_0Test3_20181217.zip
(27.48 KiB) Downloaded 656 times
User avatar
caitsithware
管理人
Posts: 495
Joined: 2015/08/17 12:41

Re: ParameterContainerのロードエラー

Post by caitsithware »

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

Re: ParameterContainerのロードエラー

Post by caitsithware »

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: 35
Joined: 2017/05/19 08:28

Re: ParameterContainerのロードエラー

Post by kag »

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