プロシージャル コンテンツ生成 (PCG) フレームワークは、プロシージャル ノード グラフを利用して、エディタと実行時の両方でプロシージャル コンテンツを生成します。 マテリアル エディタと同様の形式を使用して、空間データがレベル内の PCG コンポーネントからグラフに入力され、ポイントの生成に使用されます。 ポイントは、以下にリストされている一連のノードを通じてフィルタリングおよび変更されます。
Blueprint (ブループリント)
| ノード | 説明 |
|---|---|
ブループリントを実行 |
|
制御フロー
| ノード | 説明 |
|---|---|
ブランチ | ブール型の属性に基づいて 2 つの出力のうち 1 つを選択します。 これにより、グラフ内でオーバーライドできるブール値に基づいて、提供されたデータを「出力 A」または「出力 B」のいずれかに渡すことができます。 特定の環境 (何かの有無、実行中のプラットフォームなど) に応じてグラフのさまざまな部分が実行されるように、グラフ全体の実行フローを制御します。 データを持たないブランチは、より効率的なパフォーマンスのために実行からカリングされます。 |
選択 | ブール型の属性に基づいて、単一の出力に転送される 2 つの入力のうち 1 つを選択します。 これは、特定の環境 (何かの有無、実行中のプラットフォームなど) に応じてグラフのさまざまな部分が実行されるように、グラフ内の実行フローを制御するために使用されます。 現時点では Select ブランチ (入力) は実行からカリングされませんが、今後のリリースではカリングされる可能性があります。 |
選択(Multi) | 複数入力バージョンの Select ノード。整数、列挙型、文字列ベースにすることができます。 このノードは特に、さまざまなデータを選択する場合にそれをグラフ内でわかりやすくするのに役立ち、 「マジック ナンバー」の印象を取り除いたり、選択する入力が 3 つ以上ある場合に削除したりします。 |
切り替える | 複数出力バージョンの Branch ノード。整数、文字列、列挙型を選択するようにできます。 このノードは特に、さまざまなデータを選択する場合にそれをグラフ内でわかりやすくするのに役立ち、 「マジック ナンバー」の印象を取り除いたり、選択する入力が 3 つ以上ある場合に削除したりします。 |
Debug
| ノード | 説明 |
|---|---|
Debug | グラフ内の前のノードをデバッグします。このデバッグは、一時的なものではありません。 これは、このノードにデータを提供するノードでデバッグを有効にするのと同様に機能します。 デバッグ パラメータが一時的なものであっても、これは一時的なものではないため、グラフ内に永続的なデバッグ ポイントを設定する場合に便利です。 エディタ以外のビルドでは実行されません。 |
サニティチェックポイントデータ | 入力データポイントが指定された範囲内の値を持っているのかどうかを検証します。範囲外の場合、このノードはエラーをログに記録し、生成をキャンセルします。 これは、グラフ内の仮定を検証しようとする場合に役立ちますが、グラフ内の適切な構成要素とみなすべきではありません。 |
出力文字列 | オプションでプレフィックス付きのメッセージをログ、ノード、画面に出力するメッセージを出力します。 これはシッピング ビルドのパススルー ノードとして機能します。つまり、この時点ではプレフィックス付きのメッセージを出力することはありません。 このノードは、制御フロー ノードの後のデッド ブランチなど、グラフ内の仮定をデバッグしたり検証したりするのに役立ちます。 |
密度
| ノード | 説明 |
|---|---|
カーブ再マッピング密度 | 指定された曲線に従って、ポイント データ内の各ポイントの密度を別の密度値に再マップします。 これは、状況によっては密度を調整して、より適切な勾配にしたり、より複雑な処理を下流で行ったりするのに使用できます。 これは別のデータ オブジェクトに依存するため、PCG の外部からはより簡単に変更できます。 Final Density = Curve Remap(Input Density) |
密度の再マッピング | ポイントの密度にリニア トランスフォームを適用します。 オプションで、入力範囲外の値に影響を与えないように設定できます。 D' = (Out_Max - Out_Min) * (D - In_min) / (In_max - In_min) + Out_Min |
足への距離 | 基準点からの各ポイントの距離に応じてポイントの密度を設定します。 これは、ターゲット ポイントに対する密度勾配を計算するのに使用され、より詳細な制御が可能になります。 ほとんどの場合、このノードはより一般的で、効率が大幅に向上したネイティブの Distance ノードに置き換えられます。 |
フィルタ
| ノード | 説明 |
|---|---|
属性フィルタ | 属性およびプロパティの汎用的なフィルタリングです。 ポイント データと属性セットの両方で機能します。 これは、データを分離してポイントをカリングしたり、別処理でバリエーションを導入できるようにしたりするために使用されます。 このフィルタは定数、別の空間データ (入力が空間データの場合、同じポイントまたは ToPoint バージョンからサンプリングしたかのようにフィルタ処理できる)、または属性セットのいずれかになります。 |
属性フィルタの範囲 | Attribute Filter の範囲ベースバージョン。入力データ (ポイント データまたは属性セット) を範囲内にあるものと範囲外にあるものに分離します。 これは、データを分離してポイントをカリングしたり、別処理でバリエーションを導入できるようにしたりするために使用されます。 このフィルタは定数、別の空間データ (入力が空間データの場合、同じポイントまたは ToPoint バージョンからサンプリングしたかのようにフィルタ処理できる)、または属性セットのいずれかになります。 |
密度フィルタ | 密度と指定されたフィルタ範囲に基づいてポイントをフィルタします。 このノードは Attribute Filter ノードで完全に置き換えられますが、より特化し、より効率的です。 パフォーマンスに大きな懸念事項がある場合や、この方法を使用する方がより簡単にグラフの意図を伝えられる場合は、このノードを使用する必要があります。 |
不規則な表面上のポイントを破棄 | 指定されたソース ポイントの周囲の複数のポイントをテストして、それらが同じ平面上にあるかどうかを判断します。 これは PCG サブグラフの使用例で、Electric Dreams のデモでも使用されています。 |
属性でデータをフィルタリング | データ (コンテンツではない) を、指定したメタデータ属性を持っているかどうかに基づいて、持っている場合は Inside Filter 出力に、それ以外の場合は Outside Filter 出力に分離します。 これは、ワールド内のアクタからデータを取得する場合など、状況によっては存在する保証のない特定の属性の存在に依存するサブグラフ セクションでのエラーや警告を防ぐために使用されます。 |
インデックスでデータをフィルタリング | 設定で指定されているインデックスおよびフィルタに基づいてデータ (コンテンツではない) を分離します。 このフィルタは、カンマ区切りの個別のインデックスや範囲を含む文字列から構成されます。 負の数字は、Python の範囲機能と同様にサポートされています。 たとえば、サイズ 10 の配列 (0 から 9 の値) では、選択されたインデックス 0、2、4:5、7:-1 には、インデックス 0、2、4、7、8 が含まれます。 これは、グラフで非常によく知られているパラメータがあり、いくつかのデータを正確に利用できる場合に使用されますが、最初か最後のインデックスが、一般的に最もよく選択されるインデックスである可能性があります。 |
タグでデータをフィルタリング | タグに応じてデータ (コンテンツではない) を分離します。 フィルタするタグのカンマ区切りリストを指定できます。 これは、データをワールドから取得して、PCG でデータ間の関係性を構築する場合に役立ちます。 たとえば、Get Actor Data ノードが指定されたタグを持つすべてのアクタを返すと、その中の一部は包含および除外になります。 次に、Fitler Data By Tag ノードを使用してデータを分離し、それをグラフ内で役立てる場所に渡します。 |
型でデータをフィルタリング | Target Type によって決められているように、データ (コンテンツではない) を型に基づいて分離します。 Outside Filter ピンを設定に表示させることができることに注意してください。。 このノードは自動フィルタリングの方法としてグラフ内で使用されますが、指定されたデータ型に基づいてグラフ内での動作を決定すると便利な場合があります。 ここで Count Data ノードと組み合わせることで、それが可能になります。 |
ポイントフィルタ | 入力ポイント データにポイントごとのフィルタを適用します。 フィルタは、(同じポイントまたは ToPoint バージョンからサンプリングしたかのようにフィルタ処理できる) 定数の空間データ、または属性セットのいずれかになります。 |
ポイントフィルタの範囲 | ポイント データに範囲ベースのフィルタを適用します。 |
自己プルーニング | 設定 (大から小など) に基づいてデータの優先順位を付けて、同じポイント データ内の点間の交点を削除します。 パターンの出現を防ぐために、ランダム化されたプルーニングを使用して、同様の半径を持つ点をランダムに選択できます。 |
全般
| ノード | 説明 |
|---|---|
タグを追加 | カンマ区切りのタグ リストに基づいて指定されたデータにタグを追加します。 これは、Filter Data By Tag ノードと組み合わせて、より複雑なグラフでのデータ追跡を向上させるために使用されます。 |
アクタに適用 | 属性セットで指定されているプロパティで駆動される、アクタのプロパティを設定します。 また、プロパティの設定後は (存在する場合)、アクタ上でパラメータのない関数を呼び出すために使用することもできます。 アクタが指定されていない場合は、PCG コンポーネントの所有者に適用されます (これは、パーティション化されたグラフの PCG パーティション アクタです)。 これは、Spawn Actor ノードの Spawned Actor Property Override Descriptions と同様の使用方法になります。 この Apply On Actor ノードは、PCG によってアクタへの変更が元に戻せないため、慎重に使用する必要があります。 このノードを活用する例としては、一部のデータ更新プロセスを PCG から直接自動化するなど、PCG から計算されたデータを柔軟な方法で、PCG から作成されたアクタやその他のアクタにプッシュすることが挙げられます。 |
タグを削除 | カンマ区切りのリストに一致するものすべて、または提供されたリストにタグがない場合に、入力データからタグを削除します。 このノードは、データのタグを正規化して下流で処理するために使用できる、より組織的なノードです。 ただし、同じ処理が複数回行われる可能性があるワークフローでデータが処理中であることを示すマーク付けの方法として使用することもできます。 |
集める | すべての入力を受け取り、すべての入力データを保持する単一のコレクションを生成します。 これは、主に整理目的で使用されます。 重要な場合 (World Ray Hit Query や指定されたグラフ内でスポーンされたコンテンツなど) に実行をシーケンスするための 依存関係のみ ピンが含まれます。 このピンに提供されたすべてのデータが出力に渡されるわけではないことに注意してください。 |
データ数を取得 | 入力ピンに渡されたデータの数を含む属性セットを返します。 これが空のポイント データを無視しないことに注意してください。 論理演算と組み合わせて使用したり、ブランチング ノードで直接ブール値として使用して、必要な場合にのみ何らかの処理を行ったりすることができます。 |
エントリ数を取得 | 属性セット内のエントリ数を返します。 これは、Get Attribute Set From Index ノードや Loop ノードと組み合わせて使用すると、サブグラフで発生することを詳細に制御するのに便利です。 |
ループインデックスを取得 | ループ サブグラフ内で実行される場合、現在のループ インデックスを含む属性セットを返します。 これは直接のサブグラフのインデックスのみを返し、最も近いループを探すためにグラフ階層を辿っていくことはしません。 これは、再帰的パターンまたはログ記録の目的でイテレーションごとのデータを計算するために使用できます。 |
プロキシ | グラフ実行中の動的オーバーライドを許可するプレースホルダー ノード置換です。 プロトタイプ (デフォルト値) は適切なノード ピンを表示するように設定できますが、実行中のノードはパラメータ オーバーライドを介して駆動できます。 これは、特定のノイズ型の公開など、事前に構築されているノードからインスタンスごとの制御を許可する場合に特に役立ちます。 |
タグを置換 | 一致するタグで入力データのタグを置き換えます。 このノードは、カンマ区切りのリストを使用して 1:1、N:1、または N:N の関係におけるタグの置換をサポートしています。 |
属性をソート | 入力データ (ポイント データおよび属性セット) を指定した属性で、昇順または降順に並び替えます。 このノードを使用して、下流ノードが予測可能になるようにデータを並び替えます。 たとえば、いくつかの値を優先度順に並べてから、この下流で処理できます。 |
ポイントをソート | Sort Attributes のエイリアスです。 |
ヘルパー
| ノード | 説明 |
|---|---|
空間データ境界をポイントに適用 | 境界を計算し、空間データの境界を表す単一のポイントを返します。 これは表示目的や、同じ型の別のデータとマージできるデータをよりシンプルに表現するのに役立ちます。 |
階層生成
| ノード | 説明 |
|---|---|
グリッドサイズ | 下流ノードを実行するグリッド サイズを指定します。 階層生成とともに使用されます。 |
入出力
| ノード | 説明 |
|---|---|
データテーブル横列から属性セットへ | データ テーブルから単一行を属性セットに抽出します。 これはデータ テーブルへの単一行アクセスです。Load Data Table より柔軟性に欠ける方法ですが、それでも便利です。 |
Alembic ファイルをロード | Alembic ファイルを PCG ポイント データにロードします。 このノードは Alembic ファイルをインポートし、ポイント データ形式に処理するために使用されます。 Alembic ファイルにポイント以外のものが含まれていますが、現在このノードでは他の型をサポートしていません。 このノードは、イテレート中のグラフでの実行を意図していません。 代わりに、この変換を実行し、Alembic を一度 PCG アセットに格納する EUW を使用して、より効率的にします。 Procedural Content Generation (PCG) External Data Interop プラグインが必要です。 |
データテーブルをロード | UDataTable を PCG ポイント データにロードします。 このノードは、テーブルをポイント データまたは属性セットのいずれかとしてインポートできます。 これは、PCG グラフを確認せずに PCG データ駆動を作成するのに非常に便利です。 データ テーブルの変更は、ファイルの保存時に PCG に反映されます。 |
PCG データアセットをロード | 同期または非同期で PCG Data Asset オブジェクトをロードし、グラフ内でそのデータを下流に渡します。 |
メタデータ
| ノード | 説明 |
|---|---|
属性を追加 | ポイント データまたは属性セットに属性を追加します。 |
属性ノイズ | ポイント データのセット内の各ポイントのターゲット属性の新しい値を計算します。 これは、ポイント データおよび属性セットで機能します。 値は、選択した入力属性、モード、ノイズ最小、ノイズ最大によって異なります。 これは、連続するパラメータにバリエーションを追加するのに役立ちます。 |
属性パーティション | 選択されている属性に従い、入力データ (ポイント データまたは属性セット、あるいは必要に応じてポイント データに変換されるその他の空間データ) をパーティションに分割します。 選択されている各属性に同じ値を持つすべての要素は、最終的に同じ出力データになります。 これは、Mesh Sampler を使用してメッシュのポイントをサンプリングし、それらのポイントを Copy Points で「適切な」ポイントに反映する場合など、同じ属性値が特定の状況で処理される場合に、データを Loop ノードに分離するのに役立ちます。 |
属性の名前を変更 | 既存の属性の名前を変更します。 このノードは、ダウンストリーム処理で特定の属性が存在する必要がある場合に使用されます。 これはデータをサブグラフに渡すのに役立ちます。 |
属性を選択 | 選択されている軸の最小値、最大値、中央値を計算します。 これは軸との内積の計算に似ていることに注意してください。 |
属性文字列オプション | 文字列の追加など、文字列関連の属性操作を実行します。 このノードは、Print String ノードおよび Create Target Actor ノードと組み合わせて使用します。 |
Break トランスフォーム属性 | トランスフォーム属性をそのコンポーネント、平行移動、回転、スケールに分解します。 |
ベクター属性を分解 | ベクター属性をそのコンポーネント、X、Y、Z、およびWに分解します。 |
コピー属性 | 属性ピンまたは入力自体から属性を新しいポイント データにコピーします。 このノードは、必要に応じて一部の値を他の属性に移動し、より複雑な操作を実行して、最終的に元の属性に書き戻すことができるという点で便利です。 |
属性を作成 | 単一の属性を持つ属性セットを作成します。 |
属性を削除 | 属性セットまたは空間データからカンマ区切りの属性をフィルタ (保持または削除) します。 このノードは、下流で役に立たない属性を削除するのに使用します。 いくつかの状況では一時的な属性を使用して出力データを汚さないように削除することに価値がある場合もありますが、Copy Points などの一部の操作では属性ベースでコストがかかり、使用されている設定に依存するために削除が行われることもあります。 |
密度ノイズ | 属性ノイズのエイリアスです。 |
名前で属性をフィルタ | 属性セットまたは空間データからカンマ区切りの属性をフィルタ (保持または削除) します。 これは Delete Attributes のエイリアスです。 |
ポイントインデックスから属性を取得 | 別の属性セット内のポイント データとその属性から単一のポイントを取得します。 このノードは、共通の属性値を簡単に取得するために、パーティション化されたデータのループ内でよく使用されます。 |
トランスフォーム属性を作成 | 提供された 3 つの属性 (平行移動、回転、スケール) からトランスフォーム属性を作成します。 |
ベクター属性を作成 | 出力タイプ に基づいて 2 ~ 4 つの属性からベクター属性を作成します。 |
属性を照合および設定 | 提供されている属性セット テーブル (マッチ データ) のエントリを選択し、その値を入力データ (ポイント データまたは属性セット) にコピーします。 これは Point Match and Set ノードに置き換わります。 選択は、入力データ (入力属性) の属性 (マッチ属性) をマッチ データの属性 (マッチ属性) と照合することによって制御されるため、値が同じ場合はマッチ データのエントリからのみ値がコピーされます。 データが属性と一致しない場合、マッチ データ内のすべてのエントリは有効な一致とみなされます。 さらに、マッチ データのどれとも一致しないエントリを保持するか破棄するかのオプションがあります。 複数の潜在的な一致がマッチ データにある場合、それらに重み付けを行うことができます (マッチ ウェイト属性)。または、ランダムに選択されます。 [Use Input Weight Attribute (入力ウェイト属性を使用)] フィールドと [Input Weight Attribute (入力ウェイト属性)] フィールドを使用して、入力データの [0 ‐ 1] の値をマッチ データの正規化された重みと関連付けることができます。 これにより、事前に計算された空間ノイズからランダムに選択することができます。 最後に属性が一致するとき、等しい値がない場合は、最も近い値と照合することができます。 また、一致するかしないかの最大距離しきい値を設定することもできますが、これは適切な距離メトリックを持つ連続する値のタイプに限定されます。 ベクター上の距離はエンジン単位のユークリッド距離であり、ローテーター上の距離は度単位、クォータニオン上の距離はラジアン単位であることに注意してください。 照合操作中に使用される属性は出力データに反映されないため、マッチ データのマッチ属性やウェイト属性は出力にコピーされません。 このノードは、非常に柔軟にデータをポイントや属性セットに注入し、値を照合する機能によって複雑なデータ セットを構築することができます。 これは、ノードがデータテーブルやデータアセットのリストをロードして、適切なデータを 1 回の操作でポイントに簡単にコピーできるデータ駆動のグラフの基礎です。 |
属性をマージ | 複数の属性セットを (接続順に) マージします。 共通しない属性がある場合、それらの属性を持たないエントリではそれぞれの属性の (作成時点の) デフォルト値に設定されます。 |
ポイントマッチとセット | Match And Set Type (タイプをマッチおよび設定) オプションを使用すると、選択基準に基づいて各ポイントの一致が検索され、その値が属性に適用されます。 一般的な使用例は、Static Mesh Spawner ノードの下流工程で使用するメッシュを、By Attribute セレクタを使用して選択することです。 |
属性を移行 | 同じデータ セット サイズを持つ同じタイプ (空間から空間、またはポイントからポイント) のオブジェクトから属性を設定します。 これは、一部の処理が同じデータ セット上で実行されるときに、属性のサブセットのみを保持する必要がある場合、または 1:1 の関係がデータ内に存在する場合に役立ちます。 |
Attribute Bitwise Op
| ノード | 説明 |
|---|---|
および | 2 つの属性間のビット単位の AND の結果を計算します。 |
しない | 2 つの属性間のビット単位の NOT の結果を計算します。 |
または | 2 つの属性間のビット単位の OR の結果を計算します。 |
Xor | 2 つの属性間のビットごとの XOR (排他的論理和) の結果を計算します。 |
Attribute Boolean Op
| ノード | 説明 |
|---|---|
および | 2 つの属性間のブール値 AND の結果を計算します。 |
しない | 2 つの属性間のブール値 NOT の結果を計算します。 |
または | 2 つの属性間のブール値 OR の結果を計算します。 |
Xor | 2 つの属性間のブール値 XOR (排他的論理和) の結果を計算します。 |
Attribute Compare Op
| ノード | 説明 |
|---|---|
等しい | 2 つの属性間の比較 Equal To の結果をブーリアン属性に書き込みます。 |
より大きい | 2 つの属性間の比較 Greater Than の結果をブーリアン属性に書き込みます。 |
以上または等しい | 2 つの属性間の比較 Greater Than Or Equal To の結果をブーリアン属性に書き込みます。 |
より少ない | 2 つの属性間の比較 Less Than の結果をブーリアン属性に書き込みます。 |
以下 | 2 つの属性間の比較 Less Than or Equal To の結果をブーリアン属性に書き込みます。 |
等しくない | 2 つの属性間の比較 Not Equal の結果をブーリアン属性に書き込みます。 |
Attribute Maths Op
| ノード | 説明 |
|---|---|
Abs | Absolute Value の数学演算の値を計算します。 入力属性値を正の値に変換し、結果を属性に書き込みます。 |
Add (追加) | Add 数学演算の値を計算します。 2 つの入力値を受け取り、それらを加算し、結果を属性に書き込みます。 |
Ceil | Ceiling 数学演算の値を計算します。 入力値を受け取り、それを次の整数に切り上げます。 |
Clamp | Clamp クランプ数学演算の値を計算します。 入力値を受け取り、それらを特定の範囲に制限します。 |
最大クランプ | Clamp 数学演算の最大値を提供します。 |
最小クランプ | Clamp 数学演算の最小値を提供します。 |
Divide | Divide 数学演算の値を計算します。 2 つの入力を受け取り、最初の入力を 2 番目の入力で除算し、結果を属性に書き込みます。 |
Floor | Floor 数学演算の値を計算します。 入力値を受け取り、それを最も近い整数に切り捨て、結果を属性に書き込みます。 |
Frac | Frac 数学演算の値を計算します。 入力値を受け取り、その値の小数部分を返します。 たとえば、入力値 X の場合、結果は X から X の Floor を引いたものになります。 出力値の範囲は 0 から 1 で、下限を含め、上限を除きます。 |
Lerp (線形補間) | 線形補間数学演算の値を計算します。 この式は 2 つの点の間に線を引き、3 番目の Ratio 値を使用してその線に沿った点の値を決定します。 次に、この値を属性に書き込みます。 |
Max | 属性に対する Max 数学演算の値を計算し、結果を属性に書き込みます。 この演算は 2 つの入力値を受け取り、2 つの値のうち大きい方を出力します。 |
Min (最小) | 属性に対する Min 数学演算の値を計算し、結果を属性に書き込みます。 この演算は 2 つの入力値を受け取り、2 つの値のうち小さい方を出力します。 |
Modulo (剰余演算) | Modulo 数学演算の値を計算します。 2 つの入力値を受け取り、最初の値を 2 番目の値で除算します。 次に、残りを返し、それを属性として書き込みます。 |
Multiply (乗算) | Multiply 数学演算の値を計算します。 2 つの入力値を受け取り、それらを乗算し、結果を属性に書き込みます。 |
One Minus | 属性に対する One Minus 数学演算の値を計算し、結果を属性に書き込みます。 この式は入力値 X を受け取り、1 ~ X を出力し、結果を属性として書き込みます。 |
Pow | Power 数学演算の値を計算します。 この式は、基数と指数という 2 つの値を受け取ります。 基本値を指数乗し、結果を属性として出力します。 |
Round | Round 数学演算の値を計算し、結果を属性に書き込みます。 この式は入力値を受け取り、それを最も近い整数に丸めます。 |
Set | 出力属性を、指定された属性の値に設定します。 |
Sign | Sign 数学演算の値を計算し、結果を属性に書き込みます。 入力値を評価し、それが正、負、またはゼロぴったりであるかどうかを示します。
|
Sqrt | 入力に対して Square Root 数学演算の値を計算し、結果を属性に書き込みます。 |
減算 | Subtract 数学演算の値を計算します。 この式は 2 つの入力を受け取り、最初の入力から 2 番目の入力を減算します。 |
切り捨て | Truncate 数学演算の値を計算し、結果を属性に書き込みます。 この式は、値のうち、整数を残したまま小数部分を切り捨てます。 たとえば、値「1.4」は「1」に切り捨てられます。 |
Attribute Reduce Op
| ノード | 説明 |
|---|---|
Average (平均) | グラフが操作する一連の情報を集めます。 たとえば、ポイント データのすべてのポイントをスケールするための適切なピボットとして使用する平均位置を探すことができます。 |
Max | グラフが操作する一連の情報を集めます。 たとえば、ポイント データのすべてのポイントをスケールするための適切なピボットとして使用する平均位置を探すことができます。 |
Min (最小) | グラフが操作する一連の情報を集めます。 たとえば、ポイント データのすべてのポイントをスケールするための適切なピボットとして使用する平均位置を探すことができます。 |
Attribute Rotator Op
| ノード | 説明 |
|---|---|
結合 | 2 つの回転値を結合し、最初に A、次に B を結合して結果を属性として書き込みます。 |
トランスフォームの回転を反転 | 指定された変換の逆によってローテータを変換します。 |
Invert (反転) | 指定されたローテータの逆を検索し、結果を属性として書き込みます。 |
Lerp (線形補間) | 比率 に基づいて 2 つのローテータ入力 A と B の間を線形補間します。 これは、比率が 0 の場合は A の 100 パーセントを適用し、比率が 1 の場合は B の 100 パーセントを適用します。 |
正規化する | 角度を -180 ~ 180 の範囲に固定し、結果を属性として書き込みます。 |
トランスフォームの回転 | 指定されたトランスフォームによって回転を変換します。 このノードは回転を入力として受け取り、指定された変換を適用します。 |
Attribute Transform Op
| ノード | 説明 |
|---|---|
合成する | 2 つのトランスフォームを A、B の順序で合成します。 トランスフォームを作成するときは順序が重要です。 A B は、最初に A を適用し、次に B を後続の変換に適用するトランスフォームを生成します。結果は属性に書き込まれます。 |
Invert (反転) | 入力トランスフォームを反転し、新しいトランスフォームを属性として書き込みます。 |
Lerp (線形補間) | 比率 に基づいて 2 つのトランスフォーム入力 A と B の間を線形補間します。 これは、比率が 0 の場合は A の 100 パーセントを適用し、比率が 1 の場合は B の 100 パーセントを適用します。 |
Attribute Trig Op
| ノード | 説明 |
|---|---|
Acos | 入力の逆余弦 (arccos) を返し、結果を属性に書き込みます。 |
Asin | 入力の逆正弦 (arcsin) を返し、結果を属性に書き込みます。 |
Atan | 入力の逆接線 (arctan) を返し、結果を属性に書き込みます。 |
Atan 2 | 2 つの入力 (B/A) の逆接線 (arctan2) を返し、結果を属性に書き込みます。 |
Cos | 入力の余弦 (cos) を返し、結果を属性に書き込みます。 |
度からラジアンへ | 度単位の入力に基づいてラジアン値を返し、結果を属性に書き込みます。 |
ラジアンから度へ | ラジアン単位の入力に基づいて度の値を返し、結果を属性に書き込みます。 |
Sin | 入力の正弦 (sin) を返し、結果を属性に書き込みます。 |
Tan | 入力の接線 (tan) を返し、結果を属性に書き込みます。 |
Attribute Vector Op
| ノード | 説明 |
|---|---|
クロス | 2 つの入力ベクトルの外積を出力します。 |
距離 | 2 つのベクトル入力間の距離を計算します。 |
Dot (ドット) | 2 つの入力ベクトルの内積を返します。 |
トランスフォームの方向を反転 | 入力トランスフォームの逆によって方向ベクトルを変換します。この際、長さは変更しません。 結果は属性に書き込まれます。 |
トランスフォームの位置を反転 | 入力トランスフォームの逆によって位置を変換します。 結果は属性に書き込まれます。 |
長さ | 入力ベクトルに格納されているベクトルの長さを返します。 |
正規化する | ベクトルの正規化されたコピーを出力し、長さに基づいて確実に実行できるようにします。 ベクトルの長さが短すぎて安全に正規化できない場合は、ゼロ ベクトルを返します。 |
軸の周りを回転 | ベクトル A を軸の周りに角度 (度) だけ回転させた結果を計算して返します。 |
トランスフォームの方向 | 指定された変換によって入力方向ベクトルを変換します。 長さは変更されません。結果は属性に書き込まれます。 |
トランスフォームの回転 | 入力トランスフォームによってローテータまたはクォータニオンを変換します。 結果は属性に書き込まれます。 |
Attribute Rotator Op
| ノード | 説明 |
|---|---|
Make Rot from Angles | inout のロール、ピッチ、ヨーの値を使用して作成されたローテータ属性を返します。 |
Make Rot from Axis | 前方軸、右軸、上軸から作成された参照フレームを使用してローテータを返します。 |
Make Rot from X | X 軸のみを使用して作成されたローテータ属性を返します。 Y 軸と Z 軸は指定されませんが、正規直交系になります。 |
Make Rot from XY | X 軸と Y 軸を使用して作成されたローテータ属性を返します。 X 軸は固定されたままです。正規直交系を強制するため、Y 軸が最小限変化する可能性があります。 Z 値も計算します。 |
Make Rot from XZ | X 軸と Z 軸を使用して作成されたローテータ属性を返します。 X 軸は固定されたままです。正規直交系を強制するため、Z 軸が最小限変化する可能性があります。 Y 値も計算します。 |
Make Rot from Y | Y 軸のみを使用して作成されたローテータ属性を返します。 X 軸と Z 軸は指定されませんが、正規直交系になります。 |
Make Rot from YX | Y 軸と X 軸を使用して作成されたローテータ属性を返します。 Y 軸は固定されたままです。正規直交系を強制するため、X 軸が最小限変化する可能性があります。 Z 値も計算します。 |
Make Rot from YZ | Y 軸と Z 軸を使用して作成されたローテータ属性を返します。 Y 軸は固定されたままです。正規直交系を強制するため、Z 軸が最小限変化する可能性があります。 X 値も計算します。 |
Make Rot from Z | Z 軸のみを使用して作成されたローテータ属性を返します。 X 軸と Y 軸は指定されませんが、正規直交系になります。 |
Make Rot from ZX | Z 軸と X 軸を使用して作成されたローテータ属性を返します。 Z 軸は固定されたままです。正規直交系を強制するため、X 軸が最小限変化する可能性があります。 Y 値も計算します。 |
Make Rot from ZY | Z 軸と Y 軸を使用して作成されたローテータ属性を返します。 Z 軸は固定されたままです。正規直交系を強制するため、Y 軸が最小限変化する可能性があります。 X 値も計算します。 |
パラメータ
| ノード | 説明 |
|---|---|
アクタ プロパティを取得 | PCG コンポーネント (またはオブジェクト階層の上位) を保持するアクタからプロパティのコンテンツを取得します。 デフォルトでは、アクターレベルのプロパティ (ブループリント変数に便利) が調べられますが、Select Component (コンポーネントを選択) オプションを使用してコンポーネントのプロパティも調べることができます。 このプロパティは「フラットな」構造体 (配列を持たない構造体など) を保持することや、サポートされている有効な型の配列になることができます。 配列の場合、出力は複数のエントリを持つ属性セットになります。 このノードは、Get Actor Data と同じインターフェースを使用して、ワールド内のアクタ (自身またはその他) からデータを取得し、グラフ内でのインスタンスごとの制御を許可するのに役立ちます。 たとえば、マテリアルの砂をさらにスポーンするためのスタティックメッシュのリストを保持できます。 |
オブジェクト パスからプロパティを取得 | PCG コンポーネント (またはオブジェクト階層の上位) を保持するアクタからプロパティのコンテンツを取得します。 これは、属性セットを介してアクタ参照 (ソフト オブジェクト パス) を取得することができる点を除き、Get Actor Property ノードに似ています。 このノードは、データ テーブルでアクタへの参照を保持し、アクタの選択に依存せずにそれらから必要に応じてプロパティを簡単に取得できるデータ駆動のユース ケースで役立ちます。 |
属性セットへのポイント | すべてのポイント プロパティを削除してポイント属性のみを保持することにより、ポイント データを属性セットに変換します。 入力ポイント データに属性がない場合、属性セットは出力されません。 このノードは、特性の状況で処理またはメモリの最適化として、あるいはデータ型をグラフ全体で均一化するために役立ちます。 |
Point Ops
| ノード | 説明 |
|---|---|
境界にスケールを適用 | 入力ポイント データの各ポイントでは、境界の最小値および最大値がスケールによって乗算されてスケールは「1」にリセットされますが、負の値は維持されます。 |
境界モディファイア | 指定されたポイント データ内のポイントの境界プロパティを変更します。 このノードは、簡単な方法で入力ポイント データの境界に影響を与えるために使用されます。たとえば最終結果を調整するために Self Pruning ノードまたは Intersections や Differences の前に使用すると便利な場合があります。 |
上向きベクターから回転をビルド | |
ポイントを結合 | 入力ポイント データごとに、それぞれのポイント データ内のすべてのポイントを網羅する単一ポイントを含む新しいポイント データを出力します。 これにより、ポイント データを再計算して特定の変換を設定することができます。 このノードは、一部のデータの最適化や上位レベルのビューとして使用されることもあります。 |
ポイントを複製 | 各ポイントについて、ポイントを複製して Direction で定義されている軸に沿って移動させ、新しいポイントに変換を適用します。 イテレーションが示す回数だけ処理を繰り返します。 Direction applied in relative space が選択されている場合、ディスプレイスメントの軸が新しいポイントから繰り返し選択されます。 このノードは、たくさんのポイントを素早く配置し、フラクタルのようなパターンを構築するのに使用されます。 |
境界モディファイア | 境界を操作して、ポイント データ内の各ポイントの範囲を変更します。 |
ポイントを分割 | 各ポイントに「Before Split」と「After Split」に分割されるポイントが 2 つ作成されます。ここで、指定された「Split Axis」と「Split Position」に沿って境界が分割されます。 たとえば、Split Position が「0.5」の場合、各ポイントは真ん中でカットされ、それぞれが異なる出力になります。 これは、サブディビジョンをサポートすることにより、より複雑なポイント構成を実行するのに使用できます。 |
ポイントをトランスフォーム | 基本的なランダム ルールを使用して、(その場で、または属性に適用を使用して属性に) ポイントのトランスフォームを変更します。 変換の各コンポーネント (平行移動、回転、スケール) を相対ではなく絶対に設定すると、より詳細な制御が可能になります。 これには、次のオプションがあります。 均一スケール:ポイント データを同じ X、Y、Z 比率にスケールします。 シードを再計算:新しいワールド位置に従ってポイント シードを強制的に更新します 例: 絶対回転と回転 Z が 0 の Transform Points ノードを使用すると、ポイントが Z 方向で上を向くようになります。これにより、ランドスケープからサンプリングした後、ポイントを確実に上方向にできます。 このノードは、入力ポイント データを制御して空間的なバリエーションを生成する場合に便利です。 これは自然な見た目のデータを生成するグラフの定番です。 |
Sampler
| ノード | 説明 |
|---|---|
ポイントをコピー | ソース内のすべてのポイントのインスタンスを、ターゲットごとのソース入力内のポイントごとにコピーします。 空間プロパティを継承するには複数のオプションがありますが、属性の継承 がこのノードのパフォーマンスに最も大きな影響を与えます。 このノードを使用してネスティングされているループのコピーを実行すると、2 つの出力があるターゲットを 2 つ持つソースや、4 つの出力があるターゲットを 2 つ持つソースを 2 つ設定することができます。 このノードは、ローカル空間 (つまり PCG アセンブリ/アセット) で生成されるポイント データをインスタンス化するためによく使用され、 ワールド位置でのポストプロセス前に設定されます。 |
メッシュ サンプラ | 指定されたスタティックメッシュ上のポイントをサンプリングします。 この操作にはコストがかかることに注意してください。 PCG Geometry Script Interop プラグインと Geometry Script プラグインが必要です。 |
テクスチャ サンプラ | 各ポイントでテクスチャの UV をサンプリングします。 テクスチャ入力が指定されると、「Planar From Texture Data」テクスチャ マッピング メソッドを使用して Get Texture Data ノードに基づいて UV 座標を変換し、テクスチャをポイント入力にサンプリングします。 テクスチャ マッピング メソッドが「Use Explicit Points UV Coordinates」の場合、UV 座標は「0-1」となります。さらにオプションで、UV に使用される属性を決定したり、高度なタイルを使用してラップするテクスチャを指定したり、「0-1」にクランプしたりすることができます。 |
ポイントを選択 | 指定されたポイントが選択されるかされないかの確率を使用して、入力ポイント データからポイントのサブセットを選択します。 実際に比率を「0.5」にすると約半分の入力ポイントが選択されますが、確実に半数になるかどうかの保証はありません。 ポイントを選択するかどうかの決定は独立して行われるため、これは正規分布に従います。 |
スプライン サンプラ | スプラインをソース マテリアルとして使用してポイントをサンプリングします。 スプライン上でのサンプリングは、スプライン カーブ上で直接行うことを意味します。一方、水平、垂直、ボリューム オプションはスプライン ボリューム上でサンプリングします (Y/Z 軸の制御点の半径によって決まります)。 スプライン内でサンプリングするには、スプラインを閉じる必要があります。 |
サーフェス サンプラ | サーフェス データ上の点を規則的なグリッド パターンでサンプリングします。 このノードには次のオプションが含まれています。
|
ボリューム サンプラ | 提供された空間データを通常の 3D グリッド上でサンプリングします。 これは「ボクセルのような」動作を示します。また、大規模なデータや高密度の場合はコストがかかる可能性があります。 |
Spatial
| ノード | 説明 |
|---|---|
ポイントに属性をセット | 属性セット内のエントリごとにデフォルトのポイントを1 つ作成することにより、属性セットをデータ ポイントに変換します。 変換されたポイント データには、元の属性セットと同じ属性が設定されます。 |
ポイントを作成 | ポイントの静的な記述からポイントを含むポイント データを作成します。 このノードは通常、いくつかのワールド位置などを必要とする別の処理をシードする単一のポイントを作成するために使用されます。 |
ポイントグリッドを作成 | 設定によって定義されたポイントの単純なグリッドを含むポイント データを作成します。 このノードは Copy Points ノードと組み合わせてローカル空間モードで使用され、複数のソースの周囲にグリッドを作成します。 |
スプラインの作成 | 入力されたポイント データからスプラインを作成します。 以下を作成するためのオプションが含まれています。
|
スプラインからサーフェスを作成 | 閉じた スプラインから暗黙的なサーフェスを作成します。 作成されたサーフェスは、Surface Sampler、Difference、Intersection などのサーフェスのように使用できます。 現時点では、これはスプラインの離散化に依存しているため、非常に大きなスプラインでは機能しない場合があります。 その場合は、最初にスプラインをサンプリングしてから、このノードを使用する前に (Create Spline ノードを使用して) 新しいスプラインを作成することを検討してください。 |
アクタ境界外のポイントをカリング | 現在のコンポーネント (パーティション アクタまたはオリジナル) の境界に基づいて、境界拡張の追加制御を使用して入力ポイント データからポイントをカリングします。 これは、必要に応じて一部のオーバーラップを許容しながら、入力データが現在の処理に関連していることを確認するために使用できます。 |
差分 | 各ソースの差分を差分の和集合に対して計算した結果を出力します。 このノードには次のオプションがあります。 密度関数:操作の完了後にどの密度関数を使用するかを制御します。 次のオプションが含まれます。
モード:具体的な空間データと連続データ (他のタイプ、分布関数に似たもの) の存在における差異の動作を制御します。 具体的な要素を選択する場合には、これを Discrete に設定する必要があることに注意してください。そうしないと、結果の密度関数が平坦にならない可能性があります。 次のオプションが含まれます。
|
距離 | 最初の入力の各ポイントについて、2 番目の入力の最も近いポイントまでの距離を計算し、あるポイント データ セットから同じポイント データ セットまでの距離を計算するときに、自動的に self を無視します。 オプションで、距離ベクトルを属性として出力できます。 このノードは、ディスタンス フィールドをシミュレートしたり、ポイント データに距離ベースのグラデーションを作成したりするために使用されます。 これは、森の端にある樹木や川の間際にある樹木のスケールを調整する場合に使用できます。 |
凸包2Dを検索 | 各ポイントの位置のみ (境界ではない) を使用して、入力ポイント データから 2D 凸型を計算します。 このノードを Create Spline ノードと組み合わせて使用すると、すべてのポイントを含むスプラインを作成することができ、それを Create Surface From Spline ノードに渡すこともできます。 |
アクタ データを取得 | Get … Data ノードの一般的なバージョンです。 アクタ フィルタとモードを使用してアクタからデータを読み取ります。 これには、次のオプションがあります。 アクタ フィルタ: アクタ データを取得するときにどのアクタを考慮するかを決定します。 子を含める:入力の子アクタを考慮するかどうかを決定します。 モード:次のオプションが含まれます。
PCG データを取得する場合の追加オプション:
このノードは特にルート グラフで PCG からデータにアクセスする最も一般的な方法です。 |
境界を取得 | 任意の空間データのワールド空間境界 (最小と最大) を含む属性セットを作成します。 これはより多くのタイプの境界を返すため、Combine Points ノードより一般的です。 このノードは、グラフ内でより大規模な処理を実行するための上位レベルの構成として使用できます。 |
ランドスケープデータを取得 | 適切に型付けされ構築されたランドスケープ データを返す Get Actor Data ノードを特殊化します。 |
PCGコンポーネントデータを取得 | 選択されたアクタ PCG コンポーネントから生成された出力のみを返す Get Actor Data ノードを特殊化します。 |
ポイント数を取得 | 指定されている入力ポイント データ内のポイントの数を返します。 これにより、入力の数に関係なく 1 つの属性セットと、入力ポイント データごとにその属性セットに 1 つのエントリが作成されます。 |
プリミティブデータを取得 | 適切に型付けされフィルタされたプリミティブ データを返す Get Actor Data ノードを特殊化します。 |
スプラインデータを取得 | 適切に型付けされフィルタされたスプライン データを返す Get Actor Data ノードを特殊化します。 |
テクスチャデータを取得 | テクスチャをサーフェス データにロードします。 圧縮テクスチャ タイプを実行するには、多くの場合 GPU が必要であることに注意してください。 これにより、圧縮テクスチャのサンプリング、目的の UTexture2d を選択するインデックス付きの UTexture2DArrays、任意の UTextures の Availability プロパティを使用して作成できる CPU が利用可能なテクスチャのサンプリング、バイリニア フィルタリングのみの代わりのポイント フィルタリングがサポートされます。 また、このノードは CPU サンプリングを強制するエディタ専用オプションも使用できます。 これによって CPU から見える未圧縮のターゲット テクスチャの重複が作成され、代わりにそれがサンプリングされることで GPU サンプリングの圧縮アーティファクトが回避されます。 |
ボリュームデータを取得 | 適切に型付けされフィルタされたボリューム データを返す Get Actor Data ノードを特殊化します。 |
内部交差点 | ピンに関係なく、ノードに提供されたすべてのデータ間の内部交差点を計算します。 次に例を示します。 入力に [A、B、C] が含まれる場合 結果: A ∩ B ∩ C |
交差点 | プライマリ ソース ピンで提供される各データの外側の交差を計算します。結果は、他のソースピン上のデータの和集合に対して、プライマリ ソース ピンのデータごとに 1 つの交差になります。 次に例を示します。 プライマリ ソースに [A、B]、 ソース 1 に [C、D]、 ソース 2 に [E] が含まれている場合 結果: A ∩ (C ∪ D) ∩ E、 B ∩ (C ∪ D) ∩ E |
コンクリートを作成 | コンポジット データ型 (交差、差集合、和集合) をポイント データに折りたたみます。 すでに具体的なデータには影響しません。 このノードは通常、直接使用されることはありませんが、特定のノードへの変換ステップとして使用されます。 |
ポイントをマージ | 複数の入力ポイント データを 1 つのポイント データに結合します。 必要に応じて属性がマージされ、非共通属性がデフォルト設定されます。 |
シードをミューテート | 入力ポイント データ内のすべてのポイントのシードを、その位置、前のシード、このノードのシード、およびコンポーネントのシードに従って変更します。 このノードはポイントが重複するいくつかの操作を実行した後のランダムな動作を分離するのに役立ちますが、そうではない場合はシードに影響を与えないことがあります。 |
法線から密度 | ポイント法線と指定された設定 (法線、オフセット、強度、密度モード) に基づいてポイント データ密度を計算します。内積に似ていますが、それより柔軟性があります。 このノードは、特定の軸 (いくつかの樹木を高くする) のすぐ近くに配置されているポイントやまったく揃っていない (急な斜面の樹木を削除する) ポイントに、何らかの方法で影響を与えるためによく使用されます。 |
ポイント近傍 | 近傍ベースの値を計算し、検索距離 (エンジン単位) に従って入力ポイント データに設定します。 値には、中心までの距離、平均近傍の中心、平均密度、および平均カラーが含まれます。 このノードは、ポイント全体の密度や値を滑らかにするために使用でき、自然なプロシージャル処理では役立ちます。 |
メッシュからのポイント | 提供されたスタティックメッシュの境界を持つ 1 つのポイントとそのメッシュへの参照を含むポイント データをビルドします。 これは、潜在的なメッシュの選択が事前に完了し、交差テストやセルフ プルーニングを行う前に、それらの境界を (多くの場合、パーティション ノード+ Loop ノード + Point From Mesh の組み合わせを使用して) ポイントに移動させる場合に役立ちます。 |
投影 | ソース データからターゲットに投影するための投影データを作成します。 ソース データからターゲット データへの特別な投影表現がない場合、データはポイントに変換されることに注意してください。 このノードは、グラフ内で何らかの操作を行った後、サーフェスにポイントを再投影するためによく使用されます。 たとえば、Copy Points ノードの後、ポイントを環境内の適切な位置に置き換えるのによく使用されます。 |
空間ノイズ | 空間的に一貫したノイズ パターン (パーリン ノイズなど) を構築し、それを指定された属性に書き込みます。 このノードは、入力駆動のウェイトを持つ Match and Set Attributes と組み合わせて使用して、空間ノイズを選択に適用できます。 一般に、このノードはより自然に見える分布を取得するのに役立ちます。 |
To ポイント | データがすでにポイント データである場合はそのデータにキャストするか、空間データをポイント データに離散化します。 |
結合 | 分布関数の観点から、データ間の論理結合を作成します。 結果は、選択した密度関数オプションによって異なります。 密度関数:操作の完了後にどの密度関数を使用するかを制御します。 次のオプションが含まれます。
|
ワールドレイヒットクエリ | 物理世界でレイ キャストを実行するサーフェスのようなデータを作成します。 サーフェス データを必要とする任意のノードにデータを渡すことができます。 デフォルトでは、レイのサイズと方向はソース コンポーネントのアクタ プロパティ (おそらくボリューム) によって決まりますが、レイのプロパティはオーバーライドできます。 これには、次のオプションがあります。 ランドスケープからメタデータを適用:レイキャストがランドスケープに当たる場合、ランドスケープ レイヤーの値を取得します。 これには多少のパフォーマンス コストがかかることに注意してください。 PCG ヒット数を無視する:PCG で生成されたすべてのアセットを無視します。 順序付けが強制されていないのに対して、ワールド (または他のグラフ) でデータを作成する他のノードがない場合に便利です。 オプションで、物理マテリアルとアクタのヒットを返すことができます。 フィルタ要素は、ヒットの一部のみを無視または保持するためのより詳細な制御に使用されます。 |
ワールドボリュメトリッククエリ | 物理世界からポイントを集めたボリュームのようなデータを作成します。 サーフェス データを必要とする任意のノードにデータを渡すことができます。 オーバラップを検索するためのチェックは、重複をポイントとして返すか、(フィルタリングの対象となる) 何も重複しないクエリのみを返すかを制御します。 オプションで、そのボリューム内で発見されたアクタを返すこともできます。 |
スポナー
| ノード | 説明 |
|---|---|
ターゲットアクタを作成 | Static Mesh Spawner など、PCG アーティファクトを書き込むターゲットとして使用可能な空のアクタをテンプレートから作成します。 |
プレイヤーポーンからのポイント | 現在のプレイヤーのポーンの位置にポイントを作成します。 ランタイム生成時に使用されます。 |
アクタをスポーン | アクタのコンテンツ、または提供された入力データ内のポイントごとのアクタのいずれかをスポーンします。 アクタの操作は、テンプレート アクタ クラス、インスタンス化されたテンプレート アクタ、または設定に応じた属性によって行われます。 これには、次のオプションがあります。 テンプレートアクタクラス:プロジェクトで使用可能なアクタのリスト。 オプション:
No Merging では、‘Spawned Actor Property Override Descriptions’ を使用してプロパティをポイントの属性からアクタに設定することができます。 アタッチ モード:
このノードは、パーティションのようなアクタを作成し、再生中に適切にストリーミングできるアクタの (ビジュアルなどの) アーティファクトを収集するのに使用できます。 |
スタティックメッシュスポナー | 提供されたポイント データのポイントごとに 1 つのスタティックメッシュをスポーンします。 スタティックメッシュ オプションは、メッシュ エントリ配列に追加され、各エントリの ウェイト を使用して選択されます。 これは、すべてのウェイト値の合計を取得し、それを各エントリのパーセンテージに変換することによって行われます。 たとえば、配列内にそれぞれの値が「1」のエントリが 4 つある場合、合計の値は「4」になります。 各エントリのウェイトは合計で除算され、パーセンテージに変換されます。 この時、各エントリがスポーンする確率は 25% になります。 スタティック メッシュの選択は、選択したメッシュ選択タイプオプションに基づくバリエーションを使用して行われます。 これには、次のオプションがあります。
選択済みのメッシュは出力ポイント データの属性に書き込まれ、その境界はポイント境界にプッシュされます。 作成された Mesh Property Override ごとに、生成時に ISM のテンプレート記述子のプロパティ ターゲットに適用される属性が選択できます。 |
サブグラフ
| ノード | 説明 |
|---|---|
Loop (ループ) | ループ ピン内のデータごとに 1 回、別のグラフをサブグラフとして実行します。 ループのないピンはそのまま渡されます。 ピンのプロパティは、各グラフの入力および出力ノードに設定されます。 ピンの使用方法により、Loop で実行されるときの動作が決定します。 フィードバック ピンには特別な動作があり、出力内の同じ名前のピンとペアにする必要があります。 実行中は、最初のイテレーションで呼び出し元のグラフからフィードバック ピンのデータを受け取りますが、その後のイテレーションでは前のイテレーションからデータを取得します。 このノードは同じ種類のデータでのローカル処理を簡素化するために非常に重要です。たとえば、(Mesh Sampler ノードを使用する) 単一のメッシュでのサンプリングを許可し、そのデータを関連するデータのみにコピーします。 また、相互依存関係 (選択と除外のシーケンス) などを持つデータ セットの構築にも使用されます。 |
Subgraph | 別のグラフをサブグラフとして実行します。 グラフは、自身を再帰的に呼び出せることに注意してください。グラフはこの Subgraph ノードが実行から (Control Flow ノードのために) カリングされるまで、または入力データがなくなるまで実行されます。 Subgraph ノードはグラフの複雑さを軽減し、再利用を最大限まで高めるための主要な要素です。 また、状況によっては役立つ再帰性もあります。 |
未分類
| ノード | 説明 |
|---|---|
コメントを追加 | グラフをカテゴリ化して整理するためのビジュアル エイドです。 これは実際のノードではありません。 |
Rerouteノードを追加 | エッジに制御点を追加してグラフ内での見た目を向上させるグラフ整理ツールです。 |
名前付き再ルーティング宣言ノードを追加 | 名前の付いた再ルーティング ノードは再ルーティング ノードに似ていますが、これにはビジュアルのエッジがありません。 これらは大きなグラフ内で非常に長いエッジや込み入ったエッジを削除するために使用します。 名前を変えて複数の場所で消費することができますが (使用)、グラフ内の 1 か所でしか定義することができません (定義)。 |