続き。
今回は、腹から弾を出すのが不自然だから
アニメーションを設定して銃から弾を撃っていく感じにする
最終的にこうなる
目次
アニメーションを用意する
EpicGamesLauncherを開き、マーケットプレイスのEpicGamesコンテンツを開き
その中からこのアセットを探してプロジェクトに追加する
AnimStarterPackがプロジェクトに入った
アニメーションを適応する
プロジェクトに追加したアニメーションは、今使ってるSideScrollerCaracterにはそのままでは使えないので、リターゲットを行う。
参考ページ↓
今回はIdle_Rifle_Hipをリターゲットして、SideScrollerCharacterで使う
ThirdPerson_AnimBPを開き、AnimGraphでこんな感じでノードを組む
ボーン毎のレイヤードブレンドを選択し、詳細タブにある
LayerSetupを追加して、こんな感じに設定する
この手順により、腰から下は以前の歩いたり走ったりするアニメーションが流れて、腰から上は銃を構えるアニメーションが流れるというように合成できる。
※今回の処理では走る時に腕が揺れてしまうのであまりいい処理ではないが
このあたりの対処についてはControlRigを使うことで解決するため今はこのままでいく。
銃を用意する
アニメーションと同じくマーケットプレイスから取得していく。
今回使うのは無料→永続無料コレクションにあるこのアセット
アニメーションの時と同じようにプロジェクトに追加していく
他にも無料で銃っぽいアセットを提供している人はいるのでそれを使うのも〇
銃を持たせる
銃の追加が完了したら、手に持たせる必要がある。
そのために銃を右手にアタッチする作業を行う
スケルタルメッシュのスケルトンツリーの中からhand_rを探して右クリック
ソケットを追加する
ソケットは移動できるので、手のひらあたりに移動させておく。
また、ソケットの名前はWeaponとでもしておく。
ソケットを右クリックしてプレビューアセットを追加を選択し
その中からSK_AR4_Xを選ぶ
なんか持ち方が変なので、ソケットを動かしたり回したりして持たせてるっぽい位置にする
それなりに調整してこんな感じになるようにソケットを設定した。
銃に詳しい人には怒られそうだけど、今回はそういうのじゃないんで…
ただ、ここで銃を持ってるっぽい見た目になっても、ゲーム中で銃を持ってくれてない。
さっきまで持ってたじゃんと思うが、あれはプレビュー用のサンプルであって、本番のキャラクターには何も関係ないものだった。
SideScrollerCharacterを開き、StaticMeshComponentを追加、メッシュはさっきと同じようにSM_AR4_Xを設定。
ConstructionScriptでこんな感じに書くことによって…
ゲーム内で銃を構えることができるようになった。
銃から弾が出るように見せる
銃を構えたはいいものの、やはりまだ腹から弾が出ているので
これを銃から出てるっぽく見せる。
まずは弾が出てくる位置にソケットを設定する
Weaponのソケットの時と同じように調整し、銃の先端に置く
名前はMuzzleとする
SideScrollerCharacterのイベントグラフで弾を発射する処理を書いたが
それをこのような感じにする。
さっき作ったMuzzleソケットの位置から弾が生成されるようになる。
え?SpawnActorのピンの種類が違う?
SpawnTransformのピンの上で右クリックして、構造体ピンを分割を選べば同じようになる。
+α(やらなくてもいいけど、やると雰囲気UPのプラスアルファ)
銃を撃つときの反動っぽいアニメ出したいよね
ということでおさらい的にFireRifleHipのアニメーションをリターゲットしてくる
リターゲットしたFireRifleHipを右クリックして
作成する→AnimMontageを作成を選択し、アニメーションモンタージュを作成する
Montageを作ったらアニメーションスロットタブからスロットを追加を選び
Shotというスロットを作成する
そのままモンタージュのこの部分からスロットをさっき作ったShotに変更する
次はAnimBPで右クリックからMontageで検索し、
スロット'DefaultSlot'を選択する。
それをこう繋ぐ
そのあと、詳細タブのSlotNameをShotに変更する。
これで下準備が完了
SideScrollerCharacterに戻ってきて、弾を発射する処理のあたりに行く。
そこからモンタージュを再生を選択
球を発射する処理のすぐ後ろに設定する
Meshをピンにさすのも忘れずに。
これで攻撃をしてる感が出た
次回予告
今回でプレイヤーの基本的なアクションがそろったことになる。
なので、次からは敵を作り、敵が攻撃し、敵を倒せるというのをやっていく。
やっぱり文字と画像ベースじゃ長くなっちゃうね。