ArborFSM、BehaviourTreeのRemoveComponet

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
報告に必要な項目は以下の通りです。
  • Unityバージョン
  • Arborバージョン
  • OS
  • ビルドプラットフォーム
  • 再現方法
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画
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

Forum rules
報告に必要な項目は以下の通りです。
  • Unityバージョン
  • Arborバージョン
  • OS
  • ビルドプラットフォーム
  • 再現方法
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画

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
kudou

ArborFSM、BehaviourTreeのRemoveComponet

Post by kudou » 2018/05/17 08:21

unity2018 1.0 f2 personal
Arbor 3.0.2p1

ArborFSM、BehaviourTreeをインスペクターからRemoveComponentすると下記のログが出力されました。

NullReferenceException: Object reference not set to an instance of an object
ArborEditor.ArborFSMInternalInspector.OnDestroy () (at Assets/Plugins/Arbor/Internal/Editor/ArborFSMInternalInspector.cs:56)

またこのRemoveComponent前にArborFSMなどでノードを作成して挙動を追加していた場合、このGameObjectをprefabにするとArborFSMで追加した挙動がインスペクターに表示されるようになっていました。

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

Re: ArborFSM、BehaviourTreeのRemoveComponet

Post by caitsithware » 2018/05/17 08:47

ご報告ありがとうございます。
詳しく調査いたします。
またこのRemoveComponent前にArborFSMなどでノードを作成して挙動を追加していた場合、このGameObjectをprefabにするとArborFSMで追加した挙動がインスペクターに表示されるようになっていました。
該当のGameObjectをprefabにしたかどうかにかかわらず例外が発生しているのでしょうか。
問題の切り分けのためにも、出来る限り具体的にどのGameObjectを編集したか(プレハブ化していてシーン側のオブジェクトのFSMを消した、など)も教えていただけると助かります。

kudou

Re: ArborFSM、BehaviourTreeのRemoveComponet

Post by kudou » 2018/05/17 09:05

エラーログはprefabに関係なく出力されます。

下記に「①エラーログ出力までの手順」と「②インスペクターに挙動が表示されるまでの手順」を書きます。

①エラーログ出力までの手順
1、ヒエラルキー上の右クリックメニュー → CreateEmptyでGameObject作成
2、インスペクター上のAddComponentでArborFSMを追加
3、インスペクター上で先ほど追加したArborFSMをRemoveComponent

②インスペクターに挙動が表示されるまでの手順
1、ヒエラルキー上の右クリックメニュー → CreateEmptyでGameObject作成
2、インスペクター上のAddComponentでArborFSM を追加
3、ArborEditorでステートを作成
4、ステートにTimeTransitionを追加(おそらく、どの挙動でも何個でも可)
5、インスペクター上でArborFSMをRemoveComponent(ここでエラーログが出力されます)
6、ArborFSMをRemoveComponentしたGameObjectをPrefab化
7、このPrefabかさきほどのGameObjectをインスペクターで確認すると追加していた挙動が表示される

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

Re: ArborFSM、BehaviourTreeのRemoveComponet

Post by caitsithware » 2018/05/17 09:28

ありがとうございます。
詳しい手順まで書いていただいて助かります。

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

Re: ArborFSM、BehaviourTreeのRemoveComponet

Post by caitsithware » 2018/05/17 10:55

修正パッチ3.0.2p2を公開いたしました。
http://arbor.caitsithware.com/patch/release-3-0-2p2/

②については、RemoveComponentでの破棄処理が正常に行われないことが原因で、根本部分が同じ問題でしたので、
こちらも3.0.2p2を適用していただければ修正されます。

kudou

Re: ArborFSM、BehaviourTreeのRemoveComponet

Post by kudou » 2018/06/05 15:45

対応ありがとうございます。
修正されているのを確認致しました。


Last bumped by Anonymous on 2018/06/05 15:45.

Post Reply