ジオメトリ スクリプトのリファレンス

ジオメトリ スクリプトで使用するブループリント ノードおよび関数のリファレンスです。

ジオメトリ スクリプト ライブラリには、メッシュの三角ポリゴン単位のビルドやその頂点数のカウントなどの低レベルのメッシュの構築およびクエリから、メッシュ ブール値や交差テストなどの高レベルの演算まで、非常に幅広い機能が含まれています。

ジオメトリ スクリプト ライブラリの詳細については、「ジオメトリ スクリプトのユーザー ガイド」を参照してください。

ほとんどの関数は、エディタで作業しているとき、およびランタイム時に使用できます。ただし、エディタで作業しているときのみに使用できる関数があるため、以下の表には、エディタで作業しているときのみ使用できることについて記載しています。

アセットおよびコンポーネントの読み取り/書き込み

この関数を使用すると、既存または新規のアセットまたはコンポーネントとの間で行う読み取り/書き込みなど、ダイナミック メッシュ インスタンスの読み取り/書き込みを行うことができます。

ノード名

説明

Copy Mesh From Static Mesh

スタティック メッシュ アセットからダイナミック メッシュ アセットを抽出します。

Copy Mesh To Static Mesh

ダイナミック メッシュ アセットから変換された新しいジオメトリでスタティック メッシュ アセットを更新します。

Copy Mesh From Component

ワールド空間またはローカル空間内にある、サポートされているコンポーネント タイプからダイナミック メッシュ アセットを抽出します。

Create New Volume From Mesh

ダイナミック メッシュ アセットから新しいボリューム アクタ (ブロッキング ボリュームなど) を作成します。なお、このノードはエディタでのみ機能します。

Create New Static Mesh Asset From Mesh

ダイナミック メッシュ アセットから新しいスタティック メッシュ アセットを作成します。なお、このノードはエディタでのみ機能します。

Set Static Mesh Collision From Mesh

入力メッシュに基づいて、スタティック メッシュ アセットの単純なコリジョン形状を生成します。

Set Dynamic Mesh Collision From Mesh

入力メッシュに基づいて、ダイナミック メッシュ コンポーネントの単純なコリジョン形状を生成します。

プリミティブ生成

この関数を使用すると、プリミティブ メッシュを生成して、入力ダイナミック メッシュに追加することができます。

ノード名

説明

Append Box

指定したダイナミック メッシュに 3D ボックスを追加します。

Append Sphere Lat Long

緯度/経度トポロジを使用して三角形分割された 3D 球体をダイナミック メッシュに追加します。

Append Sphere Box

ボックス トポロジを使用して三角形分割された 3D 球体をダイナミック メッシュに追加します。

Append Capsule

ダイナミック メッシュに 3D カプセルを追加します。

Append Cylinder

ダイナミック メッシュに (オプションのエンド キャップを含む) 3D シリンダーを追加します。

Append Cone

ダイナミック メッシュに 3D コーンを追加します。

Append Torus

3D トーラス (環状体) または部分トーラスをダイナミック メッシュに追加します。

Append Rectangle

ダイナミック メッシュに平面矩形を追加します。

Append Round Rectangle

角が丸い平面矩形 (RoundRect) をダイナミック メッシュに追加します。

Append Disc

ダイナミック メッシュに平面ディスクを追加します。

Append Triangulated Polygon

平面 2D ポリゴンの ドロネー三角形分割 をダイナミック メッシュに追加します。

Append Revolve Polygon

2D ポリゴンの回転サーフェス (全回転または必要に応じて制限された部分回転) をダイナミック メッシュに追加します。

Append Spiral Revolve Polygon

垂直方向のらせんを作成するために使用するような、らせん状のパスで 2D ポリゴンを回転させます。

Append Revolve Path

オプションの上下のエンド キャップがあるオープン 2D パスを回転させます。

Append Simple Extrude Polygon

選択されたダイナミック メッシュを使用して、2D ポリゴンを垂直パスに沿って押し出します。

Append Simple Swept Polygon

選択されたダイナミック メッシュを使用して、任意の 3D パスに沿って 2D ポリゴンをスイープします。

Append Linear Stairs

選択されたダイナミック メッシュを使用して、直線階段を追加します。

Append Curved Stairs

選択されたダイナミック メッシュを使用して、上りのらせん階段を追加します。

トランスフォームおよび変形

この関数を使用すると、ダイナミック メッシュの 頂点位置 を操作することができます。メッシュのトポロジや接続性は変更されません。

ノード名

説明

Translate Mesh

メッシュの頂点に平行移動を適用します。

Scale Mesh

メッシュの頂点にスケーリング トランスフォームを適用します。

Transform Mesh

メッシュの頂点に任意の FTransform を適用します。

Apply Bend Warp To Mesh

トランスフォームで定義された軸の周りにベンド ワープを適用します。

Apply Twist Warp To Mesh

トランスフォームで定義された軸の周りにツイスト ワープを適用します。

Apply Flare Warp To Mesh

フレア/バルジ ワープを適用します。

Apply Math Warp To Mesh

シンプルな数学関数ベースの各種ワープ (現時点では任意の方向を持つ 1D または 2D の正弦波) を適用します。

Apply Perlin Noise To Mesh

3D パーリン ノイズ ディスプレイスメントを適用します。

Apply Iterative Smoothing To Mesh

単純化メッシュ スムージングを使用するため、複数回のイテレーションをダイナミック メッシュに適用します。

Apply Displace From Texture Map

Texture2D と UV チャンネルに基づいたディスプレイスメントをダイナミック メッシュに適用します。

コンポジション/分解

この関数を使用すると、メッシュを結合または分割することができます。

ノード名

説明

Copy Mesh To Mesh

特定のダイナミック メッシュのメッシュを別のダイナミック メッシュにコピーします。

Get Sub Mesh From Mesh

ダイナミック メッシュ間で三角ポリゴンのリストをコピーします。

Split Mesh By Components

1 つのメッシュを複数のパーツ (ダイナミック メッシュプールから描画された、接続済みコンポーネントごとに 1 つ) に分割します。

Split Mesh By Material IDs

1 つのメッシュを複数のパーツ (ダイナミック メッシュプールから描画された、マテリアル ID ごとに 1 つ) に分割します。

Append Mesh

特定のメッシュのジオメトリをオプションのトランスフォームとともに、別のメッシュに追加します。

Append Mesh Repeated

繰り返し回数に基づいて、特定のメッシュから他のメッシュにジオメトリを追加して、その都度トランスフォームを蓄積します。この操作はパターンを作成するうえで役立ちます

メッシュ モデリング

この関数は標準的な高レベルのモデリング操作を提供します。ただし、通常は、モデリング モードで名前が類似するツールが呼び出す低レベルのメッシュ処理コードを呼び出します。

ノード名

説明

Apply Mesh Boolean

2 番目のメッシュに基づいて、ブール演算 (Union、Intersect、Subtract など) をダイナミック メッシュに適用します。

Apply Mesh Plane Cut

メッシュに平面切り取りを適用し、必要に応じて、作成された穴を塞ぎます。

Apply Mesh Plane Slice

メッシュを半分にスライスし、オプションで穴を塞ぎます。

Apply Mesh Mirror

メッシュを平面全体にミラーリングします。オプションで三角形の切り取りと溶接を行います。

Apply Mesh Offset

メッシュの頂点をオフセット サーフェスに移動します。

Apply Mesh Shell

メッシュの三角ポリゴンのコピーをオフセット サーフェスに移動して、元の三角ポリゴンにスティッチします。例として、厚いシェルを作成する場合が挙げられます。

Apply Mesh Extrude

メッシュの三角ポリゴンを一定の方向に沿って押し出します。たとえば、この関数で、オープンな三角ポリゴンから固体を作成します。

Apply Mesh Solidify

ボクセル化およびメッシュ化された近似を使用してメッシュを置き換えます (VoxWrap 操作)。

Apply Mesh Morphology

SDF ベースのオフセット メッシュ近似でメッシュを置き換えます。

Apply Mesh Self Union

メッシュ自身を使用して、オブジェクトに Mesh-Boolean-Union 演算を行うことで、自己交差を修復したり、浮遊ジオメトリを削除したりします。

Apply Mesh Polygroup Bevel

すべての PolyGroup エッジにメッシュ ベベル操作を適用します。

細分化関数

この関数は、さまざまなメッシュの細分化手法をダイナミック メッシュアセットに適用します。

ノード名

説明

Apply Recursive PNTessellation

再帰的な手法 (すなわち、1 対 4 の三角形分割) を使用して、PN テッセレーションを入力メッシュに適用します。

Apply Polygroup Catmull Clark SubD

メッシュの Polygroup トポロジに Catmull Clark Subdivision を適用します (入力の三角形分割は破棄されます)。なお、このノードはエディタでのみ機能します。

Apply Triangle Loop SubD

入力メッシュにループ サブディビジョンを適用します。なお、このノードはエディタでのみ機能します。

単純化関数

この関数はさまざまな手法でメッシュを単純化します。

ノード名

説明

Apply Simplify To Triangle Count

ターゲットとする三角ポリゴン数に達するまでメッシュを単純化します。

Apply Simplify To Vertex Count

ターゲットとする頂点数に達するまでメッシュを単純化します。

Apply Simplify To Tolerance

ターゲットとする幾何公差までメッシュを単純化します。たとえば、さらに単純化すると、入力メッシュからの偏差が許容範囲を超えます。

Apply Simplify To Planar

必要以上に三角ポリゴンが多いメッシュの平面領域を単純化します。なお、このノードではメッシュの 3D 形状は変更されません。

Apply Simplify To Polygroup Topology

メッシュをポリゴングループ トポロジに至るまで単純化します。例としては、メッシュ ポリゴングループの高レベルの面が挙げられます。もう 1 つの例としては、デフォルトの Box-Sphere が挙げられます。これは、ポリゴングループ トポロジに至るまで単純化することで、ボックスを生成します。

法線関数

この関数はメッシュの法線を再計算します。

ノード名

説明

Flip Normals

各面の向きを反転させることで、メッシュ法線を反転させます。

Set Per Vertex Normals

メッシュの法線を頂点ごとの法線に設定します。たとえば、どの頂点でも法線を分割しません。

Set Per Face Normals

メッシュ法線を面/三角ポリゴンごとの法線に設定します。たとえば、メッシュのすべてのエッジに沿って法線を分割します。

Compute Split Normals

角度許容値および/またはその他の要因 (ポリゴングループ トポロジなど) に基づいて、メッシュの分割法線を計算します。

Recompute Normals

既存のメッシュ法線を再計算します。既存の分割法線を維持します。たとえば、メッシュを変形した後に使用します。

Compute Tangents

メッシュの接線を (さまざまな方法で) 再計算します。

クリーンアップ/修復関数

これらの関数を使用して、メッシュの問題を修正したり、他の標準的な修復を適用します。

ノード名

説明

Compact Mesh

メッシュの頂点と三角ポリゴンを圧縮して、頂点 ID や三角ポリゴン ID リストの「穴」を取り除きます (「低レベル メッシュ クエリ」セクションの説明を参照)。

Discard Mesh Attributes

すべての UV、法線、マテリアル ID、頂点カラー、拡張ポリゴングループ レイヤーなど、ダイナミック メッシュから属性セットを削除します。なお、この削除により、多くの関数が機能しなくなることがあります。

Auto Repair Normals

この関数は、反転した法線の修正など、メッシュの法線の向きを自動的に変更することを試みることで、法線に一貫性を持たせます。

Weld Mesh Edges

メッシュの開いている境界エッジをできる限り溶接して、「クラック」を除去します。

Fill All Mesh Holes

メッシュの開いている境界ループ (ジオメトリ サーフェスの穴など) をすべて埋めることを試みます。

Remove Small Components

ボリューム、領域、または三角ポリゴンの数がしきい値を下回るメッシュの接続されているコンポーネントを削除します。

Remove Hidden Triangles

さまざまな「visible (可視)」および「outside (外部)」の定義に基づいて、外部ビューから見えないメッシュ内の三角ポリゴンをすべて削除します。

低レベル メッシュ クエリ

この関数はメッシュの要素に関する低レベルの情報を提供します。このコンテキストでは、VertexID および TriangleID が整数です。

ダイナミック メッシュでは、頂点や三角ポリゴンが削除された後、VertexID や TriangleID の範囲にギャップがある場合があり、一部の操作 (単純化など) ではギャップのあるメッシュが返されることがあります。ID 範囲のギャップは、Compact Mesh 関数を使用してクリーンアップされます。

ノード名

説明

Get Vertex Count

メッシュの頂点数を取得します。

Get Num Vertex IDs

メッシュの頂点 ID の数を取得します。メッシュの頂点 ID の数は、メッシュが密になっていない場合、頂点数よりも大きくなることがあります。たとえば、頂点を削除した後などが該当します。

Is Valid Vertex ID

頂点 ID が有効な頂点を指している場合は、true を返します。

Get All Vertex IDs

メッシュのすべての頂点 ID のインデックス リストを返します。

Get Vertex Position

メッシュの頂点の 3D 位置を頂点 ID ごとに取得します。

Get All Vertex Positions

メッシュのすべての頂点位置のベクター リストを返します (リストが大きい場合があります!)。

Get Triangle Count ()**

メッシュに含まれる三角ポリゴンの数を返します。なお、これは、直接ダイナミック メッシュに対する関数です。

Get Num Triangle IDs

メッシュの三角ポリゴン ID の数を取得します。これは、メッシュが密でない場合、三角ポリゴンを削除しても、三角ポリゴン数より大きくなることがあります。

Is Valid Triangle ID

TriangleID が有効な三角ポリゴンを参照している場合は、true を返します。

Get All Triangle IDs

メッシュのすべての三角ポリゴン ID のインデックス リストを返します。

Get Triangle Indices

三角ポリゴンの頂点インデックスのトリプレットを返します。

Get All Triangle Indices

メッシュのすべての三角ポリゴンのインデックスのトリプレットの TriangleList を返します。

Get TrianglePositions

三角ポリゴンの 3 つの角の位置を返します。

Get TriangleFace Normal

三角ポリゴンの面/ファセット法線を返します。

Get TriangleUVs

三角ポリゴンの 3 つの角の UV を返します。

Get Triangle Material ID

三角ポリゴンの現在のマテリアル ID を返します。

Get All Triangle Material IDs

三角ポリゴンのすべてのマテリアル ID のインデックス リストを返します。

Get Triangle Polygroup ID

指定されたポリゴングループ レイヤーの三角ポリゴンの現在のポリゴングループ ID を返します。

Get Has Vertex ID Gaps

頂点 ID リストにギャップがある場合は、true を返します。たとえば、取得した頂点 ID の数が取得した頂点数より大きい場合などです。

Get Has Triangle ID Gaps

三角ポリゴン ID リストにギャップがあり、取得した三角ポリゴン ID 数が取得した三角ポリゴン数より大きい場合は、true を返します。

Get Is Dense Mesh

メッシュが密になっている場合は、true を返します。たとえば、頂点 ID または三角ポリゴン ID にギャップがない場合などです。

Get Mesh Has Attribute Set

メッシュに UV、法線、マテリアル ID、および頂点カラーを格納するための属性セットが有効な場合は、true を返します (これは通常、デフォルトで有効になっています)。

低レベル メッシュの構築

この関数を使用すると、三角ポリゴンごとにメッシュを構築したり、その他の低レベルのメッシュ編集操作を実行できます。

何千もの三角ポリゴンを含むメッシュの要素のループ処理が必要な場合にこの関数を使用すると、ブループリント スクリプティングまたは Python スクリプティングでかなり時間がかかることがあります。

ノード名

説明

Set Vertex Position

メッシュ頂点の 3D 位置を設定します。

Add Vertex To Mesh

新しい頂点をメッシュに追加し、新しい頂点 ID を返します。

Add Vertices To Mesh

メッシュに頂点のリストを追加します。

Delete Vertex From Mesh

メッシュから頂点を削除します。

Delete Vertices From Mesh

メッシュから頂点のリストを削除します。

Add Triangle To Mesh

メッシュに三角ポリゴン (3 要素の頂点 ID タプル) を追加します。

Add Triangles To Mesh

メッシュに三角ポリゴンのリストを追加します。

Delete Triangle From Mesh

メッシュから三角ポリゴンを削除します。

Delete Triangles From Mesh

メッシュから三角ポリゴンのリストを削除します。

Delete Triangles In Polygroup

特定のポリゴングループ レイヤーで、特定のポリゴングループを持つメッシュから三角ポリゴンをすべて削除します。

Append Buffers To Mesh

頂点/三角ポリゴンのセットを法線、UV などとともにメッシュに追加します。Proc Mesh コンポーネントの Create Mesh Section と同様です。

Set Mesh Triangle Normals

メッシュの三角ポリゴンの法線を設定します。

Set Mesh Triangle UVs

メッシュの三角ポリゴンの UV を設定します。

Set Triangle Material ID

メッシュの三角ポリゴンのマテリアル ID を設定します。

MaterialID 関数

この関数を使用すると、メッシュのマテリアル ID を操作できます。マテリアル ID は三角ポリゴンごとの整数で、特定のマテリアルに直接関連付けられているわけではありません。スタティック メッシュとの間で変換する場合、各マテリアル ID は**メッシュ セクション** に関連付けられます。

ノード名

説明

Get Has Material IDs

メッシュでマテリアル ID が使用可能または有効になっている場合は、trueを返します。

Enable Material IDs

メッシュのマテリアル ID を有効にして、0 に初期化ます。

Clear Material IDs

メッシュのすべてのマテリアル ID を 0 にリセットします。

Get Max Material ID

メッシュに現在設定されている最大のマテリアル ID を返します。

Remap Material IDs

指定された値に一致するマテリアル ID を持つすべての三角ポリゴンで、そのマテリアル ID を新しい値に設定します。

Set All Triangle Material IDs

メッシュのすべての三角ポリゴンのマテリアル ID を、入力インデックス リストの値に設定します。

Set Polygroup Material ID

(特定のポリゴングループ レイヤーの) 指定されたポリゴングループ ID を持つメッシュのすべての三角ポリゴンのマテリアル ID を、指定されたマテリアル ID に設定します。

頂点カラー

これらの関数は、メッシュの 頂点カラー を操作するために使用されます。

ノード名

説明

Set Mesh Constant Vertex Color

すべての頂点の色を特定の色に設定します。

Set Mesh Per Vertex Colors

カラー リストを使用して、すべての頂点のカラーを設定します。

UV 関数

これらの関数は、メッシュの UV を操作するために使用されます。

ノード名

説明

Get Num UV Sets

メッシュの UV セット/レイヤーの数を取得します。

Set Num UV Sets

メッシュの UV セット/レイヤーの数を設定します。

Get UV Set Bounding Box

UV セット内のすべての UV の 2D バウンディング ボックスを取得します。

CopyUVSet

ソース UV セットの値でターゲット UV セットを置き換えます。

Translate Mesh UVs

UV セットの UV に 2D 平行移動を適用します。

Scale Mesh UVs

UV セットの UV に 2D スケーリングを適用します。

Rotate Mesh UVs

UV セットの UV に 2D 回転を適用します。

Recompute Mesh UVs

既存の UV アイランド、ポリゴングループなど、明確に定義されたさまざまなタイプの UV アイランドに基づいてメッシュの UV を再コンパイルします。

Repack Mesh UVs

既存の UV アイランドを標準的な UV 空間にパックします。

Set Mesh UVs From Planar Projection

平面投影を使用してメッシュの UV を設定します。

Set Mesh UVs From Box Projection

ボックス投影を使用してメッシュの UV を設定します。

Set Mesh UVs From Cylinder Projection

シリンダー投影を使用してメッシュの UV を設定します。

Auto Generate Patch Builder Mesh UVs

PatchBuilder メソッドを使用して新しい UV を計算し、必要に応じて、パックします。

Auto Generate X Atlas Mesh UVs

XAtlas を使用して新しい UV を計算し、必要に応じて、パックします。

PolyGroup 関数

この関数を使用すると、メッシュの ポリゴングループ を操作します。ポリゴングループは三角ポリゴンごとの整数です。ポリゴングループはモデリング ツールや一部のジオメトリ スクリプト操作では、三角ポリゴンの領域やパッチを暗黙的に定義するために使用されます。ただし、ポリゴングループ レイヤーは最終的には三角ポリゴンごとの数値です。そのため、他のユーザー定義の目的に使用することができます。

ノード名

説明

Get Has Polygroups

メッシュに標準的なポリゴングループ レイヤーがある場合は、true を返します。

Enable Polygroups

メッシュで標準のポリゴングループ レイヤーを有効にします。

GetNum Extended Polygroup Layers

拡張ポリゴングループ レイヤーの数を返します。なお、拡張ポリゴングループ レイヤーは、すべての操作やモデリング ツールでまだ完全にはサポートされていません。

Set Num Extended Polygroup Layers

メッシュの拡張ポリゴングループ レイヤーの数を設定します。

Clear Polygroups

三角ポリゴングループの割り当てを、指定されたポリゴングループ レイヤーの一定の値にリセットします。

Copy Polygroups Layer

特定のレイヤーから他のレイヤーにポリゴングループをコピーします。

Convert UV Islands To Polygroups

メッシュの分離された UV アイランドごとに新しいポリゴングループを作成し、割り当てます。

Convert Components To Polygroups

メッシュの分離されたコンポーネントごとに新しいポリゴングループを作成し、割り当てます。

Compute Polygroups From Angle Threshold

エッジの折り目/開角度に基づいてメッシュを分割することで、ポリゴングループを設定します。

メッシュのジオメトリ クエリ

これらの関数により、メッシュの高度なジオメトリ クエリを行うことができます。

ノード名

説明

Get Mesh Bounding Box

メッシュの頂点のバウンディング ボックスを計算します。

Get Mesh Volume Area

メッシュの体積と面積を計算します。

Get Is Closed Mesh

トポロジカルの境界エッジがないなど、メッシュが閉じている場合は、true を返します。

Get Num Open Border Loops

メッシュの「穴」など、オープンな境界ループの数を返します。

Get Num Open Border Edges

メッシュ内のトポロジカル境界エッジの数を返します。

Get Num Connected Components

メッシュ内の、共有エッジで接続された「三角ポリゴンのパッチ」などの、分離した接続コンポーネントの数を返します。

Compute Mesh Convex Hull

入力メッシュの凸包を計算して、別のメッシュで返します。

Compute Mesh Swept Hull

入力メッシュの 2D スイープしたハルを計算し、別のメッシュで返します。

メッシュの比較

これらの関数を使用すると、2 つのメッシュを比較することができます。これらのノードは、その使用によってどちらのメッシュも変更しません。

ノード名

説明

Is Same Mesh As

入力オプションで定義された比較において 2 つの入力メッシュが等しい場合は、true を返します。

Measure Distances Between Meshes

2 つのメッシュ間の最小/最大および平均最接近点距離を測定します。

Is Intersecting Mesh

2 つの入力メッシュ (オプションのトランスフォームを含む) が幾何学的に交差している場合は、true を返します。

BVH/AABBTree および空間クエリ

これらの関数を使用すると、メッシュの AABBTree オブジェクトを作成したり、クエリしたりすることができます。

ノード名

説明

Build BVH For Mesh

以下のクエリで使用できるメッシュの BVH (バウンディング ボリューム階層) オブジェクトをビルドします。この関数は、Geometry Script Dynamic Mesh BVH 構造体を返します。

Is BVH Valid For Mesh

BVH オブジェクトが依然としてそのメッシュで使用できるかどうかをチェックします。メッシュが変更された場合、通常、false を返します。

Rebuild BVH For Mesh

メッシュの BVH オブジェクトをインプレースで再ビルドします。これは、新しい BVH をビルドするよりもメモリ割り当てを減らすことができます。

Find Nearest Point On Mesh

指定された 3D ポイントに最も近いメッシュ/BVH のポイントを検索します。

Find Nearest Ray Intersection With Mesh

3D レイとメッシュ/BVHの最も近い交点を検索します。

Is Point Inside Mesh

Fast Winding Number クエリを使用して、点がメッシュ/BVH の内側にあるかどうかをテストします。

ユーティリティ

これらのヘルパー関数は、ジオメトリ スクリプトのメッシュの処理やプロシージャル ジェネレータに役立ちます。

ノード名

説明

Create Dynamic Mesh Pool

新しいダイナミック メッシュ プール オブジェクトを作成します。

Create Unique New Asset Path Name

ベース パスおよびベース アセット名を指定して新しい一意のアセット名を作成します。これは、Create New Static Mesh Asset From Mesh などの関数で役立ちます。なお、このノードはエディタでのみ機能します。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル