Page 1 of 1

GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 07:07
by Keitaro
OS: MacOS Siera
Unityバージョン 2022.3.7 f1
Arborバージョン 3.9.11
再現方法
曖昧にはなってしまうのですが、HierarchyでゲームオブジェクトにBehaviorTreeを追加し、Arborエディタ内でいくつかのノードやアクションを追加しました。それから、Prefab側にOverrideメニューから一つずつ選択して反映を行いました。
その前に実行中にBehaviorTreeを追加し編集したりもしましたが、それは実行後に消えているはずなので、おそらく改めてBehaviorTreeを追加してPrefabに反映したのだと思いますが、正確には覚えていません。


この時点でPrefab選択時のBehaviorTree上ではRootとのノード接続の線が切れており、表示が普段とは違っていました。(画像1)
現在はどのPrefabであっても、適当な操作後にこの表示となります。

その後、どのBehaviorTreeを持つPrefabゲームオブジェクトにおいても、ParameterContainerのパラメータがArborエディタ上に存在している状態だと、Arborエディタウィンドウ上で何らかの操作をするたびにエラーが起きるようになりました。(画像2)
Hierarchy上のBehaviorTree上では同じ条件でもエラーは起きていません。

BehaviorTreeをOverrideから適用したことが原因と考え、該当のプレハブやGameObjectは削除して作り直しましたが現象は直らず、現在は新規に作成したPrefabにおいても同じエラーが起きております。

プロジェクト自体がおかしくなっているようなので、
修正方法だけでも教示いただけると助かります。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 07:46
by caitsithware
ご報告ありがとうございます。

まずOverridesメニューで一つずつコンポーネントをPrefabに反映したとのことですが、こちらについては申し訳ございませんが対応しておりません。
ノード用スクリプトもMonoBehaviourを継承して拡張可能にし、グラフ用コンポーネントと密に相互参照している関係ですので仕様としてご了承ください。
プレハブのグラフを追加編集する場合はプレハブモードで行うのが一番安全かと思います。

Arbor Editorウィンドウ上で操作エラーが発生するようになった点については、おそらく壊れたデータの参照が残り続けていることが原因のようです。
以下の方法を一つずつお試しください。
  1. 一度Arbor Editorウィンドウを閉じてから開きなおす。
  2. (念のためArbor Editorウィンドウを閉じてから)プロジェクトを閉じて開きなおす。
  3. プロジェクトを閉じ、Libraryフォルダを削除してから開きなおす。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 08:06
by Keitaro
早速のご返答ありがとうございます。

教えていただいた方法を試しましたが、まだ同じエラーが発生しております。
同じプロジェクト上であれば、新しいシーン上で試したり、新しいプレハブ上でも同じ現象が起こっております。
他に何か試せることがありましたら、ご教授いただけると助かります。

よろしくお願いいたします。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 09:03
by Keitaro
すいません、どうやら報告したoverride操作と発生しているエラーは無関係なようでした。

報告した操作を行う前の状態のバージョンまでgitで戻してみたのですが、
ParameterContainerで追加したBehaviorがあるとエラーを起こすという症状自体は変わらず起こっておりました。
本日ParameterContainerを始めて使用しましたので、気づきませんでした。

他のプロジェクトでは起こらず、問題のプロジェクトのみで起きているという状況は変わりません。
何かわかることがありました追記いたします。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 09:20
by caitsithware
ご確認ありがとうござます。

Overridesの操作とエラーは無関係のようなのですね。

では「GetParameterなどを使用しているプレハブを直接選択してArbor Editorウィンドウで操作すると例外が発生する」ということかと思いますが、
こちらの不具合報告「ArborFSMのプレハブでSetParameterを使用すると、NullReferenceExceptionが発生する」と同様の問題の可能性がありますね。
こちらの不具合は根本的にはUnity内部の問題であり、すでにUnityに不具合報告済みです。
またArbor最新3.9.11では暫定回避策を適用しています。

念のため、もう一度Arborのバージョンを確認していただけますでしょうか。
Arbor Editorウィンドウのツールバー右端にある歯車アイコンをクリックしたポップアップの最下部か、Unity上部メニューの「Window > Arbor > Welcom」で開くWelcomeウィンドウに記載されております。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 09:29
by Keitaro
ご回答ありがとうございます。
教えていただいた方法で確認したところArborバージョンは3.9.7でした。
PackageManagerのウィンドウでバージョンを見ておりましたが、確認方法を誤っていたようです。申し訳ありません。
3.9.11に更新したところ、不具合は発生しなくなりました。
どうもありがとうございました。

Re: GetParameterCalculatorInternalでエラー

Posted: 2023/10/28 09:51
by caitsithware
ご確認ありがとうございます。
解決したようで良かったです。