前回の続きでUnity SteerでどのようにAIを使うことが出来るか引き続き紹介をしたい。
まずは前回も紹介したWeb Player Demoを再掲する:
紹介リンク
http://arges-systems.com/blog/2010/10/19/unitysteer-20-multiple-agents-example/
デモでどのようなAIを使用しているかというと:
ビヘイビア(振る舞い)を状況に応じて切り替え、キャラクターを制御している。
シーンに4種類のビヘイビアスクリプトがあり、全てのキャラクターにアタッチされている。
・自由に方向を変えながら移動する=放浪(SteerForWander)
・他のキャラクターを回避する=隣人回避(SteerForNeighborAvoidance)
・他の障害物を回避する=障害物回避(SteerForSphericalObstacleAvoidance)
・キャラクターがお互いに離れすぎないようにする=束縛(SteerForTether)
なお、
デモで「1」を押すとデフォルト設定にて77キャラクターが登場するか「2」を押すと154キャラクターで同様のシーンが表示され、処理負荷が重くなるが十分処理出来る環境かが確認できる
最初のキャラクター生成時の配置はランダムに行われており、延々とキャラクター同士はぶつからずに進んでいく。
デモから学べることは至極単純で、Unity Steerでは複数のビヘイビアスクリプトが用意されていて、使用したいものをキャラクターにアタッチすることで様々なキャラクター制御がなされる仕組みとなっている。
どういう組み合わせにするかをは自身のゲームに必要な動きを考えることになるが、パックマンで例えると、ずっと追いかけてくるゴーストが特別アイテムの入手をきっかけに一転して逃げるようになる行動を取らせることなどイメージしやすいのではないかと思う。
次回はさらに他にどのようなスクリプトが用意されているかについて引き続き紹介したい。
AIを組み込むことで開発者も楽しみながら学べるぞ!
0 件のコメント:
コメントを投稿