PCG Biome Core と PCG Biome Sample プラグインは、属性セット テーブル、フィードバック ループ、再帰的サブグラフ、実行時の階層生成 などの PCG フレームワーク 機能の使用例を提供します。このセクションには、PCG Biome Core と Sample プラグインの定義、ツールの機能リスト、今後のアップデートや既知の問題に対する対処法が記載されています。
プロシージャル コンテンツ生成 (PCG) フレームワークの詳細については、「プロシージャル コンテンツ生成のフレームワーク」を参照してください。
PCG Biome Core とは
PCG Biome Core は、ネイティブの PCG フレームワークのノード、グラフ、データ アセットを利用した、データ主導型のバイオーム作成ツールです。このツールは固定のパイプラインを提供する体系的なアプローチで構築されており、カスタマイズ可能なステップによる論理的なセクションに整理されています。
これは、PCG フレームワークについて学ぶためのサンプルとして機能し、属性セット テーブル、フィードバック ループ、再帰的サブグラフ、ランタイム階層的生成 などの機能を使用します。
プロダクションがワールド作成ツール セットを始めるために使用し、特定のニーズや要件に合わせてコピー、変更、拡張することができます。プログラミングのサポートは不要あるいは最小限で済みます。
プラグイン自体は実験的機能とされていますが、PCG フレームワークとベータ版またはプロダクション版の標準的な UE の機能を利用しながら、将来のアップデートを通じて進化していく予定です。プロダクションで使用する場合は、将来のリリースで既存コンテンツが壊されるのを防ぐため、プラグインをコピーすることをお勧めします。
PCG Biome Core プラグインはスタンドアローンで、ベース データ アセット、構造体、ブループリント クラス、PCG グラフなど、ツールの動作に必要なものだけを含んでいます。プラグインを有効にする方法の詳細については、「プラグインを操作する」を参照してください。
PCG Biome Sample とは
PCG Biome Sample は、PCG Biome Core ツールを紹介するためのコンテンツ サンプルです。BiomeSampleLevel、設定済みの BiomeCore を持つワールド、アセットと Biome Volume、Biome Spline、Biome Texture などのインジェクション データを持つ複数の Biome、特定の CropField ジェネレータ、スタンドアローンのアクタで構成されています。
Biome Sample プラグインは、どのプロジェクトでもプラグイン設定で有効にすることができます。Biome Core プラグインとそのコンテンツを使用します。Biome Sample は、Biome Core を別プロジェクトを読み込まずにセットアップするためのガイドであり、リファレンスです。
特徴リスト
PCG Biome Core には以下の特徴があります。
-
データ主導で、あらゆるプロダクションのニーズに合わせてコピー、修正、拡張が可能。
-
PCG ネイティブ ノードのみ。カスタム コード、カスタム ブループリント要素なし。
-
PCG グラフとデータ アセットを使用したカスタマイズ可能なステップで、論理的なセクションで整理された固定パイプライン。
-
ユーザー定義のバイオームは無制限。
-
クラス、構造体、データ アセット、グラフがすぐに使用可能。
-
すべてのデータ アセット参照から収集され、動的に構築された Biome Asset プロパティを含む AttributeSet テーブル。
-
バイオーム入力を 3D 空間に抽象化する Biome Cache。
-
バイオームは、ボリューム、スプライン、テクスチャから空間的に定義可能。
-
バイオームの優先順位の並べ替え。
-
バイオームのグローバル ブレンディング。
-
除外データと投入データによる手動または半手動のインタラクションをサポート。
-
メッシュ、PCG データ アセット/アセンブリ、アクタのスポーン。
-
メッシュからの境界ポイントとカスタム境界スケーリングのサポート。
-
ジェネレータの優先順位と正確な境界によって管理されたオーバーラップを持つ生成点のレイヤリング。
-
バイオーム内のアセット分布を適切にコントロール (例:ランドスケープ レイヤーのウェイト ペイントを使用) するための、複数ジェネレータ サブタイプのサポート。
-
カスタマイズ可能な計算および/またはテクスチャ投影フィルタ グラフ (高さ、密度、フローなど) からのグローバル ルートおよび子ポイントのフィルタリング。
-
アセットごとの再帰的階層変換およびスポーニングと、再帰レベルごとの複数の子のサポート。
-
再帰の最大深度と比率のコントロール。
-
アセット エントリごとの Static Mesh プロパティのオーバーライド (キャスト シャドウ、コリジョンなど)。
-
アセット エントリごとのオフセットとスケールのトランスフォーム。
-
ランドスケープとメッシュでのスポーニング情報を持つランタイム階層的生成。
実行すべきこと
バイオームごとのブレンド範囲: バイオームごとのコア アクタに、現在のグローバルなブレンド範囲ではなく、特定のバイオームごとのブレンド範囲を許可する。
アセンブリ階層とタグのサポート: Electric Dreams サンプルで紹介されたのと同様に、アセンブリの内部階層とタグからアセンブリの変換とフィルタリングをする高度なコントロールを追加する。
ランドスケープ パッチ ワークフロー: ランドスケープ パッチ コンポーネントを持つアクタをスポーンする際、ランドスケープのリフレッシュと PCG 更新の間に発生しうるフィードバック ループを防ぐ。
既知の問題
-
子アセットは、除外とバイオームの境界を配慮しません。
-
子アセットは、異なる階層ブランチからのルートおよび子アセットと重複しています。
-
ジェネレータの優先順位による差がフィルタリングの前に発生するため、ポイントが事前に除去されます。