Page 1 of 1

InstantiateGameObjectでプールされたArborFSMを取得・再生したとき、SubStateMachineで状態遷移が停止する

Posted: 2023/10/18 06:49
by ooee
いつもお世話になっています。

件名の不具合に遭遇したので、ご報告いたします。

OS: Windows11
Unityバージョン: 2021.3.31f1
Arborバージョン: 3.9.11
再現方法:
1. ArborFSMのプレハブを作成
プレハブのステートマシーンは
TimeTransition(1秒待つ)→SubStateMachine(EndStateMachineですぐ処理を終了)→DestoryGameObject(自分自身を削除)
2. 一定間隔で、InstantiateGameObject(UsePoolにチェックを入れる)で1のプレハブを生成し生成したインスタンスをPlayStateMachineで再生。
3. 再利用されたインスタンスは消えず、ステートマシンの状態遷移がSubStateMachineで止まっていることを確認。

Re: InstantiateGameObjectでプールされたArborFSMを取得・再生したとき、SubStateMachineで状態遷移が停止する

Posted: 2023/10/18 09:21
by caitsithware
ご報告ありがとうございます。

再現確認できましたので修正いたします。

暫定対処方法
  1. Assets/Plugins/Arbor/Internal/Scripts/NodeGraph.csを開く
  2. 3457行目を以下のように変更

    Code: Select all

    if (external)
    {
    	SetExternal(null);
    }
    

Re: InstantiateGameObjectでプールされたArborFSMを取得・再生したとき、SubStateMachineで状態遷移が停止する

Posted: 2023/10/18 10:07
by ooee
暫定対処方法を手持ちのプロジェクトで試したところ、正しく動作するようになりました。

確認ありがとうございます。