Open3

Unreal Engine 5 でTPSゲームのフレームワークを作成する

アイザムアイザム

概要

このスクラップシリーズでは、Unreal Engine 5を使っている方向けに、
同エンジンを用いてTPSゲームを作成する方法を解説していきます。
可能な限りスクラップ1枚ごとで完結するモジュラー指向で書いていきます。

前提

  • UnrealEditorの使い方やノードなどを大体把握していること。
  • より最適化されたゲーム制作をしたい方。
    • あくまで筆者のノウハウなので、より最適化出来る可能性があります。
  • プラグイン等を使用する場合があります。出来るだけ無料のプラグインを使用していますが、一部は有料です。

参考文献(随時追加予定)

https://github.com/akenatsu/ue4-style-guide

アイザムアイザム

プロジェクト作成

  1. 「Blank」プロジェクトを作成。
  2. 「プラグイン」を開いてOpenImageDenoiseのチェックを外す。
  3. 「新規レベル」を開いてBasicを選択。
  4. 「コンテンツ」フォルダ内にMapsという名前でフォルダを作成する。
  5. 「現行レベルを保存」を押して、「Maps」フォルダにDebugと名前を付けてレベルを保存。
  6. 「プロジェクト設定」を開いて、「マップ&モード」を開き、
    「エディタのスタートアップマップ」を「Debug」に設定。
  7. エディタを再起動する。以上で最低限のプロジェクト設定が完了。

解説

  1. 余計なアセットは容量の増加やゲーム制作時の混乱を生むので、Blankプロジェクトから始めるとスッキリします。
  2. OpenImageDenoiseプラグインは画像処理等でしか使わないにもかかわらず、容量がかなり多いので、プロジェクトから削除します。
  3. 空のレベルでも良いですが、光源配置等が面倒なのでBasicを選択しています。
  4. アセットマネージャーはレベルを「Level」表記はせずにMaps表記を行っていますので、それに従いましょう。
  5. 必ず全レベルを「Maps」フォルダ内に保存しましょう。パッケージ化の際のフォルダ指定が非常に楽になります。
  6. エディタのスタートアップマップを作業用の軽量マップにしておくと再起動等を挟んでもすぐに作業を再開できます。
アイザムアイザム

操作設定

  1. 「Content」フォルダ内でCoreフォルダを作成し、その中にInputフォルダを作成。
  2. 右クリック→入力→入力アクションを2つ作成、それぞれIA_MoveIA_Lookと名付ける。
  3. 2つを開いてどちらも「Value Type」を**Axis 2D (Vector2D)**にセット。
  4. 「Input」フォルダ内で右クリック→入力→入力マッピングコンテキストを作成、IMC_Movementと名付ける。
  5. Mappingsで画像のように設定する。
  6. 「Core」フォルダ内でGameModeフォルダを作成。
  7. 右クリック→ブループリントクラスからGameModeBasePlayerControllerの子ブループリントを作成。それぞれBP_GameModeBaseBP_PlayerControllerと名付ける。
  8. 「BP_GameModeBase」のPlayer Controller Classを「BP_PlayerController」にセットする
  9. BP_PlayerControllerを開き、Float変数を作成しSensitivityと名付ける。
    デフォルト値は0.25とする。
  10. 以下のようにノードを組み、完成。

解説

  1. Player Controllerに基本操作を設定しておくことで、どのキャラクターに対しても同じ操作方法を適用できます。
  2. 作成したPlayer ControllerはGameModeBaseで登録しておかないと使用されません。
  3. この変数は視点操作感度となります。次いでにスライダーと値の範囲を0-1にしておくと良いです。