第3回まで無料

Unreal Engine 5 ゲーム開発コース

インストールから、ブループリント・Gameplay Framework・当たり判定とダメージ・マテリアルと Nanite / Lumen・アニメーションと AI・UMG とサウンド・C++ との併用・最適化とパッケージングまで。全50レッスンで、夜の島を探索する三人称の 3D アクション「灯台島」を 1 本作りきります。前半はブループリントだけで組み、後半で C++ に降ります。

カリキュラム

全50レッスンを7つの章に分けています。第1章から順に進めるのがおすすめです。通しで 1 本のゲーム「灯台島」を作るので、前の回で作ったアセットを次の回で使います。 ※ Unreal Engine はブラウザ内では動かないため、第1回で入れるエディタ(Unreal Engine 5.6。5.4 以降ならほぼ同じ画面です)で試してください。既存コースでいちばん重い環境が要ります(ストレージに 100GB 以上の空き、ゲーム向けの GPU)。必要なスペックは第1回で確かめます。前提は C# か C 言語 の基本で、第6章からは C++ を使います。

Chapter 1 — Unreal を動かす(第1〜8回)

Unreal Engine を入れて、エディタの見方とアクター・コンポーネントという考え方を押さえます。ブループリントを 1 つの言語として読み書きできるようにし、最後は触れると開く扉を作ります。

1

Unreal Engine とは何か(必要なスペックと、入れるまで)

このコースで作る「灯台島」の完成像と全50回の地図を見る。必要なスペックを確かめ、Epic Games Launcher から UE 5.6 を入れて最初のプロジェクトを開くまで。

Free
2

エディタの画面を読む(ビューポート・アウトライナー・詳細パネル・コンテンツブラウザ)

エディタを 4 つの領域に分けて役割で覚える。視点の動かし方、座標と単位、Play での試し方、プロジェクトのフォルダの形まで。

Free
3

レベルとアクター(置く・動かす・コンポーネントで組み立てる)

灯台島のレベル L_Isle を作り、床と壁を数値で置く。アクターはコンポーネントの入れ物だと押さえ、蝶番で回る扉 BP_Door を組み立てる。

Free
4

ブループリントの基礎(イベントグラフ・ノード・実行ピン)

ブループリントを「線でつなぐプログラム」として読む。イベントから始まり白い実行ピンをたどる。灯台の光 BP_Beacon を、BeginPlay と Tick で回す。

🔒 ベーシック
5

変数・関数・マクロ(ブループリントで値を扱う)

BP_Beacon に回る速さと点灯状態を変数で持たせ、レベル上から灯台ごとに値を変える。処理を関数・マクロ・カスタムイベントに切り出し、三つの使い分けを押さえる。

🔒 ベーシック
6

フロー制御(Branch・ループ・Sequence・Delay とタイマー)

Branch と Switch で分け、ループで繰り返し、Sequence で並べる。「あとで」は Delay とタイマーで書く。ループは 1 フレームで回り切る、という一点を押さえて灯台の光を明滅させる。

🔒 ベーシック
7

入力を受け取る(Enhanced Input のアクションとマッピングコンテキスト)

キーを直接見ずに「操作」を名前で定義する。Input Action と Input Mapping Context を作って実行時に登録し、E キーとゲームパッドで灯台の光を点けたり消したりする。

🔒 ベーシック
8

【実践】触れると開く扉を作る(トリガーとタイムライン)

第3回の BP_Door に箱の当たり判定を足し、近づくと 1 秒かけて開き、離れると閉じる扉にする。タイムラインで時間に沿った値を作り、第1章の道具をひとつにまとめる。

🔒 ベーシック

Chapter 2 — ゲームの骨格(第9〜17回)

GameMode・PlayerController・Character という Unreal の骨組みに沿って、プレイヤーを歩かせ、カメラを付け、当たり判定とダメージを入れます。最後は欠片を 3 つ集めると門が開く、ゲームのルールを組みます。

9

Gameplay Framework の地図(GameMode・GameState・PlayerController・Pawn)

ゲームの「ルール」「状態」「操作する人」「体」を別々のクラスに分けるのが Unreal の流儀。灯台島の何をどこに置くかを決め、BP_IsleGameMode を作ってレベルに設定する。

🔒 ベーシック
10

キャラクターを歩かせる(Character と CharacterMovementComponent)

Character を親に BP_Player を作り、カプセル・メッシュ・CharacterMovement の 3 つを読む。IA_Move と IA_Look をつなぎ、カメラの向きを基準に歩かせる。

🔒 ベーシック
11

ジャンプ・ダッシュ・しゃがみ(移動の手触りを数値で詰める)

Jump Z Velocity・Gravity Scale・Air Control で跳び方を、Max Walk Speed の切り替えでダッシュを、Crouch でしゃがみを作る。手触りは感覚ではなく数値で詰める。

🔒 ベーシック
12

カメラ(SpringArm で三人称視点を作る)

SpringArm の先に Camera を付けて、壁にめり込まない三人称カメラを作る。マウスが回す向き・体の向き・カメラの向きを区別し、遅れて付いてくる動きと画角を足す。

🔒 ベーシック
13

当たり判定の仕組み(コリジョンチャンネルと Block・Overlap・Ignore)

どの物体も「自分は何者か(Object Type)」と「相手の種類ごとに Block・Overlap・Ignore のどれで応じるか」を持つ。2 つの組み合わせで結果が決まる仕組みを押さえ、欠片用のプリセットを作る。

🔒 ベーシック
14

ヒットとオーバーラップのイベント(拾う・ぶつかる・押す)

On Component Begin Overlap で灯火の欠片を拾い、On Component Hit でぶつかりを知り、物理で動く箱を押す。イベントのピンが何を渡すかを読み、二重に拾われる事故を防ぐ。

🔒 ベーシック
15

アクターどうしの連絡(キャスト・インターフェース・イベントディスパッチャー)

相手の型を確かめて直接呼ぶキャスト、相手の種類を問わず同じ頼み方をするインターフェース、起きたことを知らせて聞き手に任せるイベントディスパッチャー。3 つの使い分けを灯台島で決める。

🔒 ベーシック
16

ダメージと体力(ApplyDamage から倒れてリスポーンするまで)

Apply Damage と Event AnyDamage は、エンジンに最初からある「ダメージの約束事」。BP_Player に体力を持たせ、0 になったら倒れ、GameMode が Restart Player で出し直すまでを作る。

🔒 ベーシック
17

【実践】欠片を集めて門を開く(ルールを GameMode に置く)

BP_Shard の OnCollected を BP_IsleGameMode が聞いて数え、必要数に達したら BP_Gate を開く。欠片も門もルールを知らない形で、この章の部品を 1 本につなぐ。

🔒 ベーシック

Chapter 3 — 見た目(第18〜27回)

マテリアル、Blender からのモデルの持ち込み、Nanite と Lumen、空と霧、地形とフォリッジ、ポストプロセスで絵を作ります。最後は夜の灯台島のライティングを組み立てます。

18

マテリアルの基礎(PBR の値とマテリアルエディタ)

表面の見た目は Base Color・Metallic・Roughness・Normal の 4 つでほぼ決まる。マテリアルエディタでノードをつなぎ、Emissive で欠片を光らせる。

🔒 ベーシック
19

マテリアルインスタンスとパラメータ(1 つの親から色違いを作る)

値をパラメータにした親マテリアルから、コンパイルなしで色違いを量産する。ゲーム中に値を変える Dynamic Material Instance も使う。

🔒 ベーシック
20

Blender から持ち込む(FBX の書き出し・スケール・軸・コリジョン)

Blender の 1 m と Unreal の 1 cm をそろえ、向きと原点を整えて FBX で書き出す。UCX_ で自前のコリジョンも一緒に持ち込む。

🔒 ベーシック
21

Nanite(ポリゴン数を気にしなくてよくなる範囲と、そうでない範囲)

Nanite は高密度のスタティックメッシュを見える分だけ描く仕組み。岩や崖には向き、半透明や動く形には向かない。オンにする手順と確かめ方まで。

🔒 ベーシック
22

Lumen(動的なグローバルイルミネーションと反射)

光の照り返しと反射を、ベイクせずにその場で計算する Lumen。ソフトウェアとハードウェアのレイトレーシングの違い、Mac での扱い、光漏れの直し方まで。

🔒 ベーシック
23

ライトの種類とモビリティ(Directional・Point・Spot・Rect と Sky Light)

5 種類のライトの使い分けと、Static・Stationary・Movable の違い。Lumen 前提なら Movable が基本。回る灯台の光も作る。

🔒 ベーシック
24

空と大気と霧(Sky Atmosphere・Volumetric Cloud・Height Fog)

Directional Light の向きに合わせて色が変わる空、立体の雲、高さで濃さが変わる霧。夜の島の背景を組み、灯台の光の筋を霧に浮かび上がらせる。

🔒 ベーシック
25

ランドスケープとフォリッジ(島の地形を作り、草と岩を撒く)

ランドスケープで島の起伏を彫り、レイヤーで草地・岩場・砂浜を塗り分ける。草は Landscape Grass Type で自動に、岩はフォリッジモードで手で撒く。

🔒 ベーシック
26

ポストプロセス(露出・ブルーム・カラーグレーディング)

描き終わった絵に、カメラのように露出と色を整える。夜なのに昼のように明るくなる自動露出の止め方、ブルームで欠片をにじませる方法、色の調整まで。

🔒 ベーシック
27

【実践】夜の灯台島を照らす(ライティングを組み立てる)

月・空・霧・露出を決めてから、欠片と灯台の光を足す順番で、夜の島のライティングを完成させる。灯台に火を入れる LightUp イベントも作る。

🔒 ベーシック

Chapter 4 — 動かす(第28〜35回)

キャラクターのアニメーションをブレンドスペースとステートマシンで組み、モンタージュで攻撃を付けます。物理とナビメッシュ、ビヘイビアツリーを学び、最後は島を見回る番人の AI を作ります。

28

スケルタルメッシュとアニメーションの基礎(スケルトンとシーケンス)

骨を持つメッシュ・骨の階層・動きのデータの 3 つに分かれていることを押さえ、BP_Player をカプセルからマネキンに着せ替える。

🔒 ベーシック
29

アニメーションブループリントとブレンドスペース(歩きから走りへ)

毎フレーム速度を読む ABP_Player と、速度 0〜600 で待機・歩き・走りを混ぜる BS_Locomotion を作り、足の滑りを数値で合わせる。

🔒 ベーシック
30

ステートマシン(待機・移動・ジャンプ・着地)

AnimGraph にステートマシン Locomotion を置き、地上・跳び上がり・落下・着地を状態と遷移ルールで分ける。遷移の条件は Event Graph で集めた変数だけで書く。

🔒 ベーシック
31

モンタージュと通知(攻撃の振りと当たる瞬間を合わせる)

攻撃をモンタージュ AM_Attack にして Slot で重ね、Anim Notify の瞬間だけ当たり判定を出して ApplyDamage につなぐ。上半身だけ振る重ね方も扱う。

🔒 ベーシック
32

物理(シミュレーション・コンストレイント・Chaos の破壊)

Simulate Physics で木箱を転がし、Physics Constraint で吊り灯籠を揺らし、Geometry Collection で古い柵を壊す。倒れたプレイヤーのラグドールも作る。

🔒 ベーシック
33

ナビメッシュと AI の移動(AIController と MoveTo)

NavMeshBoundsVolume で島に歩ける範囲を敷き、BP_Warden を BP_WardenAIController で動かす。AI MoveTo で巡回地点を順に回らせる。

🔒 ベーシック
34

ビヘイビアツリーとブラックボード(巡回・発見・追跡)

判断を BT_Warden に、記憶を BB_Warden に分ける。Selector と Sequence、自作のタスク・デコレーター・サービスで、巡回と追跡を切り替える。

🔒 ベーシック
35

【実践】島を見回る番人を作る(AI Perception で見つける)

BP_WardenAIController に AI Perception の視覚を付け、見つけたら追い、見失ったら最後の場所を調べ、追いついたら攻撃する番人を完成させる。

🔒 ベーシック

Chapter 5 — UI と音(第36〜41回)

UMG で HUD とメニューを作り、画面遷移とセーブを入れ、音を鳴らします。最後はタイトルからクリアまでを 1 本の流れとして通します。

36

UMG の基礎(ウィジェットブループリントとアンカー)

画面の UI は UMG のウィジェットブループリントで組む。Canvas Panel に部品を置き、アンカーで「画面のどこを基準にするか」を決め、DPI スケーリングで解像度の差を吸収する。

🔒 ベーシック
37

HUD を作る(体力バーと欠片の数をイベントで更新する)

体力バーと欠片の数を本物の値につなぐ。毎フレーム値を読みに行くプロパティバインドではなく、イベントディスパッチャーで「変わったときだけ」更新し、HUD はプレイヤーコントローラーに持たせる。

🔒 ベーシック
38

メニューと画面遷移(タイトル・ポーズ・入力モードの切り替え)

タイトル用のレベルと WBP_Title を作り、Open Level で島へ移る。ポーズは Set Game Paused と入力モード(UI Only / Game Only / Game and UI)の切り替えで組む。

🔒 ベーシック
39

セーブとロード(SaveGame オブジェクト)

保存したい値だけを入れた BP_IsleSave を作り、Save Game to Slot / Load Game from Slot / Does Save Game Exist で読み書きする。レベルをまたいで持ち歩く場所は Game Instance。

🔒 ベーシック
40

サウンドの基礎(Sound Wave・減衰・MetaSounds)

音のアセットは Sound Wave・Sound Cue・MetaSound Source の 3 段。2D と 3D の鳴らし分け、Attenuation で距離による減衰、MetaSounds で毎回少し違う足音を作る。

🔒 ベーシック
41

【実践】タイトルからクリアまで通す(BGM とミキサーで仕上げる)

灯台に火を入れるとクリア画面が出てタイトルへ戻る、までを 1 本につなぐ。Sound Class と Sound Mix で BGM・効果音・環境音をまとめ、ポーズやクリアの瞬間に音のバランスを切り替える。

🔒 ベーシック

Chapter 6 — C++ に降りる(第42〜47回)

ブループリントで作ったプロジェクトに C++ を足します。UCLASS と UPROPERTY の意味、ガベージコレクション、ブループリントとの分担、ビルドの仕組みを押さえ、最後は体力の仕組みを C++ のコンポーネントに移します。

42

C++ プロジェクトにする(IDE とビルドの流れ)

ブループリントだけで作った灯台島に C++ を足す。IDE を用意し、New C++ Class でモジュール LighthouseIsle を生やし、ビルドからエディタ起動までの流れをつかむ。

🔒 ベーシック
43

最初の C++ アクター(UCLASS・UPROPERTY・UFUNCTION)

灯台の回る光 ALighthouseLamp を C++ で書く。UCLASS・UPROPERTY・UFUNCTION の印で、エディタとブループリントに何が見えるようになるかを確かめる。

🔒 ベーシック
44

リフレクションとガベージコレクション(UObject と TObjectPtr)

UHT が作るリフレクション情報が、詳細パネル・ブループリント・セーブ・GC を支えている。UObject を UPROPERTY で持つ理由と、TObjectPtr・TWeakObjectPtr の使い分けを押さえる。

🔒 ベーシック
45

ブループリントと C++ の分担(BlueprintCallable と BlueprintImplementableEvent)

C++ からブループリントを呼ぶ道と、ブループリントから C++ を呼ぶ道をそろえる。BlueprintImplementableEvent・BlueprintNativeEvent・動的マルチキャストデリゲートで、灯台の点灯を演出とつなぐ。

🔒 ベーシック
46

モジュールとビルド(.Build.cs・Live Coding・よくあるビルドエラー)

使うエンジンの機能は .Build.cs に依存として書く。Live Coding で済む変更と、エディタを閉じてビルドし直すべき変更を分け、よくあるビルドエラーの読み方を覚える。

🔒 ベーシック
47

【実践】体力コンポーネントを C++ に移す

第16回からブループリントで持っていた BP_Player の体力を、C++ の UHealthComponent に移す。OnTakeAnyDamage で受け、デリゲートで HUD と死亡処理に知らせる。

🔒 ベーシック

Chapter 7 — 仕上げて出す(第48〜50回)

重さの原因をプロファイラで突き止めて直し、配布できる形にパッケージします。最後に Unity・Godot と比べながら、コース全体をふり返ります。

全50レッスンを終えたら、別のエンジンで同じ考え方を確かめる Unity ゲーム開発入門コース や Godot 入門コース、自分のモデルとアニメーションを用意できるようになる Blender Python 入門コース へ。メンバーシップで全コースが解放されます。