Designerの更新処理の制御とTaskの処理タイミングについてまとめました。同じTaskの繰り返しは同フレームで行われなかったりします。厳密にAIを制御するにはこのあたりの処理フローを理解・制御しないといけません。そのためこの記事では更新処理の制御とTaskの処理タイミングについてまとめます。Managerというオブジェクトが自動的に作られるのがわかります。Managerというコンポーネントがアタッチされていることがわかります。ManagerのアタッチされたGameObjectを配置します。Managerが使用されるようになります。Secondsに設定します。Secondsフィールドに更新間隔の秒数を指定します。IntervalをManualにします。その上でスクリプトからBehaviorManager.Tick()を呼ぶことで更新します。Treeだけを更新することもできます。tree;manager.Tick(tree);1フレーム内で処理するTaskを制御する初期設定では、Taskが成功/失敗すると同フレーム内で次のTaskを処理します。下記のようなツリーの場合、同じフレームですべてのTaskが処理されます。あるTaskの処理が完了した時にそれ以降のTaskの処理を次のフレームに回したければ、TaskのInspectorのInstantのチェックを外します。これとは別に、「同フレーム内で同じTaskを処理せず次のフレームに回す」というルールがあります。100回ログ出力を繰り返すだけのTreeです。Taskを実行しようとしたときに次のフレームに処理が先送りされるため、Treeが完了するまでに100フレーム掛かることになります。Typeというフィールドを使います。Duplicates(初期値)に設定すると、前節の通りの挙動となります。Countを設定すると、その数だけ次フレームの先送りが無効になり、同フレームで処理されるようになります。1はてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。