閲覧いただきまして、ありがとうございます。
今回は、敵キャラクタのフリップブックとブループリントクラスを作成して、
前回作成したAI機能を搭載したAIコントローラーブループリントに組み込む作業をしていきたいと思います。
AI機能について ↓
【UE5】AI ブラックボードとビヘイビアツリー (13) - aki★'s technical-Lab (akihisa-h.com)
UnrealEngine5 ゲーム開発はじめました。数えてシリーズ16回目の投稿になります。
敵キャラクターのフリップブック作成
敵キャラクタ(Enemy)のフリップブックを作成しておきます。
フリップブックの作成について ↓
【UE5】スプライトアクションとフリップブック設定 - aki★'s technical-Lab (akihisa-h.com)
敵キャラクターのブループリント作成
敵キャラクターのブループリントをPlayerで作成したブループリントを複写して作成します。
※名前を付けます。(Enemy~_BP)
※コンポーネントのCamera、SpringArmを削除しておきます
※イベントグラフタブを開いて、すべてのノードを削除しておきます。
※PlayerでPaperZDを使用していたので、
AnimationComponent(Animation)の▼PaperZD Anim Instance Classを「None」
にしておきます
AIコントローラー ブループリントの作成と設定
新規ブループリントクラスを作成します。
親クラスを選択
▼すべてのクラス
aicontroller を検索して、選択します。
↓
名前をつけておきます。
敵キャラクタのブループリント(Enemy_~_BP)を開きます。
ポーン
AI Controller Class に
Enemy_AIController_BP をセットします。
これで、Enemy_Bat1_BP に AI Controller Class を設定できました。
(余談ですが・・・)
AI機能を使って自動でアクターを動かすためには、レベルマップ上に、Nav Mesh Bounds Volume の設置が必要です。
設定するレベルマップにて、追加→ボリューム→Nav~を選択します。
ナビゲーションメッシュは、追加しただけではうまく機能しません。
ステージを覆い包むようにナビゲーションメッシュの位置と大きさを調整する必要があります。
表示→ナビゲーションにチェックをつけることで範囲の確認ができます。
敵キャラクターのブループリント(Enemy_Bat1_AIController_BP) を開いて、
イベントグラフを編集していきます。
BeginPlayノードよりRun Behavior Tree ノードを追加します。
BTAsset に先ほど作成した[Enemy_Bat1_BehaviorTree]を
設定します。
ビューポートに、Pawn Sensing を追加します。
※ Pawn Sensing とは、Actorに「視覚」「聴覚」などの感覚を与えることができるコンポーネントです。
今回は、AIの視覚して、「キャラクターが視界に入ってきたら、ビヘイビアツリーで定義した行動を取るという実装をします。
+追加をクリック
PawnSensingを選択して、追加します。
追加されたPawnSensingを選択して、右クリック
↓
イベントを追加より「OnSeePawn」を追加します
↓
イベントグラフに、「OnSeePawn」ノードが追加されます。
Cast To TopDownCcharacter_BP ノードを追加
Playerのブループリントをキャストすることで、
アクセスすることができるようになります。
↓
Set Value as Object ノードを追加します。
ObjectValue入力ピンに接続することで
プレイヤーをObject型として扱うことができるようになります。
BlackBoardと関連付けします。
Get a reference to self ノード(自分自身の情報を参照するためのノード)を追加して
↓
get blackboard ノードを追加します
▼変数→AI→GetBackboardを選択します。
set value as object ノードのターゲットピンに接続します。
Make Literal Name ノードを追加して、名前をPlayerとします。
set value as object ノードの Key nameピンに接続します。
これで、Playerという名前のObject型のKeyにTopDownCharacter_BP を設定することができました。
Enemy_Bat1_BPをマップ(Main01)レベル上に適当な場所に
配置します。
テストプレイすると、敵キャラクタがプレイヤーに向かって
いくようになりました。
今回は、敵キャラクターをAIコントローラーブループリントでオート動作するしくみを実装してみました。
それでは、また。
【UE5】UnrealEngine5でゲーム開発始めました - aki★'s technical-Lab (akihisa-h.com)