Assetの「Arbor2」を試してみようと思います!
「Arbor2」はFSM(finite state machine)ベースのビジュアルスクリプティング
詳しくはこちらから確認します。
説明:http://arbor.caitsithware.com/manual/getting-started/#FSM
リファレンス:http://arbor.caitsithware.com/manual/behaviour-reference/
本当に軽くですが、まずは敵が徘徊する設定まで。
とりあえず敵とするキャラに、「ArborFSM」をアタッチします。
「OpenEditor」ボタンを押して、編集画面を表示
ステートを作成して、「挙動追加」→「Agent」→「AgentPatrol」を選択して追加
必要な値の詳細はリファレンスを確認するとして、
「AgentController」が必要なので、敵キャラにアタッチします。
「AgentController」に必要なパラメータとして
リファレンスによると、
「Agent」に、「NavMeshAgent」
「Speed Parameter」から
「Animator」に、使用したい「Animatorコンポーネント」を設定
設定したAnimatorの「Parameter」がプルダウンで表示されます。
この項目は「移動速度をAnimatorへ渡す際のSpeedパラメータの名称を指定する。」
とのことで移動する際に、プルダウンで設定した「Parameter」に渡されます。
ただし「Float型」だけのようです。
とりあえずまずは、「NavMeshAgent」を用意します。
移動したいフィールドのオブジェクトを「Static」設定します。
Unityメニューの「Window」→「Navigation」を開き
タブ「Bake」から「Bake」ボタンを押して、「NavMesh」を作成します。
敵キャラに「Navigation」→「NavMeshAgent」をアタッチします。
これで「NavMeshAgent」が用意できたので、
敵キャラの「AgentController」の「Agent」に自身をアタッチします。
次に「OpenEditor」ボタンから、「ArborEditor」を開き
「AgentController」パラメータに敵キャラをアタッチして、各パラメータを入力します。
自動で徘徊するようになりました!
他の「Agent」である、「AgentFollow」「AgentEscape」も
対象設定する以外には同じパラメータなので、すぐ実装できました!
今後活用していきたいけど、使いどころとかまだよくわからないし
チュートリアルも少ないし、調べながら使っていこう。