UE4ゲーム制作入門四日目
一人UE4ゲーム制作入門アドベントカレンダー四日目です。
今日は敵を作りましょう。まずは自身の名前かコンテンツフォルダの下にEnemyフォルダを作ります。その中にAnimationフォルダとCharacterを親にしたBP_Enemyブループリントクラスを作ります。
見た目は、InfinityBladeAdversariesを使います。マーケットプレイスでInfinityと調べるとInfinityBlade関連が全部出るので選んでダウンロードしてください。
ただ、現在これは4.14には対応してないので、一度4.13でプロジェクトを作って追加したあと、今のプロジェクトに移行してきてください。
移行方法は、必要なアセットやフォルダをコンテンツブラウザ上で右クリックして、アセットアクションから移行を選ぶと、対象のプロジェクトを選ぶことになるので、移行したい先のプロジェクトのContentフォルダを選ぶと移行できます。
一部失敗するかもしれませんが、多分問題ないのでもとのプロジェクトに戻りましょう。
作ったBP_Enemyを開いて、Meshコンポーネントに今回はEnemy_Bearを使いましょうクマー。
できたら、アニメーションをつくっていきます。ABP_Bearというアニメーションブループリントを作ります。
中身は大体こんな感じに変数を作って、ステートごとにアニメーションを振り分けます(雑
遷移条件としては
IdleとWalk > Attack_CrossRange : isAttackが真のとき
Idle < Attack_CrossRange : isAttackが偽のとき かつ speedが10以下のとき
Walk < Attack_CrossRange : isAttackが偽のとき かつ speedが10より大きいとき
Idle > Walk : speedが10より大きいとき
Idle < Walk : speedが10以下のとき
なにかしらから > Death : isDeathが真のとき
テストしてないんで使ったとき動かなかったらまた、そのとき直します(ぇ
アニメーションのイベントグラフもこうします。とりあえず移動してくれるだけでいいので簡易的にします。
メイン画面にもどって、コンテンツブラウザのEnemyフォルダにAIコントローラを作ります。名前はBP_EnemyAIControllerにしておきます。
AIコントローラは、Playerコントローラとちがって、入力ではなく自身が設定した条件に従って自動でPawnを動かすためのクラスです。
今回は待機と移動アニメーションの確認のため、プレイヤーに向かってくるだけの簡単なAIなので、ビヘイビアツリーはまた今度使います。
それでは今回のAIはこれです!簡単ですね!
ではこれを使って敵を動かしてみましょう。BP_Enemyを開きます。コンポーネント画面の一番上の大本のクラスを選択します。すると、詳細画面に基本設定が出るので、PawnカテゴリからAutoProsessAIをPlaced in World or Spawnedに、AIControllerClassを先程作ったBP_EnemyAIControllerを設定します。
もしクマの移動スピードを変えたかったらCharacterMovementのWalkingのMaxSpeedを変更すると好きにできます。
コンパイル通したら、マップの適当なとこにBP_Enemyを配置してスタートしてみると、クマが襲ってきます。
成功だクマー。今回もアニメーション主体ぽいなぁ。そろそろゲームらしさを出していきたい。