メインコンテンツに移動

UE5まとめ(仮)

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

StaticMeshActorとは、静的な3Dモデルを配置するためのActorである。

建物、壁、床、岩、家具など、通常は移動や変形を行わないオブジェクトの多くはStaticMeshActorとして配置される。内部にはStatic Mesh Componentが含まれており、3Dモデルの描画や衝突判定を行う。

Scene内で最も使用頻度の高いActorの一つであり、ゲーム世界を構成する基本的なオブジェクトとなる。

主な役割は、静的オブジェクトの配置、3Dモデルの表示、衝突判定、景観の構築である。

CameraActor

CameraActorとは、ゲーム画面を撮影するカメラを表すActorである。

Camera Componentを利用して視点を管理し、プレイヤー視点やシネマティック、監視カメラなど、さまざまな用途で利用される。

プレイヤーが操作するカメラはCharacterやPawnにCamera Componentを取り付ける場合も多いが、演出用や固定視点などではCameraActorが利用される。

主な役割は、視点の管理、映像の撮影、シネマティック、カメラ演出である。

Light Actor

Light Actorとは、ゲーム世界を照らす光源を表すActorである。

Directional Light、Point Light、Spot Light、Rect Light、Sky Lightなど、さまざまな種類の光源が存在する。それぞれ用途が異なり、太陽光や室内照明、街灯、スポットライトなどの表現に利用される。

Light ActorはRendering EngineやLumen、Virtual Shadow Mapsなどと連携し、リアルタイムライティングや影の生成を行う。

主な役割は、照明の配置、ライティング、影の生成、環境光の制御である。

Pawn

Pawnとは、ゲーム内でプレイヤーやAIが操作することを前提としたActorである。

通常のActorと異なり、Player ControllerやAI Controllerによって制御されることを前提として設計されている。

Pawn自体は移動方法や見た目を持たないため、飛行機や車両、ドローンなど、自由な操作対象を実装する際の基底クラスとして利用されることが多い。

主な役割は、操作対象の表現、プレイヤー操作、AI操作、Controllerとの連携である。

Character

Characterとは、Pawnを拡張したキャラクター専用のActorである。

CharacterにはCharacter Movement ComponentやCapsule Componentなどが標準で組み込まれており、歩行、ジャンプ、落下、坂道の移動など、人型キャラクターに必要な機能が最初から実装されている。

プレイヤーキャラクターだけでなく、多くのNPCや敵キャラクターもCharacterを基底クラスとして作成される。

Pawnの特殊化クラスであり、人型キャラクターを実装する場合はCharacterを利用することが一般的である。

主な役割は、人型キャラクターの実装、歩行制御、ジャンプ、キャラクター移動の管理である。

Volume

Volumeとは、ゲーム世界内の特定の領域を定義するためのActorである。

Volume自体は描画されないが、プレイヤーやActorが内部へ入ったことを検知したり、その範囲内だけ特殊な処理を実行したりできる。

代表例として、Trigger Volume、Blocking Volume、Physics Volume、Nav Mesh Bounds Volumeなどがあり、それぞれイベント判定や衝突制御、物理設定、Navigation生成などに利用される。

主な役割は、空間領域の定義、イベント検知、衝突制御、ゲームシステムとの連携である。

Blueprint Actor

Blueprint Actorとは、Blueprint Classから作成されたActorである。

Blueprintを利用することで、C++を書かずに独自のActorを作成できる。Static MeshやLight、Camera、NiagaraなどのComponentを組み合わせ、イベントや変数を設定することで、ゲーム内で利用するさまざまなオブジェクトを実装できる。

実際のゲーム開発では、多くのゲームオブジェクトがBlueprint Actorとして実装されており、ドアやアイテム、ギミック、敵キャラクターなどもBlueprint Actorとして作成されることが多い。

主な役割は、独自Actorの作成、Blueprintによるゲームロジックの実装、Componentの統合、ゲームオブジェクトの作成である。

Actor全体の役割

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

StaticMeshActorは建物や地形オブジェクトを、CameraActorは視点を、Light Actorは照明を、PawnとCharacterはプレイヤーやAIが操作するキャラクターを表現する。また、Volumeはゲーム空間の特定領域を管理し、Blueprint Actorは独自のゲームオブジェクトを柔軟に実装するために利用される。

これらのActorはそれぞれ独立して存在するのではなく、すべてLevel内へ配置され、Worldによって管理される。また、Actorの機能は内部に持つComponentによって実現されており、描画、物理演算、音声、エフェクトなどもComponentを通して追加される。

このようにActorは、Unreal Engine 5におけるゲーム世界を構成する最も基本的な要素であり、プレイヤーから背景オブジェクトまで、ゲーム内に存在するほぼすべてのオブジェクトの基盤となるクラスである。