Electric Dreams 環境サンプル プロジェクトでは、プロシージャル コンテンツ生成フレームワークで使用されるさまざまな構造体を表すために、いくつかの専門用語が使用されています。 このページには、Electric Dreams PCG の用語の多くとその定義、およびこのプロジェクトのドキュメントで使用されている表現に慣れるための追加情報が記載されています。
- PCG アセンブリ
PCG アセンブリは、PCG フレームワークでプロシージャルに生成されるアセンブリです。 PCG アセンブリは一連の演算を通じて複数の方法で PCG グラフ内で構築でき、コンポーネントや公開パラメータといった入力を調整することでカスタマイズできます。 これらの演算には、個別のメッシュやアクタのスポーンから、手作りの完全なアセンブリまでが含まれます。
- PCG 要素
PCG 要素は PCG グラフで使用されるノードです。 要素は C++ コード、または PCG ブループリント要素クラスを使ってデータ内で作成できます。
- PCGグラフ
PCG グラフは PCG の中心的な構成要素です。 データフロー グラフで実行される一連の演算を通じた処理を表すグラフです。 PCG グラフは、別のグラフ内でサブグラフとして使用できます。
- PCG設定
PCG 設定は、クラスと設定プロパティを含むノード設定です。
- アセンブリ
アセンブリは、単一のアセットを作成する一連のアクタとビジュアル要素の組み合わせです。 Electric Dreams におけるアセンブリでは、手動で作成してレベル周辺に配置されるレベル インスタンスまたはパックされたレベル アクタと組み合わせて Quixel アセットが使用されます。 アセンブリは、Level to PCG アセット ユーティリティによる支援を通じて、ソース コンテンツとして PCG グラフおよび PCG アセンブリで使用されます。
- ポイント データ
ポイント データは、3D 空間内のポイント (点) を、関連する境界、定義済みのプロパティ、属性を使って表現します。 これは、演算における最も一般的な PCG データ型です。
- ポイントプロパティ
ポイント プロパティは、PCG ポイント データに含まれるすべてのポイントの、事前定義された一連のプロパティです。 プロパティは属性の演算で使用できます。 プロパティ名にはプレフィックスとしてドル記号 ($) を付ける必要があります (例:
$Density、$Position.x、$Rotation.forward)。これらのプロパティは次のとおりです。
Transforms:位置 (vec3)、回転 (Rotator)、スケール (vec3) で構成されたトランスフォーム。
Density (float):ポイント密度関数の最大値 (0 ~ 1)。 この値は、差分、結合、ノイズ、フィルタリングといった複数の演算で使用されます。
BoundsMin/Max (vec3):ポイント境界ボリュームの最小値と最大値。
Color (vec4):ポイント カラー値。
Steepness (float):ポイントの密度関数の傾斜を表現する、0 ~ 1 の範囲の値。 「1」の値では、密度関数によってポイントの境界内の最大密度が返され、境界外では 0 が返されます。 「1」未満の値では、密度関数により、ポイントの境界の最小値と最大値の中央に 0 にまで線形補間された最大密度値が返されます。
Seed (int64):ポイントの位置、ノード シード、コンポーネント シードから算出されたポイント シード。
- 属性
属性は、ノード パラメータをオーバーライドできる、またはポイントに関連付けることのできる、ユーザー定義の特殊な型の追加メタデータであり、PCG グラフ内での属性演算に使用されます。 属性は、グラフ内で Create Attribute ノードを使用するか、カスタム PCG 要素内で作成できます。
現時点では、サポートされている属性の型は次に限られています。
transform (トランスフォーム)
vec2
vec3
vec4
float
double
int32
int64
bool
文字列
name
rotator
クォータニオン
- 空間データ
空間データは空間に存在し、次を表現できます。
3 次元 (3D) ボリューム。
2 次元 (2D) サーフェス。高さフィールドやテクスチャなどです。
1 次元 (1D) ライン。スプラインや点群などです。