UE4.10.4
親ページ:第5回UE4ぷちコン
シミュレーション的なイベント駆動はUE4以外も含めて初めて作ったので手探り。
思考処理フロー †
BehaviorTreeをイベント毎に切り替えて挙動させる。
- 「GrayちゃんActor」とは別に、「EvenManager」としてイベントテーブル(後述)を管理するActorを用意。ワールドに1つ。
- 現在の「状態(何やりたいかパラメーター)」は「GrayちゃんActor」が保持
- 「TaskActor」がイベントの定義。「本を読む」や「TVを見る」などの単位でActor化。
- Grayちゃんの動きパターンは全て、「TaskActor」の中にある「BehaviorTree」で記述。
- BehaviorTree内で次のイベントに遷移してもOKなタイミングで、状態を更新+「EventManager」に条件に合致するイベント検索クエリーを投げる
- 次に遷移できるイベントが見つかれば、現行の「TaskActor」を破棄、新しい「TaskActor」をGrayちゃんに登録する。
- 新しい「TaskActor」のBehaviorTreeを起動させる
イベントテーブル †
強制的なイベント †
ほか †