ストアページへのリンクです↓
GameCreator1の拡張モジュールでAiの作成ができるアセットです。
Behavior いまいち分からない
Behaviorを使わない方がAiが作れてまう
敵Aiとしてランダムな場所に移動した後、立ち止まり4秒間砲撃をした後、またランダムな場所に移動を繰り返すという簡単なAiを作成しました。
ところが、どうしてもBehaviorTreeの丸1番の移動のステップに入ってくれない。かといって条件をなくすと立ち止まって砲撃をしてくれずに、移動を繰り返しながら砲撃をする動作になってしまう。と、思った以上にBehaviorでAiを作るのが難しくなっています。
これぐらいの簡単なAiであればむしろGameCreatorのビジュアルスクリプト機能で実装できてしまい、しかもBehaviorよりも理想的な挙動を作り上げることが今回はできました。
Behaviorの使い所とは?
Behaviorの良い点はノードベースで何度も判断を繰り返すような処理に向いています。
とはいえ初心者にはやや敷居が高く、簡単な動きなら今回のようにGameCreatorのビジュアルスクリプトで作れてしまいます。Behaviorでしか作れない複雑な動きや瞬間瞬間の判断などはBehaviorが向いていることはなんとなくわかりますが、初心者の今はいまいち使い所がよく分かりません。
作業を進める上でBehaviorでないと作れないものが見つかったらまた記事を出します。
ということで、スキルアップしてBehaviorを使いこなせるようになったらまた使い方記事を書こうと思っています。今回は備忘を兼ねて、Behaviorの使い所はどういったところなんだろう?とふと思いにふける記事となりました。参考にならなかったと思いますが、まあたまにはこんな記事があってもよいかと・・・。
Behavior 少しわかってきた?
ビジュアルスクリプトで作ると定期選択的に呼べない
Behavior = 時間経過に応じた行動の遷移を得意とする。
ビジュアルスクリプト = 時間経過ではなく、TriggerEnterなどの状況の変化から呼び出される行動の遷移が得意
定期的(流れる時間に対して)にコマンドを選択的に呼び出したいとき。ビジュアルスクリプトだと刻々と変わる時間の中で状況に応じたコマンド(Actions)の呼び出し・選択が不便。その時々に置いての状況判断ができない。コマンドを呼び出すタイミングがTriggerなどに依存するため、刻々と流れる時間に対しての呼び出しができない。
一方、Behaviorでは刻々と流れる時間に対して一定周期で変わっていく状況に応じたコマンド(Actions)の選択を行うことができる。
コメント