Unreal Engine 5で3Dアクションゲームを作ろうとすると、最初からやることが多すぎるように感じます。
攻撃を作る。
敵AIを作る。
アニメーションを作る。
カメラを調整する。
UIを作る。
ステージを作る。
こう並べると、いきなり完成品を作らないといけないように見えます。
でも、最初から全部作る必要はありません。
UE5で3Dアクション制作を始めるときに、まず見るべきものは次の3つです。
- 入力
- キャラクター
- レベル
この3つが見えると、サードパーソンテンプレートは「最初から動くサンプル」ではなく、「3Dアクション制作の地図」として見えるようになります。
この記事では、UE5の3Dアクション制作を始めるうえで大事な、入力からキャラクターが動き、レベル上で確認できるまでの流れを整理します。
UE5のテンプレートは最初から動く。でも、そこで止まりやすい
UE5のサードパーソンテンプレートを開くと、キャラクターは最初から動きます。
WASDで移動できる。
スペースキーでジャンプできる。
マウスでカメラを動かせる。
ここまではすぐ確認できます。
ただ、問題はその後です。
「動くことはわかった」
「でも、なぜ動いているのかわからない」
「どこを触れば改造できるのかわからない」
ここで止まる人はかなり多いと思います。
テンプレートを使うこと自体は、まったく悪いことではありません。むしろ初心者にとってはかなり良い入り口です。
ただし、キャラクターが動いたことだけを見て終わってしまうと、その先で詰まりやすくなります。
大事なのは、テンプレートの中にある「動くまでの流れ」を読むことです。
3Dアクション制作の最初の目的は「検証できる状態」を作ること
3Dアクション制作の最初の目的は、完成度の高いゲームを作ることではありません。
まずは、次の状態を作ることです。
入力したらキャラクターが動いて、レベル上で確認できる状態
これができると、ゲーム制作は一気に進めやすくなります。
なぜなら、攻撃も、敵AIも、アニメーションも、エフェクトも、最終的にはすべて「入力」「キャラクター」「レベル」の土台の上に乗るからです。
たとえば、攻撃を作るとしても、まずは「攻撃入力」が必要です。
攻撃を実行する「キャラクター」も必要です。
そして、攻撃が出たかどうかを確認する「レベル」も必要です。
つまり、最初に作るべきなのは完成品ではなく、試せる土台です。
最初に見るべき3つ:入力・キャラクター・レベル

UE5で3Dアクション制作を始めるときは、まず次の3つに分けて考えると理解しやすくなります。
1. 入力:プレイヤーの意思をゲームに渡す

入力は、プレイヤーの意思をゲームに渡す入り口です。
前に進みたい。
視点を動かしたい。
ジャンプしたい。
攻撃したい。
こういった「プレイヤーが何をしたいか」をゲーム側に伝えるのが入力です。
3Dアクションは、プレイヤーが操作して初めて成立します。
だから、最初に見るべきなのは「どのボタンを押したら何が起きるのか」ではなく、まず「プレイヤーが何をしたいのか」です。
2. キャラクター:入力を受けて動く本体

入力だけがあっても、動く対象がなければゲームにはなりません。
キャラクターは、プレイヤーの入力を受けて、実際にゲーム世界の中で動く本体です。
移動する。
向きを変える。
ジャンプする。
攻撃する。
被弾する。
こういった処理を実行するのがキャラクターです。
入力とキャラクターは、分けて考えるとかなり理解しやすくなります。
入力は「何をしたいか」。
キャラクターは「実際にどう動くか」。
この分け方ができると、テンプレートの中身も読みやすくなります。
3. レベル:動きを確認する場所

レベルというと、背景やステージ制作をイメージしがちです。
もちろん最終的には、ステージ、背景、ギミック、オブジェクトなどを作り込んでいくことになります。
ただ、最初から世界観を作り込む必要はありません。
最初のレベルは、キャラクターの動きを確認する実験場です。
床がある。
壁がある。
段差がある。
キャラクターが動ける。
まずはこれだけで十分です。
最初のレベルは、世界観を作る場所というより、操作が成立しているかを見る場所です。
キャラクターが動くまでの流れ

UE5で入力してからキャラクターが動くまでの流れは、ざっくり次のように整理できます。
- IA:何をしたいか
- IMC:どのボタンでやるか
- Controller:入力を受け取る窓口
- Character:実際に動く本体
- Level:結果を確認する場所
ひとつずつ見ていきます。
IA:何をしたいかを表す

IAはInput Actionのことです。
ここで大事なのは、IAはキーそのものではないということです。
IAは、ゲーム内で「何をしたいか」を表します。
たとえば、次のようなものです。
- IA_Move:移動したい
- IA_Look:視点を動かしたい
- IA_Jump:ジャンプしたい
- IA_Attack:攻撃したい
IA_Moveは、Wキーそのものではありません。
IA_Moveは「移動したい」という入力の意味です。
この考え方を持っておくと、入力まわりがかなり整理しやすくなります。
IMC:どのボタンでやるかを決める

IMCはInput Mapping Contextのことです。
IMCでは、IAと実際のボタンを結びつけます。
たとえば、次のような対応です。
- IA_MoveをWASDや左スティックに割り当てる
- IA_Lookをマウスや右スティックに割り当てる
- IA_Jumpをスペースキーやゲームパッドのボタンに割り当てる
つまり、IMCは「このボタンを押したら、この入力として扱う」という対応表です。
IAが「何をしたいか」だとすると、IMCは「どのボタンでやるか」です。
この2つを分けて見ると、入力設定がかなり理解しやすくなります。
Controller:入力を受け取る窓口

Controllerは、プレイヤーの入力を受け取る窓口です。
プレイヤー操作の場合は、主にPlayer Controllerとして見ます。
たとえば、Controllerでは次のような流れになります。
- IA_Moveのイベントが来たら、キャラクターに移動してと伝える
- IA_Jumpのイベントが来たら、キャラクターにジャンプしてと伝える
- IA_Attackのイベントが来たら、キャラクターに攻撃してと伝える
つまり、Controllerは入力とキャラクターの間にいる中継役です。
キャラクターに全部書いても動かすことはできます。
ただ、3Dアクションとして拡張していくなら、入力を受け取る場所と、実際に動く場所を分けて見ておくと、後で迷いにくくなります。
Character:実際にゲーム世界で動く本体

Characterは、ゲーム世界の中で実際に動く本体です。
Controllerが入力を受け取り、Characterに命令を渡す。
Characterはそれを受けて、移動したり、向きを変えたり、ジャンプしたりします。
ここで大事なのは、ControllerとCharacterの役割を分けて考えることです。
Controllerは入力を受け取る。
Characterはゲーム世界で動く。
この2つを分けて考えると、テンプレートの中身がかなり読みやすくなります。
Level:結果を確認する場所

Levelは、ただの背景ではありません。
入力があり、Controllerが受け取り、Characterが動く。
その結果を確認する場所がLevelです。
最初のレベルでは、見た目の作り込みよりも、検証しやすさを優先した方がいいです。
床がある。
段差がある。
壁がある。
キャラクターが移動できる。
このくらいのシンプルな状態でも、十分に意味があります。
特に序盤は、グレーボックスのような簡単な形で構成して、キャラクターの動きや操作感を確認できる状態にするのがおすすめです。
サードパーソンテンプレートで確認する流れ
ここまでの話は、UE5のサードパーソンテンプレートで実際に確認できます。
まず、Epic Games LauncherからUE5を起動し、新規プロジェクトで「ゲーム」→「サードパーソン」を選びます。


プロジェクトを作成すると、最初からキャラクターが配置されたレベルが開きます。
再生ボタンを押すと、WASDで移動、スペースキーでジャンプ、マウスでカメラ操作ができます。


ここで大事なのは、「動いた」で終わらせないことです。
次に見るべきなのは、次の3つです。
- 入力がどこにあるか
- キャラクターがどこで動いているか
- レベル上で何を確認しているか
サードパーソンテンプレートでは、コンテンツドロワーからThirdPerson関連のフォルダを開くと、キャラクターのブループリントや入力関連のアセットを確認できます。

たとえば、ThirdPersonCharacterを見ると、移動やジャンプなどの入力に対して、キャラクターがどう反応しているかを確認できます。
また、入力アクションを見ると、Move、Look、Jumpのように「何をしたいか」が定義されていることもわかります。

ここで確認したいのは、細かいノードの置き方ではありません。
見るべきなのは、
入力があり、キャラクターが受け取り、レベル上で結果を確認できる
という流れです。
この流れが見えると、テンプレートはただのサンプルではなく、自分で改造していくための地図として見えるようになります。
Epic Games Launcher
ダウンロードページ:https://store.epicgames.com/download
サードパーソンテンプレートは「完成品」ではなく「教材」として見る

UE5のサードパーソンテンプレートには、ここまでの流れが最初から入っています。
だから、テンプレートを使うのはかなり良い入り口です。
ただし、テンプレートは完成品として見るより、教材として見る方が役に立ちます。
「なぜキャラクターが動いているのか」
「入力はどこで定義されているのか」
「キャラクターはどこで動いているのか」
「レベル上で何を確認しているのか」
こういう視点で見ると、テンプレートはただのサンプルではなく、自分で改造していくための地図になります。
動いた、すごい、で終わらせない。
動いている仕組みを読む。
ここが、UE5で自力で作っていくための大事な一歩です。
今回あえてやらないこと

今回は、攻撃、敵AI、アニメーションの作り込みまでは扱いません。
理由はシンプルです。
その前に、まず入力したらキャラクターが動いて、レベル上で確認できる状態が必要だからです。
動かない状態で攻撃を作り込むのは難しいです。
確認する場所がない状態でAIを作り込むのも難しいです。
土台が見えていない状態でアニメーションだけ作っても、どこに組み込めばいいかわかりにくくなります。
攻撃やAIはもちろん大事です。
ただ、それらは全部、入力があり、キャラクターが動き、レベル上で確認できる土台の上に乗ります。
だから最初は、作り込みよりも土台です。
まとめ:まずは「入力して、動いて、確認できる」状態を作る
UE5で3Dアクション制作を始めるとき、最初から全部作ろうとしなくて大丈夫です。
まず見るべきものは、次の3つです。

そして、キャラクターが動くまでの流れは次のように整理できます。

3Dアクション制作の最初の目的は、完成度の高いゲームを作ることではありません。
まずは、入力したらキャラクターが動いて、レベル上で確認できる状態を作ることです。
この土台が見えると、次に攻撃を足す場所、敵AIを足す場所、当たり判定を見る場所がわかりやすくなります。
サードパーソンテンプレートは、ただ動くサンプルではありません。
3Dアクション制作の最小構成を学ぶ教材です。
まずは完璧に作ろうとしなくて大丈夫です。
入力して、動いて、確認できる。
ここから始めれば大丈夫です。
関連動画
この記事の内容は、YouTube動画でも解説しています。
動画では、UE5のサードパーソンテンプレートを実際に開きながら、入力・キャラクター・レベルの関係を確認しています。
コメント