見出し画像

UE5 新規プロジェクトメモ


初期設定

新しくLevelを作成

Content DrawerでMapsフォルダ作成 -> Mapsフォルダの中で右クリック -> Levelを作成 -> 名前は任意に決める。今回は防衛ゲームを作るのでGuardGameとした -> ダブルクリックしてそのレベルへ

ライトの配置

Window -> Env. Light Mixer -> MinimalのLight5つを追加

  • DirectionalLight

  • ExponentialHeightFog

  • SkyAtmosphere

  • SkyLight

  • VolumetricCloud

Landscape Mode

Selection -> Landscape に変更

問題なければそのままcreateする。

Player Startの設置

左上にあるQuicly add to the project.のアイコン -> Basic -> Player Start

Player Start アイコンから

もしくは、画面を右クリック -> Player Actor -> Player Start

Player Start 右クリックから

DefaultのClassやMapを変更

Blueprintsフォルダを作成

  • 右クリック->Blueprint class->Game Mode Base->BP_GameModeにする

  • 同上->PlayerController->BP_PlayerControllerにする

  • 同上 -> Character -> BP_PlayerCharacterにする

  • 同上 -> ALL CLASSESからGameInstanceを選択-> BP_GameInstanceにする

上記とLevelを置き換えていく
Edit -> Project Settings -> Maps & Modes -> Default GameModeをBP_GameModeに変更

BP_GameModeのセット

Selected GameModeを開いて
Default Pawn Class -> BP_PlayerCharacter
Player Controller Class -> BP_PlayerController

Default Pawn ClassとPlayer Controller Classを変更

Default Mapsの二項目を変更
Edtior Start MapをGuardGame(新規で作ったレベル)に変更
Game Default MapをGuardGame(新規で作ったレベル)に変更

Default Mapsの変更

Game Instance Class -> BP_GameInstanceに変更

BP_GameInstance

キャラクターの用意

マーケットプレイス

マーケットプレイスでマネキン アセット パックがあるのでこれをプロジェクトに追加

マネキンアセットパック

ContentフォルダにControlRigが生成されるのでその中にマネキンアセットパックが入っていることが確認できる

マネキンのコピー

Charactersフォルダの作成
ControlRig/Characters/Mannequins/に移動
SKM_MannyとSKM_QuinnをCharactersフォルダにコピー

BP_PlayerCharacterにマネキンを設定

BP_PlayerCharacterでViewportを開く
DetailsのMeshのSkeletal Mesh AssetにSKM_Quinnをセット

Skeltal Mesh AssetにSKM_Quinn


マネキンが浮いているので地上につける

Transform->Location z-> -70
Transform->Rotation z-> -90

カメラの設定

Addアイコンを押してSpring Armを追加。Spring ArmはMeshの子にする必要はない。どっちが良いかは不明

Add Spring Arm

Spring ArmにCameraを追加

Spring Armの設定


Spring Arm Lengthを400にする
Transform -> Location z-> 9

入力による移動 EnhancedInput

Inputファイルの作成

Inputフォルダ作成
Input/Actionフォルダ作成
Input->InputMappingContextを作成->IMC_Defaultにリネーム
Actionフォルダ移動 Input->Input Action作成->IA_Moveにリネーム
IA_Moveを開いてValue Type -> Axis2D(Vector2D)
Input Action作成->IA_Lookリネーム
IA_Lookを開いてValue Type -> Axis2D(Vector2D)

Input Mapping Contextの設定

IMC_Defaultを開く
MappingsにIA_Move追加
以下を追加していく
W->Modifiresに「Swizzle Input Axis Values」追加
S->Modifiresに「Swizzle Input Axis Values」「Negate」追加
A->Modifiresに「Negate」追加
DはModifiresに追加はしない

MappingsにIA_Look追加
Mouse XY 2D-Axis->Modifiresに「Negate」追加

ブループリントの設定

Add Mapping ContextノードのMaping ContextにIMC_Default

Enhanced Input と Camera Input
Movement Input

アニメーション

アニメーションブループリント作成

Characters/Animationsフォルダを作る
Animationsに移動
右クリック->Animation->アニメーションブループリント
SK_Mannequinを選択
Parent Classを開いて -> APB_Mannyを選択
ファイル名はABP_MyQuinn

BP_PlayerCharacter(Self)を選択

Animation -> Anim Class -> ABP_MyQuinnを設定
Pawn -> Use Controller Rotation Yawのチェックを外す

Character Movement(CharMoveComp)

Orient Rotation to Movementにチェック

Orient Rotation to Movementは、キャラクターの向きが移動方向に自動的に合わせられるかどうかを制御します。このオプションが有効(チェックされている)場合、キャラクターは移動するときに自動的に移動方向に体を向けます。これは特に三人称視点のゲームで役立ち、キャラクターが前進する方向に向きを調整することで、より自然な移動感を演出できます。
たとえば、Orient Rotation to Movementが有効な場合、プレイヤーが左に移動する入力をすると、キャラクターも左を向いて移動します。この機能は、キャラクターが移動している間に常にその移動方向を向くようなゲームプレイ体験を提供するためによく利用されます。
Orient Rotation to Movementが有効である場合、通常はUse Controller Rotation Yawを無効にします。これにより、キャラクターの向きはプレイヤーのカメラの向きではなく、キャラクターの移動方向に依存することになります。逆にUse Controller Rotation Yawが有効である場合、キャラクターはプレイヤーコントローラーの向きに合わせて回転するため、Orient Rotation to Movementの設定は無視されます。

Ignore Base Rotationをチェック

Ignore Base Rotationは、プラットフォームや移動可能なオブジェクト(例えばエレベーターや回転するプラットフォームなど)の上にいるキャラクターがそのオブジェクトの回転に影響されるかどうかを制御します。このオプションが有効(チェックされている)場合、キャラクターはベースとなるオブジェクトの回転に従わず、常にワールドに対する絶対的な方向を保ちます。これは、例えばプレイヤーが回転するプラットフォームの上で自分の方向を保ち続けたい場合に便利です。


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