Page 1 of 1

SubStateMachineReferenceからの戻り値について

Posted: 2018/12/12 09:29
by wendy
unity 2018 2.12 f1
Arbor3.3.2

ゲーム中に数体いるキャラの中から、条件に合うキャラを選抜するためのルーチンを作成しようと考えています。

SubStateMachineReference で、キャラを選択する外部FSMを実行しているのですが、
外部FSM内で決定された値(GameObject)を取得する方法はありますでしょうか?

受け渡し用のオブジェクトをヒエラルキーに用意し、それを介しての受け渡しはできるのですが、
グラフィカルに遷移図内で完結させる方法はございますでしょうか?

Re: SubStateMachineReferenceからの戻り値について

Posted: 2018/12/12 10:03
by caitsithware
ご質問ありがとうございます。
wendy wrote: 2018/12/12 09:29 SubStateMachineReference で、キャラを選択する外部FSMを実行しているのですが、
外部FSM内で決定された値(GameObject)を取得する方法はありますでしょうか?

受け渡し用のオブジェクトをヒエラルキーに用意し、それを介しての受け渡しはできるのですが、
グラフィカルに遷移図内で完結させる方法はございますでしょうか?
現在、サブステートマシン内で決定された値を親グラフへ受け渡す機能は備わっておりません。
受け渡し用に自作したコンポーネントもしくはParameterContainerを介して親グラフに受け渡すようにお願いいたします。

また、決まったロジックでキャラを選択するのみ(例えばシーン内にいる敵の中で一番ダメージを負っている敵を攻撃対象にしたいなど)でしたら
Calculatorスクリプトの自作もお勧めです。

例えば以下のような流れで決定したキャラの受け渡しができるようになります。
  • 自作したCalculatorで条件に合ったキャラを決定し、OutputSlotGameObjectで出力。
  • 「追撃」ステートでGameObjectを受け取り、追いかける。
詳しくはマニュアルを参照してください。

スクリプティング : 演算ノード
スクリプティング : データフロー

また、現在開発中の3.4.0ではグラフ内に直接パラメータを持たせられる機能も開発しております。
この機能によりサブグラフと親グラフ間で値の受け渡しが簡単にできるようになる予定です。

Re: SubStateMachineReferenceからの戻り値について

Posted: 2018/12/12 11:15
by wendy
ありがとうございます。参考になりました。