見出し画像

Unreal Engine学習記録: BluePrintオンリーでFPSゲームを制作③

20220307、今日の進捗

・銃を撃った時の反動を実装するため、キャラクターのBPから直接アニメーションを呼び出せるようにする。具体的にはBPに新しい関数を作り、Animation Montageという機能を使う必要がある。

・Animation Montageはキャラクターの表情・手首から先の一部ボーンの動き等々にも応用できる。これに関しては、のちのオリジナル作品にて実装予定。

・BPが複雑になりすぎたら、Collapse to functionを使ってひとまとめの関数に纏めておく。引数と返り値を必要としない構造にすると整理が楽になる。

敵キャラクターに相当するPawnクラスを作成する。多くの場合Skeletal MeshでできているアクターはPawnで機能が足りる。

・敵キャラクター(ドローン)に着弾したときの反応を設定する。ライントレースでの当たり判定を敵キャラ側にキャストし、破壊された時の関数を呼び出すことで敵キャラを破壊できる。

プレイスホルダーとなる変数をメインキャラクター側に作り、そちら側からDronePawnにキャストすることで 2アクター間の橋渡しができる


20220308、今日の進捗

・敵のAIを実装する。SphereCollisionをBPに追加し、SphereCollisionのOverlap Eventに対応する様アクターの設定を変更する。

・敵が主人公を追跡、追いつくと自爆してダメージを与えるという敵キャラとしての機能を実装する。敵キャラの移動にはPawn Navigation, Navigation MeshというUE4上の機能を用いる。

NavMesh Bounds Volumeというアクターを配置し、アクティブ状態でPキーを押すとNavmeshが生成される。主人公以外のアクターはAIを設定すると、このNavmesh上のみを移動するようになる

・ドローンの動きをより自然に改良する。SetActorRotationを使って主人公を追従する他、Interpolationという機能で回転をスムーズにする

・ドローンを巡回させるルートを設置する。Linked Listという概念をUE4のアクターに適用し、ドローンが各アクターへ向かっていくようにする。ドローンが各アクターを訪れて次のアクターへ...という動作を繰り返すようにする。

・UIを配置する。主人公のHP、武器の残弾、クロスヘア等々ゲーム内の情報をプレイヤーに伝達するのに必須。UIの初期化は主人公のアクターがEvent BeginPlayを実行すると同時に実行される設定にする。

・敵キャラクターのHP・主人公の弾丸が敵キャラに与えるダメージを設定する。HP・ダメージを変数として保管する他、ApplyDamageという関数を主人側からキャストして使用する。

・主人公のHPを設定する。まずはCharacterHUD上にProgressBarを配置し、主人公のBPからキャストした値をHUDのBPへと繋ぐ仕組みにする

この記事が参加している募集

新生活をたのしく

この記事が気に入ったらサポートをしてみませんか?