メインコンテンツに移動

UE5まとめ(仮)

このサイトについて

このサイトは、初心者の方でもわかるように、UE5がどのような構造になっているか全体像をわかりやすく解説するサイトです。

 

Environment

Environment

Environmentとは、Unreal Engine 5においてゲーム世界の自然環境を構築するためのシステム群である。

ゲーム世界は建物やキャラクターだけで構成されるわけではなく、地形、川や海、樹木、草原、空、大気、雲、太陽など、多数の自然要素によって現実感が生み出されている。UE5では、これらの環境表現を効率的に制作・管理するために、Environmentに関するさまざまなシステムが用意されている。

これらのシステムはそれぞれ独立しているだけでなく、LumenやNanite、Virtual Shadow Mapsなどのレンダリング機能とも連携し、高品質なリアルタイム環境表現を実現している。

Environmentの構成要素

Landscape

Water

Foliage

Sky Atmosphere

Volumetric Cloud

Time Of Day

各機能

Landscape

Landscapeとは、地形を作成・編集するためのシステムである。

World Partition

World Partition

World Partitionとは、Unreal Engine 5において広大なゲームワールドを効率的に管理するためのシステムである。

従来のUE4ではLevel Streamingを利用して開発者が読み込み範囲を管理する必要があったが、UE5ではWorld Partitionが標準機能となり、ゲーム世界を自動的にグリッドへ分割し、プレイヤーの位置に応じて必要な領域だけを読み込み・解放できるようになった。

これにより、数十km四方にも及ぶオープンワールドでも、メモリ使用量や描画負荷を抑えながらゲームを動作させることができる。また、World PartitionはData LayerやHLOD、One File Per Actorなどの機能と連携し、大規模プロジェクトの開発効率も向上させている。

World Partitionの構成要素

Grid Cell

Data Layer

HLOD

One File Per Actor

各機能

Grid Cell

Actor Component

Actor Component

Actor Componentとは、Unreal Engine 5においてActorへゲーム機能を追加するためのComponentである。

Scene Componentが位置・回転・拡大縮小(Transform)を持つのに対し、Actor ComponentはTransformを持たず、ゲームロジックやデータ管理など空間情報を必要としない機能を担当する。

例えば、移動処理やインベントリ管理、体力システム、クエスト管理などはゲームオブジェクトの位置とは直接関係しないため、Actor Componentとして実装されることが多い。

Actor Componentを利用することで、一つの機能を複数のActorで再利用できるため、UE5ではコンポーネント指向による設計が広く採用されている。

Actor Componentの構成要素

Movement Component

Inventory Component

Gameplay Components

各機能

Movement Component

Scene Component

Scene Component

Scene Componentとは、Unreal Engine 5において位置・回転・拡大縮小(Transform)を持つComponentの基底クラスである。

Actorに追加されるComponentのうち、3D空間内へ配置されるものの多くはScene Componentを継承している。Scene Componentは自身のTransformを持つだけでなく、他のScene Componentを親子関係で接続できるため、一つのActor内に階層構造を構築できる。

例えば、CharacterではCapsule Componentを親としてSkeletal Mesh ComponentやCamera Componentを接続し、そのCamera Componentの先にSpring Arm Componentを配置するといった構成が可能である。このような親子構造により、親Componentが移動・回転すると子Componentもそれに追従する。

Scene Componentの構成要素

Static Mesh Component

Skeletal Mesh Component

Component

Component

Componentとは、Unreal Engine 5においてActorへ機能を追加するためのオブジェクトである。

Actorがゲーム世界に存在するための「本体」であるのに対し、Componentは描画、物理演算、カメラ、サウンドなどの個別の機能を担当する。「何をするか」はComponentが決定し、「どこに存在するか」はActorが管理するという役割分担になっている。

一つのActorには複数のComponentを追加できるため、例えばプレイヤーキャラクターはMesh、Camera、Audio、Movementなど複数のComponentを組み合わせて構成される。UE5ではこのようなコンポーネント指向の設計を採用することで、機能の再利用性や保守性を高めている。

Componentは大きく、位置や回転を持つScene Componentと、位置情報を持たないActor Componentに分類される。

Componentの構成要素

Scene Component

Actor Component

各機能

Actor

Actor

Actorとは、Unreal Engine 5においてゲーム世界に配置されるオブジェクトの基本単位である。

プレイヤー、敵キャラクター、建物、ライト、カメラ、エフェクト、当たり判定など、Level上に存在するほぼすべてのオブジェクトはActorとして実装されている。ゲームが開始されると、Levelに配置されたActorが生成され、それぞれが独立して動作する。

Actor自体はゲーム世界に存在するための土台となるクラスであり、実際の描画や物理演算、音声再生などの機能はComponentによって追加される。そのため、Actorは「ゲーム世界に存在するオブジェクト」、Componentは「Actorへ機能を追加する部品」と考えることができる。

Actorの構成要素

StaticMeshActor

CameraActor

Light Actor

Pawn

Character

Volume

Blueprint Actor

各機能

StaticMeshActor

Level

Level

Levelとは、Unreal Engine 5においてゲーム世界を構成するマップデータである。

ゲーム内の地形や建物、キャラクター、ライト、カメラなどは、すべてLevelの中へ配置される。Worldがゲーム世界全体を管理する最上位のシステムであるのに対し、Levelは実際のゲーム空間を構成する単位となる。

UE5では、一つのWorldの中に複数のLevelを配置できるため、大規模なゲームではマップを複数のLevelへ分割して管理することが一般的である。また、World PartitionやLevel Instanceなどの機能とも連携し、効率的なマップ制作やストリーミングを実現している。

Levelの構成要素

Persistent Level

Sub Level

Level Instance

Level Script

各機能

Persistent Level

Persistent Levelとは、World内で常に存在する中心となるLevelである。

World

World

Worldとは、Unreal Engine 5においてゲーム世界全体を管理する中核システムである。

ゲームが開始されるとEngineはWorldを生成し、その内部にLevelやActorを読み込む。その後、物理演算やAI、ナビゲーション、ライティングなどの各システムを統括しながらゲーム世界全体を管理する。プレイヤーが探索する空間やゲーム内で起こるさまざまな処理は、すべてWorldを中心として実行される。

Worldは単にオブジェクトを保持するだけではなく、ゲーム世界全体に適用される設定や、物理演算、AIの行動、経路探索、ライティングなどの共通システムも管理している。

Worldの構成要素

World Settings

Physics Scene

Navigation

Lighting

AI System

各機能

World Settings

World Settingsとは、現在のWorld全体に適用される設定を管理する機能である。

World

World

Worldとは、Unreal Engine 5においてゲーム世界全体を管理するシステム群である。

ゲーム内の世界は単なる3D空間ではなく、地形や建物、キャラクター、ライト、カメラ、物理演算、AIなど、多数の要素が相互に連携して構成されている。UE5では、これらの要素をWorldを中心とした階層構造で管理しており、ゲームが開始されるとEngineはWorldを生成し、その内部でゲーム世界を構築・更新・描画する。

Worldの中には、ゲームマップを表すLevelが存在し、そのLevelにはプレイヤーや敵、建物、ライトなどのActorが配置される。また、ActorはさらにComponentによって構成されており、実際の描画や物理演算、サウンド再生などの機能はComponentが担当している。

近年のゲームでは、広大なオープンワールドや高密度な環境表現が求められるようになっている。UE5では、それらを実現するために、World Partitionによるストリーミング機能や、Landscape・Water・Sky AtmosphereなどのEnvironmentシステムが用意されており、大規模なゲーム世界を効率的に構築・管理できるようになっている。

Engine

Engine

Engineとは、Unreal Engine 5におけるゲームの実行を担う中核システムである。

Editorがゲームを制作するための開発環境であるのに対し、Engineは制作したゲームを実際に動作させるためのプログラム群である。ゲームが起動すると、Engineはゲームループを開始し、ゲーム世界の更新、描画、物理演算、アニメーション、サウンド再生など、多数のシステムを統括しながらゲーム全体を実行する。

また、UE5では多くの機能が独立して存在するのではなく、Engineの各システムが連携して動作する構造となっている。例えば、World内に配置されたActorの更新結果はRendering Engineによって描画され、Physics Engineによって物理演算が行われ、Animation Engineによってキャラクターの動作が生成される。

Engineの構成要素

Game Loop

Object System

Gameplay Framework

Rendering Engine

Physics Engine(Chaos)

Audio Engine