CG関係の備忘録ブログ

主にZBRUSH、blender

UE5 入門講座①

参考動画

【ブループリント攻略講座】入門編 Part1/2 キャラクターの移動【プログラミング未経験者のためのゲーム制作動画】【Unreal Engine】 - YouTube

 

準備

UE5起動

ゲーム→サードパーソン
動作確認

 

新規レベル

ファイル→新規レベル→Basic
保存先フォルダをつくる(Maps)
左上のフロッピーボタンを押す

開いたときにこのレベルが表示されるように
編集→プロジェクト設定
プロジェクト→マップ&モード→DefaultMaps
マップを自分のに変更し、×ボタンで閉じる

 

初期設定
BluePrintフォルダを作成
①RM→ブループリントクラス→
GamemodoBaseを選択、名前をBP_MyGameMode
②RM→ブループリントクラス→PlayerControllerを選択、名前をBP_PlayerController
②RM→ブループリントクラス→Characterを選択、名前をBP_Player

BP_MyGameModeを開く
右側クラスのPlayerControllerClassをBP_PlayerControllerに設定
〃DefaultPawnClassをBP_Playerに設定
コンパイル
これでBP_PlayerControllerがBP_Playerを管理する

ワールドセッティング
ゲームモードオーバーライドをBP_MyGameModeに設定

 

キャラクター設定
BP_Playerを開く
左側のMeshを選択、右側のスケルタルメッシュでメッシュを選択
青い矢印方向にむけ、高さを合わせる
コンポーネントの追加ボタンでSpringArmを選択、名前をCameraBoom
CameraBoomの子になるようにCameraBoomを選択した状態でコンポーネントの追加ボタンを押し、Cameraを選択
CameraBoomはカメラとプレイヤーの間に障害物があったら自動的に調整するらしい(これ厄介かも)

キャラクターの移動
編集→プロジェクト設定
エンジン→インプットのデフォルト設定を一旦削除する。アクションマッピングと軸マッピングのゴミ箱ボタンで一括削除

マッピング
+ボタンを押し名前をMoveForward、キーボードをWに設定
さらにMoveForwardの+ボタンを押しキーボードをSに設定、Scaleを-1にする。ゲームパッド左サムスティックY軸を設定

マッピングの+ボタンを押し名前をMoveRight、
同様にD,A、ゲームパッドX軸を割り当てる

ゲームパッドのみ割り当ては割愛

マッピングの+ボタンを押し名前をLookUp、マウスYを割り当てScaleを-1にする。

マッピングの+ボタンを押し名前をTurn、マウスXを割り当てScaleを1にする。

アクションマッピング
アクションマッピング+ボタンを押し名前をJump、キーボードのSpaceを設定

×ボタンで閉じる

 

アニメーションなしで移動をつくる
イベントグラフのデフォルトノードを削除
RM→軸イベントMoveForward(先に設定したもの)
※値を確認するため、プリントストリングを設定

AddMovementInputをつなぐ
※試しにxに1を入れプレイすると前に進む
AxisValueとScaleValueをつなぐ

スピードの設定はコンポーネントのCharacterMovementを選択、右側のキャラクタームーブメント:歩行のMaxWalkSpeedで調整する

GetControlRotationを追加、ReturnValueでRM→構造体ピンを分割
GetForwardVectorを追加、InRotでRM→構造体ピンを分割しZ同士をつなぐ
ReturnValueとWorldDirectionをつなぐ

RM→軸イベントMoveRight

GetRightVectorを追加、ピンを分割しGetControlRotationのZ同士をつなぐ

AddMovementInputをコピペ、MoveRightとつなぐ
AxisValueとScaleValueをつなぐ
GetRightVectorのReturnValueとWorldDirectionをつなぐ


RM→軸イベントLookUpを追加、AddControllerPitchInputを追加、それぞれつなぐ

RM→軸イベントTurnを追加、AddControllerYawInputを追加、それぞれつなぐ

アクションイベントJumpを追加し、Pressedから引っ張り、Jumpをつなぐ。Releaseから引っ張りStopJumpingをつなぐ

コンパイル・セーブ
WASD、マウス、Spaceキーで移動、視点、ジャンプを確認

改善(移動方向に向き、マウスで全方位を見れる)
コンポーネントのBP_Playerを選択、ポーンのUseControllerRotationYawのチェックを外す
※入れたままだとコントローラの回転方向にキャラクターの回転が固定される

コンポーネントのCameraBoomを選択、カメラセッティングのUsePawnControllerRotationのチェックを入れる
※外れたままだとプレイヤーの背中を写そうとするのでチェックを入れる

コンポーネントのCharacterMovementを選択、キャラクタ移動(回転設定)のOrientRotationToMovementのチェックを入れる
※入れると回転方向にキャラクターが向く

GetWorldDeltaSecondsはフレームレートの1フレームに相当する時間を返す
※フレームレートの変更
t.MaxFPS NN

ジャンプの高さ変更
キャラクタムーブメント(跳躍/落下)
※高さではなく加速度。初期値は420cm/s