アセット紹介:Invectorの FSM AI

先日の半額セールでいっぱいアセット買ったので、ひさびさにレビューします。

FSM AI Template

https://assetstore.unity.com/detail/tools/ai/fsm-ai-template-123618

45ドル

 

昔買ってこりゃ性能いいなと思ったけどAIがついてなくて塩漬けにしてたInvector Third Person Controller

いつのまにかAIを実装できるアセットがリリースされてました。(去年夏からあったのか)

 

サンプルシーンは、

・NPCアクション

ぼーっとしてるNPCがいて、発砲すると音に反応して銃を取りに行ってその後高台まで移動、

こちらを狙ってきます(すぐは撃ってこない)逃げるとちょっと遅れてまた狙ってくる

死角を利用して後ろに回ると、こちらを見失います

 

・NPCアリーナ

銃と剣で集団戦闘するのを見物します。たまに勝手に転落死するやつもいる

スタート時に少しずつ登場してきて、死んだら(その数を数えてて)増援が来ます

 

・NPCカバーアクション

敵と味方のNPCが複数いて、障害物に身を隠しながらドンパチします。

グレまで投げてくる。死んだら増援が来る。かなりちゃんとゲームしてる

障害物にはカバーエリアとカバーポイントの2つのコンポーネントをアタッチして、NPCにカバーコンポーネントがアタッチされてるとカバーするようです。プレイヤーができるのかは不明

 

・NPCの感情

全員素手で、歩いてるNPCを殴ると逃げる/反撃します。

感情のアイコンが頭上に出ます

 

・NPCのスポーン 

歩いてるNPCを攻撃するとスイッチに向かい、倒す前にスイッチを押されるとポータルから増援が来ます。押したやつはその後逃げる

 

わー便利そう…!!!

 

AIのエディタも、わかりやすい…いや、ビヘイビアツリーじゃなくてFSMなので、多少わかりにくいかも

デバッグエディタ付きでプレイ中確認できるのはいいけど。

AIの種類は、

Add Health 回復する

Disable Weapon 武器を外して素手になる

Enable Weapon 武器を装備する

patrol パトロール

とか…上メニューInvextor>FSM AI>FSM Behaviorから自作で増やせます

まあ、わからなかったらサンプルのキャラのテンプレート丸写しできるんじゃないかな…見張りに射撃に近接に非武装市民と揃ってれば、大抵のTPSの体は実現できるのでは。

 

その他

・キャラにラグドール用コンポーネントをセットアップする、射撃武器・近接武器を作成するウィザードがついてます。インベクターはこのウィザードが強力で便利なんだよね。


・プレイヤー用体力ゲージつきFPSコントローラと腕モデルがついてます

 

・障害物はただ置いてあっても移動は遮るけど射線と射撃は遮ってくれず、レイヤーでBlockAIRayCastあたり選んでAI ShooterコンポーネントのDitectionに登録すると、視界を遮る障害物として認識されます。草むらとかカーテンとか、移動は遮らず視界は遮るものがあるとゲームっぽくなりますね。

 

・パトロールの巡回場所の指定は、FSMのAIとはまた別にWaypointというコンポーネントがシーンに必要で、NPCのAI ShooterコンポーネントのWaypointで座標を指定する必要があります。(インベクターTPCの方の標準機能)、

パトロールはFSMのAIとは別系統で制御してるので、地形が入り組んでたらAIとは別の調整も必要でしょう。

地形の認識にはUnity標準機能のナビメッシュを使ってます。地形をいじったら更新しないとキャラが地形を認識しません。

 

・キャラクターコントローラで使うけど、単独でも機能できる細かいスクリプトがついてきて、上メニューからアタッチできます。

 

Simple Trigger

オブジェクトにアタッチすると、ボックスのトリガーコライダーが自動でつけられて、タグとレイヤーで識別した何かが接触すると発動/離れると発動の2種類のイベントが操作できます。つまり、スクリプトを書かずしてある程度のイベントが操作できます。コライダーの形状大きさは指定できないかわりにrigidbodyがいりません。

 

Event with Delay ディレイつきのイベントシステムです。

外からイベント操作すると扱えるやつです。

c#は一定時間待って実行、というのやろうとするとコルーチンとか不毛にめんどいんですっけ

 

Rotate アタッチしたオブジェクトが単に回転します。背景オブジェとかおちてるアイテムとか目立たせるやつです(staticだと機能しません)

 

Look At オブジェクトがカメラの方をゆっくり向きます。複数のカメラがあっても指定できないようです。ビルボード的な使い方するのかな?

 

Destroy Derayのカウントの後自分を削除して、かつ何らかのイベントを作動させられます。非アクティブにして、外からイベントで作動させて使うやつです

 

Instantiate プレハブを指定して一つだけ生成します。位置は指定できず、実行するフラグが付いてるのみで、外からイベントで作動させて使うやつです。スポーナーとして複数生み出せるでもなく、装備武器のドロップとかに使うのかな?

 

Set Parent アタッチしても何も見えず操作できませんが、指定したオブジェクトの子にする、親子を解除する、などのイベントが入ってます。外からイベント操作すると扱えるやつです。拾ったアイテムを手に装備とかに使うのでは

 

Play Random clip 登録した複数のオーディオをランダムに一つだけ再生します。微妙に違う音を出すと都合がいい足音なんかに使うやつかな

 

Reset Trasnform

スタート時の位置を記録してて、そこに戻します。非アクティブにしてイベントで作動させるやつです。

 

MessageSender/Reciever 

外部のスクリプトに命令できるというSendMessageを、テキストエディタを開かずして可能にするんじゃないかと予想します…じゃあRecieveMessageは?

 

・できるだけスクリプト書かなくて済むように頑張ってるんだなーと感じました

うまくおまけスクリプトを使えば、スコア計算やシーンチェンジのアセットとやり取りして、ノンコードで本格ゲームが作れるのではという気にさせてくれます。

 

マニュアルは実質pdfなので翻訳できない

https://www.invector.xyz/aidocumentation

 

・互換性ですが、2018.4では正常に動いたけど、2017.4だとカバーだけ機能しませんでした。インベクターTPCの方は2017.4でも正常に動きますが、FSM AIがなにか上書きするのか、挙動が変でした。

そしてレビューでは2019に対応してねーから星1つとか、無体な

 

このアセット、AIだけといわず射撃と近接のNPCが入ってるので、これだけでもいいのかな?と思いましたがどっこい、キャラを動かすのに大量のコンポーネントをセットアップする必要があって、そのキャラクリエイトのツールがはいってないです。

最低限のモーションしかない、コンボ技を出すコントローラもないので、別途キャラクターコントローラが必須ということのようです。

仕様的に、別のキャラクターコントローラにこのAIが取り付けられるかは不明。難しいかも。

 




0


≪ GameMaker 2に挑戦 作品一覧 次の作品 ≫
Twitterでシェア!



"kelorin jo BTA" is creating "Unity・MMD向けステージモデル"
UnityやMMDなどで使える箱庭モデルを作っています。それとデジタル原型師もしてます
kelorin jo BTA is creating Unity・MMD向けステージモデル

UnityやMMDなどで使える箱庭モデルを作っています。それとデジタル原型師もしてます
お支払い方法
 クレジットカード
 銀行振込
 楽天Edy決済
 デビット&プリペイドカード(Vプリカ等)
  支援はいつ開始してもOK!
  Entyで支援すると約1.5倍以上オトク!
詳細