敵のランダムな徘徊方法!
~今回やりたい事~
・敵をうろうろ徘徊させる!!
以上!!(上から目線)
「ThirdPersonCharacter」をコピーし
コピーした奴に「Enemy」と名付けます。
「Enemy」を動かすためのコントローラー
「AIController」を作成します。
「Enemy_Con」と名付けます。
ビヘイビアツリー・ブラックボードを作成します。
ビヘイビアツリーには「Enemy_BT」
ブラックボードには「Enemy_BB」と名付けました。
「Enemy_Con」を開き
以下の処理を組みます。
これでブラックボードとビヘイビアツリーの使用が可能になります。
「Enemy_BB」を開きます。
「Vector」型のキーを追加します。
「RandomLocation」と名付けました。
「Enemy_BT」を開きます。
「新規タスク」を作成します。
コンテンツブラウザに作成された新規タスクがあるので
「RandomMove_BT_Task」と名付けます。
「RandomMove_BT_Task」を開きます。
以下の処理を作成します。
変数
後から編集しやすいように「MoveRadius」を編集可能に。
「RandomLocation」は絶対編集可能に。
じゃないと動きません。
「Enemy_BT」を開きます。
以下の処理を作成します。
「RandomMove_BT_Task」を選択し
画面右側にある詳細パネルを以下のように設定します。
「MoveTo」の詳細パネルを以下のように設定します。
ビューポートに戻ります。
AIを動かすための領域
「NavMeshBoundsVolume」をレベル内に配置します。
「NavMeshBoundsVolume」の大きさを
「20」ぐらいに設定します。
この豚箱の中を十分に覆いつくすぐらいの大きさですね。
「P」キーを押すと
AIの動ける範囲が緑色で表示されます。
「Enemy」を開きます。
「クラスのデフォルト」の詳細パネルの
「Pawn」項目内にある
「AI ControllerClass」を「Enemy_Con」に設定します。
これで「Enemy」は
「Enemy_Con」によって操作されるようになりました。
これでプレイしてみましょう!
うろうろうろうろ目障りなぐらいに移動してますね!^^
ちなみに
「RandomMove_BT_Task」の
「MoveRadius」の値を「5000」にすると
「Enemy」の移動距離が伸びます。
逆に「100」とか小さい数値にすると
移動距離が少なくなります。
いろいろいじって遊んでみてください^^
それではまた!^^ノシ