Unreal Engine リフレクション システム は、エンジンおよびエディタの機能を提供するさまざまなマクロでクラスをカプセル化します。Unreal Engine(UE) でプログラミングを行う場合は、標準の C++ クラス、関数、および変数を使用することができます。
-
Unreal でのオブジェクトの基本クラスは UObject です。各クラスは新しい アクタ またはオブジェクトのテンプレートを定義します。
-
UCLASS
マクロを使用して、UObject
から派生したクラスにタグ付けすると、UObject の処理システム が、その派生クラスを認識できるようになります。 -
TSubclassOf は、
UClass
型安全性を提供するテンプレート クラスです。これは、特定の型から派生するクラスを割り当てるのに役立ちます。たとえば、この変数をブループリントに公開して、デザイナーがプレイヤー キャラクターにどの武器クラスをスポーンするかを指定することができます。 -
クラスは 構造体 を含むことができます。構造体は、関連するメンバー プロパティの整理と操作に役立つデータ構造です。構造体は、
USTRUCT()
マクロを使用して独自に定義することができます。 -
Unreal スマート ポインタ ライブラリ は、メモリ割り当てとメモリ追跡の負担を軽減するために設計された C++11 のスマート ポインタをカスタム実装したものです。この実装には、業界標準の 共有ポインタ、ウイーク ポインタ、固有ポインタ、および非 NULL の共有ポインタのように動作する 共有参照 が含まれています。
-
インターフェース は、複数のクラスまたは異なるクラスで実装できる関数および追加のゲームプレイ動作を提供します。プレイヤー キャラクターは、ワールド内のさまざまなアクタと相互作用することができます。これらの相互作用はそれぞれ、イベントに対して異なるリアクションを引き起こすことができます。
-
メタデータ指定子 は、クラス、インターフェース、構造体、列挙型、関数、またはプロパティがエンジンやエディタのさまざまな要素とどのように相互作用するかを制御します。データ構造またはメンバーのそれぞれの型には、固有のメタデータ指定子のリストがあります。
-
UFUNCTION マクロと UPROPERTY マクロは、UE に新しいクラス、関数、変数を認識させます。これらのマクロは、エンジンによってガベージ コレクションされます。マクロを指定する場合、Unreal Editor 内で編集および表示することができます。