UE5でTPSゲームを作る Part1(自分用メモ)

今回からTPSゲーム制作を始めたので簡単に作業手順を示しておきます。色々と抜けてるので後で書き足します💦

実装する機能

・武器の装備
・発砲時のアニメーション
・発泡時のエフェクト
・発泡時のサウンド

モデルとアニメーションの準備(Idleアニメーション再生まで)

フォルダ作成とアニメーションの準備

1.好きな場所にAnimationsフォルダを作成する
2.ThridPersonのサンプルを選びプロジェクトを作成する
3.Lira Starter Gameをマーケットプレイスでダウンロードしてプロジェクトを作成する

Lira Starter Gameのプロジェクトからアニメーションをエクスポートする

1.ContentDrawerの検索窓の右側にある扇マークをクリックしてAnimationのAnimationSequenceを選ぶとアニメーションだけが表示される
2.左のフォルダをCharactorsを選択して必要なアニメーションに絞る
3.Ctrl+Aですべてのアニメーションを選択→右クリック→AssetActions→Bulk Export→Export Allを選んでAnimationsフォルダにエクスポートする

この時点でもうLira Starter Gameのプロジェクトは使わないので消してもよい

エクスポートしたアニメーションを最初に作ったプロジェクトにインポートする

1.ContentDrawerにAnimationsフォルダをドラッグ&ドロップ
2.Animationsの検索窓からSK_Mannequinを選んでImportAllでインポートしてセーブする

武器のモデルをマーケットプレイスでダウンロードしてインポートする

1.Miltliy Weapon SilverをダウンロードしてAdd to Projectで最初に作ったプロジェクトに追加する
2.ContentDrawerにMiltily Weapon Silverがあるか確認する

BlueprintsとAnimationsの準備してIdleアニメーションを設定する

1.ContentDrawer→右クリック→フォルダ作成→Blueprintsのフォルダを作成する
2.ThirrdPersonフォルダのBP_ThirdPersonを作ったばかりのBlueprintsフォルダにコピーする
3.フォルダのCharactor→Manekins→Animations→ABP_MannyをAnimationsフォルダにコピーする
4.BlueprintsフォルダのコピーしたBP_ThirdPersionCharactorをBP_Playerに変更する
5.AnimationsフォルダのコピーしたABP_MonnyをABP_Charactorに変更する
6.右側のWorldSetting→GameMode→DefalutPawnClassをBP_Playerに変更して虫眼鏡マーククリックしてBP_Playerを開く
5.左側のMeshを選択して右側のAnimClassのABP_Quinn_CをABP_Charactorに変更して動いてるか確認する
6.ABP_Charactorを開いて左側にあるAnimGraphをダブルクリック→Locomotionをダブルクリック→Idle→右側のAssetBrowserからMF_Rifle_hipfireドラッグ&ドロップしてOutputAnimationPoseに繋げる


ここでプレイするとIdleのみライフルを持ってるアニメーションに変わる

Idle以外のアニメーションの設定

SK_Mannezuinの作成

1.Animationsフォルダ→右クリック→Animations→Blend Space→SK_Mannequin(skeleton選んでBS_RifleWalkRunと名付けてファイルを開く
2.Horizontail Axisを以下の様に設定
Name = Direction
Minimum Axis Value = -180.0
Maximum Axis Value = 180.0
3.Vertical Axisを以下の様に設定
Name = Speed
Minimum Axis Value = 100.0
Maximum Axis Value = 500.0(こちらを先に変更する)
4.必要なアニメーションを右側の検索窓からMF_Rifle_Jog_Fwdを上にMF_Rifle_Jog_Bwdを最右上と最左上にMF_Rifle_Jog_Leftを左上にMFRifle_Jog_Rightを右上にドラッグ&ドロップ
5.必要なアニメーションを右側の検索窓からMF_Rifle_Walk_Fwdを下にMF_Rifle_Walk_Bwdを最右下と最左下にMF_Rifle_Walk_Leftを左下にMF_Rifle_Walk_Rightを右下にドラッグ&ドロップ


6.ABP_Charactorに戻り→Locomotion→Idle→Walk/Runに右側のBS_Rifle_WalkRunをさっき作ったBlendSpaceをドラッグ&ドロップして以下のようにする

7.アニメーションの修正
ABP_Charatorの右下のBS_Rfile_Jog_Fwdを開き左側のRoot MotionのEnableRootMotionとFoceRootLockにチェックする。これでその場で走っているモーションになるのでブレンドスペースで使ったアニメーションすべてに同じ様にチェックを入れる。

これで正常に武器をもった状態のアニメーションが再生されるようになる

武器を手に持たせる

1.Blueprints→BP_Playerを開きViewportを選択→左側からMeshを選択してAddを押してSkeltalMeshを追加してWeaponと名付ける
2.Meshを選択して右側のSkeltalMeshをSKM_Qunn_SimpleからSKM_Qunnに変更する
3.Weaponを選び右側のSkeltalMeshからAssauのt_Rifle_Aを選択
4.右側のSockets→Parent Socketsの虫眼鏡マークを押してWeapon_rを選択すると武器を持った状態になる
5.手にフィットするように位置と角度を調整する
以上で武器が手に持っていることを確認する

発泡処理

ボタンの割当

Edit→Project Setting→Input→Action Mappingの右の+をクリック→名前をFireにする→割り当てたいキーやマウスを押す(例えば左クリック)→LeftMouseButtonを選択

発泡のアニメーションが再生できるようにする

1.BP_Playerを開きInputMotion FireのPressedからPlayMontageを繋ぐ
2.ContensBlowerのAnimationsフォルダからMM_Rifle_Fireを選んだ状態で右クリック→Create→CreateAnimMontageを選択しファイルを作る
3.2で作ったファイルをPlayMontageのMontage to Playに設定する
4.左側のMeshをドラッグ&ドロップしてPlayMontageのSkeltal Mesh Componentを繋ぐ

発砲時のアニメーション再生時に動かないように修正する

1.BP_Playerを開き左側からCharactorMovementをドラッグ&ドロップしてそのノードから線を伸ばしてDisable Movementノードを作る
2.1で作ったノードをInputActionFireとPlayMontageの間にくるよう線を繋ぐ
3.CharactorMovementをコピペしてSetMovementModeノードを作る
4.3で作ったノードのNewMovementModeをNoneからWalkingにする

発砲時のエフェクトを出す

1.BP_Playerを開き左側からWeaponをドラッグ&ドロップしてそのノードからGetSocketTransformノードを作る
2.PlayMontageからSpawn Emitter at Locationを作る
3.GetSocketTransformのReturnValueを分割してLocationとRotationを2で作ったノードと繋ぐ
4.Spawn Emitter at LocationのEmitter TemplateにAssaltRfileMazzleFlashを選択

発射時のエフェクトの詳細位置を設定する

1.ViewPortタブで切り替えて左側のWeaponを選択して右側のMeshのAssaltRfileからファイルに飛んで開く
2.左側のMazzleFlashを選択して名前をコピーする
3.BP_Playerに戻りGetSocketTransformのin Socket Nameに3でコピーした名前をペーストする
もしエフェクトが出てなかったらエフェクトのファイルを開いてから再生する

発砲時のサウンドを鳴らす

1.BP_Playerを開きSpawn Emitter at LocationからPlay Sound Locationを繋いでSoundにRifleA_Fire_Cueを設定する
2.GetSocketTransformとPlay Sound LocationのLocationを繋ぐ
ここまでで発砲時のサウンドが鳴るようになる

最終的なBP_Player


実行結果

https://twitter.com/JY20160816/status/1581859264179544064

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索