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が真のとき

テストしてないんで使ったとき動かなかったらまた、そのとき直します(ぇ

4_20161203163128e5b.png

アニメーションのイベントグラフもこうします。とりあえず移動してくれるだけでいいので簡易的にします。

3_20161203163003f27.png

メイン画面にもどって、コンテンツブラウザのEnemyフォルダにAIコントローラを作ります。名前はBP_EnemyAIControllerにしておきます。

AIコントローラは、Playerコントローラとちがって、入力ではなく自身が設定した条件に従って自動でPawnを動かすためのクラスです。

今回は待機と移動アニメーションの確認のため、プレイヤーに向かってくるだけの簡単なAIなので、ビヘイビアツリーはまた今度使います。

それでは今回のAIはこれです!簡単ですね!

5_20161203164303654.png

ではこれを使って敵を動かしてみましょう。BP_Enemyを開きます。コンポーネント画面の一番上の大本のクラスを選択します。すると、詳細画面に基本設定が出るので、PawnカテゴリからAutoProsessAIをPlaced in World or Spawnedに、AIControllerClassを先程作ったBP_EnemyAIControllerを設定します。

もしクマの移動スピードを変えたかったらCharacterMovementのWalkingのMaxSpeedを変更すると好きにできます。

8_20161203202828d6a.png

コンパイル通したら、マップの適当なとこにBP_Enemyを配置してスタートしてみると、クマが襲ってきます。

7_20161203202827912.png

成功だクマー。今回もアニメーション主体ぽいなぁ。そろそろゲームらしさを出していきたい。