第23章まで進んだ。
ここまでで一番ボリュームがある章だった。
UE4には、標準でビヘイビアツリーという機能が備わっていて、ゲームのAIはこのビヘイビアツリーを使うのが主流だそうだ。
図の内容は、要はフローチャートみたいなもので、フローチャートと異なるのは、強制的にフローを切断して流れを変える機能があるところくらいだろうか。
Unityのメカニムにも似ているけれども、メカニムがモーションのブレンドや遷移に使われるのに対し、ビヘイビアツリーで実行させる各ノードはブループリントになっている。
Unityの場合は、おそらく同様の機能のアセットがアセットストアで購入できたはず。
マテリアルエディタにせよ、このビヘイビアツリーにせよ、初めからエンジンに統合されているというのが、UE4がもっとも信頼できるエンジンといわれる理由のひとつかもしれない。
冒頭の画像は、敵キャラクターのAIのビヘイビアツリー。
簡単に要約すると、普段は決まったルートで巡回行動していて、視界にプレイヤーが入ったら、巡回を中断してプレイヤーを追いかける。
ただし、5秒追いかけるか、一定の距離を追いかけてもプレイヤーに届かない場合は、追跡を中断して巡回に戻る。という内容。
ただねぇ、いま最新バージョンのエンジンでやってるんだけれども、どうもフロー制御が微妙にイレギュラーな気がするんだよな。
たんに俺のブループリント構築ミスがあって、それに気づいていないだけかもしれないけど、仮にそうだとして、原因を特定しにくい。
7割は想定どおりに動いているけど、3割くらいなんでそうなるのか分からないフロー制御になるんだよね。
いろんなところにデバッグ文字列仕込んで調べたんだけど、この機能自体の問題としか思えない。
まぁ、とりあえずこのビヘイビアツリー7割は正しくうごいているので、そのまま進めて行きます。わはは。