参考動画
【ブループリント攻略講座】入門編 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