ジオメトリ スクリプト処理ライブラリには、メッシュのトライアングルごとのビルドやその頂点数のカウントなどの低レベルのメッシュの構築およびクエリから、メッシュ ブール値や交差テストなどの高レベルの演算まで、非常に幅広い機能が含まれています。
ジオメトリ スクリプト処理ライブラリの詳細については、「ジオメトリ スクリプトのユーザー ガイド」を参照してください。
ほとんどの関数は、エディタでの作業時とランタイム時に使用できます。ただし、エディタで作業しているときのみに使用できる関数もあるため、以下の表には、エディタで作業しているときのみに使用できることについて記載しています。
アセットおよびコンポーネントの読み取り/書き込み
これらの関数を使用すると、既存または新規のアセットまたはコンポーネントとの間で行う読み取り/書き込みなど、ダイナミック メッシュ インスタンスの読み取り/書き込みを行うことができます。
| ノード名 | 説明 |
|---|---|
| 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 | 入力メッシュに基づいて、ダイナミック メッシュ コンポーネントの単純なコリジョン形状を生成します。 |
| Copy Collision Meshes From Object | コリジョン ジオメトリを From オブジェクトから抽出し、To ダイナミック メッシュに格納されているメッシュとともにそれをコピーします。
|
| Reset Dynamic Mesh Collision | ダイナミック メッシュ コンポーネントから単純なコリジョンをクリアします。 |
| Copy Mesh From Skeletal Mesh | スケルタルメッシュをターゲット ダイナミック メッシュにコピーします。 |
| Copy Mesh To Skeletal Mesh | 特定のダイナミック メッシュをスケルタルメッシュにコピーします。 |
| Create New Skeletal Mesh Asset 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 XY | ダイナミック メッシュに平面矩形を追加します。 |
| Append Round Rectangle XY | 角が丸い平面矩形 (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 | 選択されたダイナミック メッシュを使用して、上りの螺旋階段を追加します。 |
| Append Mesh Transformed | それぞれのトランスフォームを Append Mesh に適用し、次にそのジオメトリをターゲット メッシュに追加します。 |
| Append Sweep Polygon | 2D ポリゴンをスイープ パスに沿ってスイープおよび回転し、指定したメッシュに追加する 3D メッシュを作成します。 |
| Append Voronoi Diagram 2D | 指定した Voronoi サイトから三角分割された Voronoi セルを生成して、ポリゴングループでそれぞれを識別し、指定したメッシュに追加します。 |
| Append Sweep Polyline | 特定の 2D ポリライン頂点を、一連の FTransform として指定されたスイープ パスに沿ってスイープします。2D 頂点が (U,V) の場合、FTransform の座標空間では X が「沿う」パスを、Y が「右」 (U) を、Z が「上」 (V) を指します。 |
| Append Bounding Box | 入力ボックスからディメンションと原点を取得し、3D ボックスをターゲット メッシュに追加します。 |
| Append Delaunay Triangulation 2D | 提供された頂点のドロネー トライアングル化を生成し、ターゲット メッシュに付加します。 |
| Append Polygon List Triangulation | 提供されたポリゴン リストのドロネー トライアングルを生成し、ターゲット メッシュに付加します。 |
トランスフォームおよび変形
これらの関数を使用すると、ダイナミック メッシュの頂点位置を操作することができます。この操作によってメッシュのトポロジや接続性は変更されません。
| ノード名 | 説明 |
|---|---|
| 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 Perlin ノイズ ディスプレイスメントを適用します。 |
| Apply Iterative Smoothing To Mesh | メッシュ全体、または任意の選択によって定義されたサブセットに、いくつかのメッシュ スムージング イテレーションを適用します。 |
| Apply Displace From Texture Map | Texture2D と UV チャンネルに基づいたディスプレイスメントをダイナミック メッシュに適用します。 |
| Rotate Mesh | 指定した原点を基準にしてメッシュを回転します。 |
| Translate Pivot To Location | メッシュのピボット位置を設定します。メッシュ オブジェクトのピボットは常に (0,0,0) の地点であるため、この関数ではメッシュを単に -PivotLocation の分だけ平行移動します。 |
| Make Transform From Z Axis | bTangentIsX パラメータに基づき、ZAxis ベクターをトランスフォームの Z 軸とし、X または Y 軸を接線ベクターに向けて、特定の位置にトランスフォームを作成します。 |
| Make Transform From Axes | bTangentISX パラメータに基づき、ZAxis ベクターをトランスフォームの Z 軸とし、X または Y 軸を接線ベクターに向けて、特定の位置にトランスフォームを作成します。 |
| Get Transform Axis Vector | トランスフォームの X、Y、Z 軸の方向のベクターを取得します。 |
| Get Transform Axis Ray | トランスフォームの X、Y、Z 軸の方向に合ったトランスフォーム位置の光線を取得します。 |
| Get Transform Axis Plane | トランスフォームの X、Y、Z 軸の方向に合った平面法線を含むトランスフォーム位置の平面を取得します。 |
コンポジションおよび分解
これらの関数を使用すると、メッシュを結合または分割することができます。
| ノード名 | 説明 |
|---|---|
| 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 | Union ブール演算を自身で行い、自己交差の修正や浮遊ジオメトリの削除といったアクションを計算するオブジェクト。 |
| Apply Mesh PolyGroup Bevel | すべての PolyGroup エッジにメッシュ ベベル操作を適用します。 |
メッシュ選択
これらの関数により、メッシュの各領域がさまざまなツールで識別されて、ローカルでの操作が可能になります。一部の関数はメッシュ全体か、選択によって定義されたサブセットで機能します。選択のタイプには、トライアングル、頂点、ポリゴングループがあります。
| ノード名 | 説明 |
|---|---|
| Invert Mesh Selection | ターゲット メッシュ上で選択を反転します。 |
| Create Select All Mesh Selection | ターゲット メッシュのすべての要素を含む特定の選択タイプの選択を作成します。 |
| Convert Mesh Selection | メッシュ選択を異なるタイプに変換します。 デフォルトでは、頂点が ワンリング 周辺のトライアングルにマッピングされ、トライアングルがすべての含まれる頂点にマッピングされます。 |
| Combine Mesh Selections | 2 つのメッシュ選択を新しい 1 つのメッシュ選択にまとめます。「選択 A」と「選択 B」の 2 つの入力は同じタイプである必要があります。 |
| Convert Index Array To Mesh Selection | インデックス配列からメッシュ選択を作成します。 |
| Convert Index Set To Mesh Selection | インデックス セットからメッシュ選択を作成します。 |
| Convert Mesh Selection To Index Array | メッシュ選択をインデックス配列に変換します。 |
| Convert Index List To Mesh Selection | インデックス リストからメッシュ選択を作成します。インデックス リストのタイプが選択タイプと一致しない場合は、bAllowPartialInclusion=true が設定された Convert Mesh Selection を使って変換されます。 |
| Convert Mesh Selection To Index List | メッシュ選択をインデックス リストに変換します。 |
| Select Mesh Elements In Box | ボックスに含まれるすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。 |
| Select Mesh Elements In Box With BVH | ボックスに含まれるすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。Select Mesh Elements In Box と似ていますが、BVH を取得することで処理がより速くなります。 |
| Select Mesh Elements In Sphere | 球体に含まれるすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。 |
| Select Mesh Elements With Plane | 平面の片面 (具体的には平面のサーフェス法線が指す面) にあるすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。 |
| Select Mesh Elements By Normal Angle | 特定の法線からの角状変位しきい値の範囲に含まれる法線ベクターを持つすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。 トライアングルとポリゴングループの選択にはトライアングル ファセット法線が使用され、頂点の選択には頂点ごとに平均化された法線が使用されます。 |
| Select Mesh Elements Inside Mesh | 2 番目の選択メッシュに含まれるすべての要素を見つけることで、ターゲット メッシュの選択タイプと同じメッシュ選択を新しく作成します。 |
| Expand Mesh Selection To Connected | 接続済みの領域にターゲット メッシュの選択を展開して、新しい選択を返します。 |
| Get Mesh Selection Bounding Box | メッシュ選択の 3D バウンディング ボックスを取得します。 |
| Get Mesh Selection Boundary Loops | メッシュ選択を縁取る一連の頂点ループを計算します。それぞれのループに対して、頂点インデックスの 3D ポリラインとリストの両方が返されます。 頂点の選択の場合、この関数は、頂点選択のワンリング周辺にある縁取りループを返します。 |
| Get Mesh Selection Info | メッシュ選択に関する情報をクエリします。 |
| Debug Print Mesh Selection | メッシュ選択に関する情報を出力ログにプリントします。 |
| Expand Contract Mesh Selection | ターゲット メッシュ上の選択を接続されている隣に対し、拡大または縮小します。 頂点の選択の場合、拡大では選択した頂点のワンリング内の頂点が含まれ、縮小では選択されていないワンリング隣との頂点が削除されます。 トライアングルの選択の場合、選択したトライアングルに接続されたトライアングルを追加または削除します。 * PolyGroup の選択の場合、選択した PolyGroup に接続された PolyGroup を追加または削除します。 |
選択によるメッシュの変更
特定の選択からジオメトリを編集するための関数です。
トランスフォーム メッシュ
| ノード名 | 説明 |
|---|---|
| Transform Mesh Selection | 指定したトランスフォームをメッシュの選択部分に適用します。 |
| Translate Mesh Selection | 指定した平行移動をメッシュの選択部分に適用します。 |
| Rotate Mesh Selection | 指定した原点を基準にしてメッシュの選択部分を回転します。 |
| Scale Mesh Selection | 指定したスケールをメッシュの選択部分に適用します。 |
マテリアルとポリゴングループ
| ノード名 | 説明 |
|---|---|
| Set Material ID For Mesh Selection | 特定の選択のすべてのトライアングルで新しいマテリアル ID を設定します。 |
| Set PolyGroup For Mesh Selection | 特定のグループ レイヤーの、特定の選択のすべてのトライアングルで新しいポリゴングループを設定します。 |
メッシュ モデリング
| ノード名 | 説明 |
|---|---|
| Apply Mesh Disconnect Faces | 選択によって識別されたターゲット メッシュの各トライアングルを切断します。 |
| Apply Mesh Duplicate Faces | 選択入力によって識別されたターゲット メッシュの各トライアングルを複製します。 |
| Apply Mesh Linear Extrude Faces | 選択によって識別されたターゲット メッシュの各トライアングルに線形押し出しを適用します。 |
| Apply Mesh Offset Faces | 選択によって識別されたターゲット メッシュの各面 (選択が空白の場合はすべての面) にオフセットを適用します。 |
| Apply Mesh Inset Outset Faces | 選択によって識別されたターゲット メッシュの各面 (選択が空白の場合はすべての面) にインセットまたはアウトセットを適用します。 |
| Apply Mesh Bevel Selection | ベベル オプション設定を使って、ターゲット メッシュの各部にメッシュ ベベル操作を適用します。 |
分割関数
これらの関数では、さまざまなメッシュ分割手法をダイナミック メッシュに適用します。
| ノード名 | 説明 |
|---|---|
| Apply PolyGroup Catmull Clark SubD | メッシュのポリゴングループ トポロジに Catmull Clark Subdivision を適用します (入力のトライアングル化は破棄されます)。 このノードはエディタ内のみで機能します。 |
| Apply Triangle Loop SubD | 入力メッシュにループ分割を適用します。 このノードはエディタ内のみで機能します。 |
| Apply Selective Tessellation | 示されるパターン タイプを使って、指定したメッシュ選択を細分化 (テッセレーション) します。 |
| Apply PN Tessellation | 入力メッシュにポイント法線 (PN) テッセレーションを適用します。 |
| Apply Uniform Tessellation | 入力メッシュに均一テッセレーションを適用します。 |
単純化関数
これらの関数では、さまざまな手法でメッシュを単純化します。
| ノード名 | 説明 |
|---|---|
| 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 が挙げられます。これは、ポリゴングループ トポロジに至るまで単純化することで、ボックスを生成します。 |
ボックス関数
ボックス オブジェクトの基本的な演算関数を計算するユーティリティ関数です。
| ノード | 説明 |
|---|---|
| Make Box From Center Size | 中心点と XYZ ディメンションからボックスを作成します。 |
| Make Box From Center Extents | 中心点と XYZ 範囲 からボックスを作成します。範囲はハーフディメンションです。 |
| Get Box Center Size | ボックスの中心点と XYZ ディメンションを取得します。 |
| Get Box Corner | ボックスの隅の位置を取得します。それぞれの隅は、
|
| Get Box Face Center | ボックスの面の中央位置を取得します。それぞれの面は、
|
| Get Box Volume Area | ボックスのボリュームとサーフェス領域を取得します。 |
| Get Expanded Box | Expand By パラメータを最小値と最大値の両方に追加することで、拡張された入力ボックスを取得します。いずれかの Expand By パラメータ値がボックス サイズの半分以上の大きさである場合は、ディメンションが中心点に固定されます。 |
| Get Transformed Box | 入力トランスフォームを入力ボックスの各隅に適用して、これらの点を含む新しいボックスを返します。 |
| Test Box Box Intersection | ボックス 1 とボックス 2 が交差するかどうかをテストします。 |
| Find Box Box Intersection | ボックス 1 とボックス 2 の交差によって形成されたボックスを見つけます。 |
| Get Box Box Distance | ボックス 1 とボックス 2 との間の最小距離を計算します。 |
| Test Point Inside Box | 点がボックス内にあるかどうかをテストして、ボックス内にある場合は true を、そうでない場合は false を返します。 |
| Find Closest Point On Box | 入力地点に最も近いボックスの面にある点を見つけます。点がボックス内にある場合はそれが返されます。 |
| Get Box Point Distance | ボックスと点との間の最小距離を計算します。 |
| Test Box Sphere Intersection | ボックスが Sphere Center (球体の中心) と Sphere Radius (球体の半径) によって定義された球体と交差するかどうかをチェックします。 |
法線関数
これらの関数では、メッシュの法線を再計算します。
| ノード名 | 説明 |
|---|---|
| Flip Normals | 各面の向きを反転させることで、メッシュ法線を反転させます。 |
| Set Per Vertex Normals | メッシュの法線を頂点ごとの法線に設定します。たとえば、どの頂点でも法線を分割しません。 |
| Set Mesh To Facet Normals | メッシュ法線を面/トライアングルごとの法線に設定します。たとえば、メッシュのすべてのエッジに沿って法線を分割します。 |
| Compute Split Normals | 角度許容値やその他の要因 (ポリゴングループ トポロジなど) に基づいて、メッシュの分割法線を計算します。 |
| Recompute Normals | 既存のメッシュ法線を再計算します。既存の分割法線を維持します。たとえば、メッシュを変形した後に使用します。 |
| Compute Tangents | メッシュの接線を (さまざまな方法で) 再計算します。 |
| Set Mesh Per Vertex Normals | ターゲット メッシュ法線オーバーレイにあるすべての法線を、指定された頂点ごとの法線に設定します。 |
| Get Mesh Has Tangents | ターゲット メッシュで接線属性レイヤーが有効になっているかどうかをチェックします。 |
| Discard Tangents | ターゲット メッシュから既存の接線属性レイヤーを削除します。 |
| Compute Tangents | 指定された方法でターゲット メッシュの接線を再計算します。 |
| Set Mesh Per Vertex Tangents | ターゲット メッシュ接線オーバーレイにあるすべての接線を、指定された頂点ごとの接線に設定します。 |
| Get Mesh Per Vertex Tangents | 補間された位置 A * Vertex1 + B * Vertex2 + C * Vertex3 ((A,B,C) は重心座標) を計算します。各頂点の位置はターゲット メッシュの指定されたトライアングル ID から取得されます。 |
| Update Vertex Normal | ターゲット メッシュの VertexD で法線と接線を更新します。 |
| Recompute Normals For Mesh Selection | 指定した Calculate Option を使用して選択されたすべての三角ポリゴン/頂点上にあるターゲット メッシュの法線を再計算します。このメソッドは、既存のハード エッジを維持します。つまり、それぞれの共有の三角ポリゴン-頂点法線は、その共有の三角ポリゴン-頂点法線を参照する三角ポリゴンの面法線を平均化することによって再計算されます。 |
クリーンアップ/修復関数
これらの関数を使用して、メッシュの問題を修正したり、他の標準的な修復を行ったりすることができます。
| ノード名 | 説明 |
|---|---|
| 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 (外部)」の定義に基づいて、外部ビューから見えないメッシュ内のトライアングルをすべて削除します。 |
| Resolve Mesh TJunctions | ターゲット メッシュで T ジャンクションの転換を試みます。 |
| Split Mesh Bowties | ターゲット メッシュで、そのままであれば単一の頂点のみがメッシュの領域に接続される「ボウタイ」を発生させる頂点を分割します。 |
| Repair Mesh Degenerate Geometry | 指定した最短の長さよりもすべてのエッジが大きくなるまで、小さなトライアングルを削除したり、複数のトライアングルをマージしたりして、ターゲット メッシュを変更します。 |
低レベル メッシュ クエリ
これらの関数では、メッシュの要素に関する低レベルの情報を提供します。このコンテキストでは、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 | トライアングル ID が有効なトライアングルを参照している場合は、true を返します。 |
| Get All Triangle IDs | メッシュのすべてのトライアングル ID のインデックス リストを返します。 |
| Get Triangle Indices | トライアングルの頂点インデックスのトリプレットを返します。 |
| Get All Triangle Indices | メッシュに含まれるすべてのトライアングル インデックス トリプレットの TriangleList を返します。 |
| Get Triangle Positions | トライアングルの 3 つの角の位置を返します。 |
| Get Triangle Face Normal | トライアングルの面/ファセット法線を返します。 |
| Get Triangle UVs | トライアングルの 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 を返します。これは通常、デフォルトで有効になっています。 |
| Get Interpolated Triangle Position | 補間された位置 A * Vertex1 + B * Vertex2 + C * Vertex3 ((A,B,C) は重心座標) を計算します。各頂点の位置はターゲット メッシュの指定されたトライアングル ID から取得されます。 |
| Compute Triangle Barycentric Coords | ターゲット メッシュの指定されたトライアングル ID を基準に、点の重心座標 (A,B,C) を計算します。 |
| Get Interpolated Triangle UV | 補間された UV A * UV1 + B * UV2 + C * UV3 ((A,B,C) は重心座標) を計算します。各 UV の位置はターゲット メッシュの指定された UV チャンネルに含まれる、指定されたトライアングル ID から取得されます。 |
| Get Triangle Normals | ターゲット メッシュの指定されたトライアングル ID について、そのトライアングルの各頂点における法線ベクターと接線ベクターを取得します。これらの法線と接線は、法線と接線のオーバーレイから取得されます。 |
| Get Interpolated Triangle Normal | 補間された法線 A * Normal1 + B * Normal2 + C * Normal3 ((A,B,C) は重心座標) を計算します。各法線はターゲット メッシュの法線レイヤーに含まれる、指定されたトライアングル ID から取得されます。 |
| Get Triangle Normal Tangents | ターゲット メッシュの指定されたトライアングル ID について、そのトライアングルの各頂点における法線ベクターと接線ベクターを取得します。これらの法線と接線は、法線と接線のオーバーレイから取得されます。 |
| Get Interpolated Triangle Normal Tangents | ターゲット メッシュの法線属性と接線属性に含まれる、指定されたトライアングル ID の補間された法線と接線を計算します。 |
| Get Has Vertex Colors | ターゲット メッシュで頂点カラー属性が有効になっている場合は true を返します。 |
| Get Triangle Vertex Colors | ターゲット メッシュの指定されたトライアングル ID について、そのトライアングルの各頂点における頂点カラーを取得します。これらのカラーは頂点カラー属性から取得されます。 |
| Get Interpolated Triangle Vertex Color | 補間された頂点カラー A * Color1 + B * Color2 + C * Color3 ((A,B,C) は重心座標) を計算します。各カラーはターゲット メッシュの頂点カラー レイヤーに含まれる、指定されたトライアングル ID から取得されます。 |
低レベル メッシュの構築
これらの関数では、トライアングルごとにメッシュを構築したり、その他の低レベルのメッシュ編集操作を実行したりできます。
何千ものトライアングルを含むメッシュの要素のループ処理が必要な場合にこの関数を使用すると、ブループリント スクリプティングまたは 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 を設定します。 |
| Set All Mesh Vertex Positions | ターゲット メッシュのすべての頂点位置を指定された位置に設定します。 |
低レベル リスト管理
これらの関数では、インデックス リスト、スカラー リスト、ベクター リスト、UV リスト、カラー リストを対象としたリスト管理を行います。
| ノード名 | 説明 |
|---|---|
| Get Index List Length | インデックス リストに含まれるアイテムの数を返します。 |
| Get Index List Last Index | インデックス リストに含まれる最後のアイテムのインデックスを返します。 |
| Get Index List Item | インデックス リスト内の指定された場所に格納されているアイテムを返します。 |
| Set Index List Item | インデックス リスト内の指定された場所に格納されているアイテムの値を更新します。 |
| Convert Index List To Array | インデックス リストを整数の配列に変換します。 |
| Convert Array To Index List | 整数の配列をインデックス リストに変換します。 |
| Duplicate Index List | インデックス リストのコンテンツを複製リストに複製します。 |
| Clear Index List | インデックス リスト内のすべてのアイテムをクリア値にリセットします。 |
| Get Scalar List Length | スカラー リストに含まれるアイテムの数を返します。 |
| Get Scalar List Last Index | スカラー リストに含まれる最後のアイテムのインデックスを返します。 |
| Get Scalar List Item | スカラー リスト内の指定された場所に格納されているスカラー (倍精度) を返します。 |
| Set Scalar List Item | スカラー リスト内の指定された場所に格納されているスカラーの値を更新します。 |
| Convert Scalar List To Array | スカラー リストを倍精度の配列に変換します。 |
| Convert Array To Scalar List | 倍精度の配列をスカラー リストに変換します。 |
| Duplicate Scalar List | スカラー リストのコンテンツを複製リストにコピーします。 |
| Clear Scalar List | スカラー リスト内のすべてのアイテムをクリア値にリセットします。 |
| Get Vector List Length | ベクター リストに含まれるアイテムの数を返します。 |
| Get Vector List Last Index | ベクター リストに含まれる最後のアイテムのインデックスを返します。 |
| Get Vector List Item | ベクター リスト内の指定された場所に格納されている FVector を返します。 |
| Set Vector List Item | ベクター リスト内の指定された場所に格納されている FVector の値を更新します。 |
| Convert Vector List To Array | ベクター リストを FVector の配列に変換します。 |
| Convert Array To Vector List | FVector の配列をベクター リストに変換します。 |
| Duplicate Vector List | ベクター リストのコンテンツを複製ベクター リストにコピーします。 |
| Clear Vector List | ベクター リスト内のすべてのアイテムをクリア値にリセットします。 |
| Get UV List Length | UV リストに含まれるアイテムの数を返します。 |
| Get UV List Last Index | UV リストに含まれる最後のアイテムのインデックスを返します。 |
| Get UV List Item | UV リスト内の指定された場所に格納されている FVector2D を返します。 |
| Set UV List Item | UV リスト内の指定された場所に格納されている FVector2D の値を更新します。 |
| Convert UV List To Array | UV リストを FVector2D の配列に変換します。 |
| Convert Array To UV List | FVector2D の配列を UV リストに変換します。 |
| Duplicate UV List | UV リストのコンテンツを複製リストに複製します。 |
| Get Color List Length | カラー リストに含まれるアイテムの数を返します。 |
| Get Color List Last Index | カラー リストに含まれる最後のアイテムのインデックスを返します。 |
| Get Color List Item | カラー リスト内の指定された場所に格納されている FLinearColor を返します。 |
| Set Color List Item | カラー リスト内の指定された場所に格納されている FLinearColor の値を更新します。 |
| Convert Color List To Array | カラー リストを FLinearColor の配列に変換します。 |
| Convert Array To Color List | FLinearColor の配列をカラー リストに変換します。 |
| Extract Color List Channel | カラー リストの 0、1、または 2 チャンネルに対応するスカラー リストを作成します。 |
| Extract Color List Channels | カラー リストからベクター リストを作成します。カラー リスト内の各チャンネルは、X チャンネル インデックス、Y チャンネル インデックス、および Z チャンネル インデックスを使ってベクター コンポーネントにマッピングされます。 |
低レベルの演算
ベクター リストとスカラー リストで成分ごとの演算を処理する関数です。Vector Dot などの複数のリストを受け取る関数では、それぞれのリストに同じ数の要素が含まれている必要があります。
| ノード名 | 説明 |
|---|---|
| Vector Length | ベクター リスト A に含まれる各ベクターの長さを計算して、その値をスカラー リストに返します。 |
| Vector Dot | ベクター リスト A とベクター リスト B に含まれるベクターの各ペア間の内積を計算して、その値を新しいスカラー リストに返します。 |
| Vector Cross | ベクター リスト A とベクター リスト B に含まれるベクターの各ペア間の外積を計算して、その値を新しいベクター リストに返します。 |
| Vector Normalize In Place | ベクター リストに含まれる各ベクターを正規化して、その値をベクター リストに格納します。縮退したベクターの場合は、法線を Set On Failure ベクターに設定します。 |
| Vector Blend | ベクター リスト A とベクター リスト B に含まれるベクターの各ペアに対して ConstantA * A + ConstantB * B を計算して、その値を新しいベクター リストに返します。デフォルトでは (定数 = 1)、2 つのベクターが追加されます。A から B を引くには、 また、 |
| Vector Blend In Place | ベクター リスト A とベクター リスト B に含まれるベクターの各ペアに対して ConstantA * A + ConstantB * B を計算して、その値をベクター リスト B に格納します。デフォルトでは (定数 = 1)、2 つのベクターが追加されます。A から B を引くには、 また、 |
| Scalar Vector Multiply | 2 つの入力リストに含まれるスカラー/ベクターの各ペアに対して Scalar Multiplier * Scalar * Vector を計算して、その値を新しいベクター リストに返します。 |
| Scalar Vector Multiply In Place | 2 つの入力リストに含まれるスカラー/ベクターの各ペアに対して Scalar Multiplier * Scalar * Vector を計算して、その値を入力ベクター リストに格納します。 |
| Constant Vector Multiply | ベクター リストに含まれる各要素に対して Constant * Vector を計算して、その値を新しいリストに返します。 |
| Constant Vector Multiply In Place | ベクター リストに含まれる各要素に対して Constant * Vector を計算して、その値をベクター リストに格納します。 |
| Vector To Scalar | ConstantX * Vector.X + ConstantY * Vector.Y + ConstantZ * Vector.Z を計算することで、ベクター リストに含まれるベクターをそれぞれスカラーに変換し、その値を新しいスカラー リストに返します。これを使ってベクターから X、Y、および Z の値を抽出したり、他の成分ごとの演算を処理したりできます。 |
| Scalar Invert | スカラー リストに含まれる各要素に対して Numerator / Scalar を計算して、その値を新しいスカラー リストに返します。Abs(Scalar) < Epsilon の場合は Set On Failure 値に設定します。 |
| Scalar Invert In Place | スカラー リストに含まれる各要素に対して Numerator / Scalar を計算して、その値を入力スカラー リストに格納します。Abs(Scalar) < Epsilon の場合は Set On Failure 値に設定します。 |
| Scalar Blend | スカラー リスト A とスカラー リスト B に含まれる値の各ペアに対して ConstantA * A + ConstantB * B を計算して、その値を新しいスカラー リストに返します。デフォルトでは (定数 = 1)、単に 2 つの値が追加されます。A から B を引くには、 また、 |
| Scalar Blend In Place | スカラー リスト A とスカラー リスト B に含まれる値の各ペアに対して ConstantA * A + ConstantB * B を計算して、スカラー リスト B に返します。デフォルトでは (定数 = 1)、単に 2 つの値が追加されます。A から B を引くには、 また、 |
| Scalar Multiply | スカラー リスト A とスカラー リスト B に含まれる値の各ペアに対して Scalar Multiplier * A * B を計算して、それらの値を新しいスカラー リストに返します。 |
| Scalar Multiply In Place | スカラー リスト A とスカラー リスト B に含まれる値の各ペアに対して Scalar Multiplier * A * B を計算して、それらの値をスカラー リスト B に返します。 |
| Constant Scalar Multiply | スカラー リストに含まれるそれぞれの値に対して Constant * Scalar を計算して、それらの値を新しいスカラー リストに返します。 |
| Constant Scalar Multiply In Place | スカラー リスト A とスカラー リスト B に含まれる値の各ペアに対して Scalar Multiplier A * B を計算して、それらの値を現在のスカラー リストに返します。 |
メッシュ サンプリング
これらの関数では、メッシュのサーフェスに沿って点を計算して配置します。
| ノード | 説明 |
|---|---|
| Compute Point Sampling | 指定されたサンプリング オプションに基づいて、ターゲット メッシュのサーフェスにある一連のサンプル点を計算します。各サンプルはおおよそ均一に分散しており、指定されたオプションに対してオーバーラップしません。 |
| Compute NonUniform Point Sampling | 指定されたサンプリング オプションと NonUniform オプションに基づいて、ターゲット メッシュのサーフェスにある一連のサンプル点を計算します。 |
| Compute Vertex Weighted Point Sampling | 指定されたサンプリング オプションと NonUniform オプションに基づいて、ターゲット メッシュのサーフェスにある一連のサンプル点を計算します。 |
光線
光線の作成とクエリのためのユーティリティ関数です。光線とは、オブジェクトの交差を判断するために使用できる線を指します。特に、ブループリントでインタラクティブ可能なユーザー インターフェースをビルドする際に便利です。
| ノード | 説明 |
|---|---|
| Make Ray From Points | 2 つの点から光線を作成します。原点が A 地点に配置され、方向は正規化 (B-A) として配置されます。 |
| Make Ray From Point Direction | 原点と方向から光線を作成します。任意で非正規化された方向も使用できます。 |
| Get Transformed Ray | 特定のトランスフォームを特定の光線、または任意でトランスフォーム逆関数に適用して、トランスフォームされた新しい光線を返します。 |
| Get Ray Point | 特定の距離にある点を光線 Origin + Distance * Direction に沿って取得します。 |
| Get Ray Start End | 光線に沿った 2 つの点を取得します。 |
| Get Ray Parameter | 特定の点を光線に沿った最も近い点に投影して、その点での光線パラメータと距離を返します。 |
| Get Ray Point Distance | 特定の点から光線に沿った最も近い点までの距離を取得します。 |
| Get Ray Closest Point | 特定の点に最も近い、光線に沿った点を取得します。 |
| Get Ray Sphere Intersection | 光線が Sphere Center (球体の中心) と Sphere Radius (球体の半径) によって定義された球体と交差するかどうかをチェックします。この関数は 2 つの交差距離 (光線パラメータ) を返します。光線が球体に触れる場合は両方の距離が同じになります。触れない場合はいずれも MAX_FLOAT になります。これらの距離を光線と球体上の点に変換するには、Get Ray Point 関数を使用します。 |
| Get Ray Box Intersection | 光線が Sphere Center (球体の中心) と Sphere Radius (球体の半径) によって定義された球体と交差するかどうかをチェックします。 |
| Get Ray Plane Intersection | 光線と平面の交差を見つけます。 |
| Get Ray Line Closest Point | 3D 光線と線の最も近い点のペアを計算します。この線は原点と方向によって定義されますが、両方向に無限に拡張します。 |
| Get Ray Segment Closest Point | 3D 光線と線分の最も近い点のペアを計算します。この線分はその 2 つのエンドポイントで定義されます。 |
マテリアル ID
メッシュのマテリアル 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 に設定します。 |
頂点の値
これらの関数を使用して、頂点カラー などの、頂点に格納されているメッシュ値を取得したり操作したりできます。
法線などの複数の値を特定の頂点に格納することはできますが、これらのメソッドで返される値は 1 つだけになります。
| ノード名 | 説明 |
|---|---|
| Set Mesh Constant Vertex Color | すべての頂点カラーを特定の色に設定します。 |
| Set Mesh Per Vertex Colors | カラー リストを使用して、すべての頂点のカラーを設定します。 |
| Get Mesh Per Vertex Colors | ターゲット メッシュに含まれる各メッシュ頂点の単一頂点カラーのリストを取得します。これらは頂点カラー オーバーレイ から派生したものです。 |
| Set Mesh Selection Vertex Color | ターゲット メッシュの頂点カラー オーバーレイに含まれる色 (選択によって識別) を定数値に設定します。
|
| Convert Mesh Vertex Colors SRGB To Linear | SRGB からリニアへのカラー変換をすべての頂点カラーに適用します。 |
| Convert Mesh Vertex Colors Linear To SRGB | リニアから SRGB へのカラー変換をすべての頂点カラーに適用します。 |
| Get Mesh Per Vertex Normals | ターゲット メッシュに含まれる各メッシュ頂点の単一法線ベクターのリストを取得します。これらは法線オーバーレイから派生したものです。 |
| Get Mesh Per Vertex UVs | ターゲット メッシュに含まれる各メッシュ頂点の単一頂点 UV のリストを取得します。これらは指定した UV オーバーレイから派生したものです。 |
| Blur Mesh Vertex Colors | メッシュのカラー属性をブラーします。メッシュにカラー属性がない場合、関数はメッシュを変更せずに返します。 |
テクスチャのサンプリングと作成
テクスチャ データの読み取りと作成を処理するための関数です。
| ノード名 | 説明 |
|---|---|
| Sample Texture 2D At UV Positions | UV 位置のリストにおける特定のテクスチャ マップをサンプリングして、それぞれの位置の色をカラー リスト出力に返します。 |
| Create New Texture 2D Asset | 一時的な UTexture2D から、シリアル化されたテクスチャ 2D アセットを作成します。 |
| Sample Texture Render Target 2D At UV Positions | UV 位置のリストにおける特定のテクスチャ マップをサンプリングして、それぞれの位置の色をカラー リスト出力に返します。この関数はサンプリング前に GPU データをフェッチするため、使用しているアプリケーションによっては非効率的で遅くなる場合があります。 |
ベイク
これらの関数では、ソースとターゲット メッシュ間のデータをテクスチャまたは頂点カラー データにベイクします。法線や曲率、アンビエント オクルージョン、オパシティ マップ、サブサーフェス カラー マップといったさまざまなメッシュ データをベイクすることができます。適用するフィルタリングのタイプを指定する機能もあります。
| ノード名 | 説明 |
|---|---|
| Bake Texture | ソース メッシュでサンプリングしたデータから、ターゲット メッシュのテクスチャを作成します。 |
| Bake Vertex | ターゲット メッシュの頂点カラーに、特定のソース メッシュのベイク関連プロパティの結果を取り込みます。 |
| Bake Texture From Render Captures | レンダリング キャプチャから、ターゲット メッシュのテクスチャをベイクします。 |
UV
これらの関数を使用して、メッシュの UV を操作することができます。
| ノード名 | 説明 |
|---|---|
| Get Num UV Channels | メッシュ上の UV チャンネル の数を取得します。 |
| Set Num UV Channels | メッシュ上の UV チャンネルの数を設定します。 |
| Get UV Set Bounding Box | UV チャンネル内のすべての UV の 2D バウンディング ボックスを取得します。 |
| Copy UV Channel | ターゲット UV チャンネルをソース UV チャンネルの値で置き換えます。 |
| Translate Mesh UVs | UVSet インデックスで、すべての UV または UV のサブセット (選択を使用した場合) に 2D 平行移動を適用します。 |
| Scale Mesh UVs | UVSet インデックスで、すべての UV または UV のサブセット (選択を使用した場合) に 2D スケールを適用します。 |
| Rotate Mesh UVs | UVSet インデックスで、すべての 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 を計算し、必要に応じてパックします。 |
| Get Mesh UVSize Info | メッシュの UV チャンネルのディメンションと領域に関する情報を計算します。任意のメッシュ選択を使用することもできます。 |
| Get Mesh Per Vertex UVs | ターゲット メッシュに含まれる各メッシュ頂点の単一頂点 UV のリストを取得します。これらは指定した UV オーバーレイから派生したものです。 |
| Copy Mesh UV Channel To Mesh | Copy From メッシュに含まれる特定の UV チャンネル インデックスからの 2D UV を、Copy To UV メッシュ内の 3D 頂点位置にコピーします。それぞれのポリゴングループ ID とマテリアル ID は UV メッシュ内で維持されます。 |
| Copy Mesh To Mesh UV Channel | Copy From UV メッシュの 3D 頂点位置とトライアングルを、Copy To メッシュの To UV チャンネル インデックスで識別された特定の UV チャンネルに転送します。3D の位置 (X、Y、Z) は UV 位置 (X、Y) としてコピーされます。 |
| Compute Mesh Local UV Param | 指定された CenterPoint/三角ポリゴンの周りのターゲット メッシュにある頂点のローカル UV パラメータ化を計算します。このメソッドは、測地距離と角度に基づいてメッシュをローカルにアンラップする、離散指数関数マップのパラメータ化を使用します。中心点の UV 値は (0,0) となり、計算された頂点 UV は、長さ (UV) == 測地距離 となります。 |
ポリゴングループ
メッシュの ポリゴングループ (PolyGroup) を操作するための関数です。ポリゴングループはトライアングルごとの整数で、モデリング ツールや一部のジオメトリ スクリプト演算では、トライアングルの領域やパッチを暗黙的に定義します。ただし、ポリゴングループ レイヤーは基本的にトライアングルごとの数値であるため、他のさまざまな目的にも使用できます。ポリゴングループの詳細については、「ポリゴングループを理解する」を参照してください。
| ノード名 | 説明 |
|---|---|
| Get Has PolyGroups | メッシュに標準的なポリゴングループ レイヤーがある場合は True を返します。 |
| Enable PolyGroups | メッシュ上で標準のポリゴングループ レイヤーを有効にします。 |
| Get Num 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 | エッジの折り目/開角度に基づいてメッシュを分割することで、ポリゴングループを設定します。 |
| Compute PolyGroups From Polygon Detection | ポリゴンを識別してポリゴングループ ID を割り当てます。 |
ボーン ウェイト
これらの関数では、「スキン ウェイト」とも呼ばれるボーン ウェイトを計算して操作します。ボーン ウェイトは、一連の頂点におけるボーンのトランスフォームの影響を定義するものです。ダイナミック メッシュに格納されているスケルトンについての情報も取得することができます。この情報は、Copy Mesh From Skeletal Mesh ノードを使用してダイナミック メッシュを変換後にスケルタルメッシュ スケルトンとの間で 1 対 1 のものです。
| ノード | 説明 |
|---|---|
| Mesh Has Bone Weights | ターゲット メッシュに頂点ごとのボーン ウェイト属性が設定されているかどうかをチェックします。 |
| Mesh Create Bone Weights | ターゲット メッシュにボーン ウェイト属性がない場合は、新しいボーン ウェイト属性を作成します。すでにこの属性が存在し、bReplaceExistingProfile が true でパスされる場合は、リセットのためにこの属性が削除されて再び追加されます。 |
| Get Max Bone Weight Index | メッシュ上に存在する最大のボーン ウェイト インデックスを判断します。 |
| Get Vertex Bone Weights | ターゲット メッシュの特定の頂点におけるボーン ウェイトの配列を返します。 |
| Get Largest Vertex Bone Weight | ターゲット メッシュの特定の頂点における最大ウェイトのボーン ウェイトを返します。 |
| Set Vertex Bone Weights | ターゲット メッシュの特定の頂点におけるボーン ウェイトを設定します。 |
| Set All Vertex Bone Weights | ターゲット メッシュのすべての頂点を特定のボーン ウェイトに設定します。 |
| Compute Smooth Bone Weights | 指定されたスケルトンに対する特定のメッシュのスムーズ スキン バインディングを計算します。 |
| Transfer Bone Weights From Mesh | SourceMesh から TargetMesh にボーンウェイトを転送します。メッシュが揃っていると仮定します。そうでない場合は、Transform Mesh ジオメトリ スクリプト関数を使用して揃えます。 |
| Copy Bones From Mesh | ソース メッシュからターゲット メッシュにボーン属性 (スケルトン) をコピーします。 |
| Discard Bones From Mesh | ターゲット メッシュからボーン属性 (スケルトン) を破棄します。 |
| Get Bone Index | 指定した名前のボーンのインデックスを取得します。 |
| Get Root Bone Name | ルート ボーンの名前を取得します。 |
| Get Bone Children | ボーンの子に関する情報を取得します。 |
| Get All Bones Info | スケルトンを表すボーンの配列を取得します。各エントリは、ボーンに関する情報を含みます。 |
| Get Bone Info | 指定した名前のボーンのインデックスを取得します。 |
メッシュのジオメトリ クエリ
メッシュの高レベルなジオメトリ クエリのための関数です。
| ノード名 | 説明 |
|---|---|
| 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 掃引されたハルを計算し、別のメッシュに返します。 |
| Compute Mesh Convex Decomposition | 特定のターゲット メッシュの凸包分解を計算します。複数のハルがリクエストされることを想定し、メッシュの概算を試みる複数のハルが返されます。ハルにメッシュ全体が含まれることは保証されません。 |
| Get Mesh Volume Area Center | メッシュの体積、面積、および重心を計算します。 |
メッシュ測地
以下の関数では、メッシュのサーフェス上の特定の最短パスを計算します。
| ノード | 説明 |
|---|---|
| Get Shortest Vertex Path | 所定の開始頂点と終了頂点の間のメッシュ トライアングル エッジを通過する制約を満たす最短経路を表す頂点リストを計算します。始点と終点が異なるメッシュ接続コンポーネント内にある場合、失敗することがあります。 |
| Get Shortest Surface Path | 特定のメッシュ上にある所定の 2 つの点の間の最短のメッシュ サーフェス パスを表す PolyPath を計算します。これは、始点と終点がメッシュの接続された別々のコンポーネント内にある場合に失敗することがあります。
|
| Create Surface Path | メッシュ状の所定の点で始まる「まっすぐな」サーフェス パスを表す PolyPath が示された方向に継続し、リクエストされたパス長への到達、またはメッシュ境界への進入のいずれかが先に発生するまでを計算します。
|
単純なポリゴン
単純な 2D ポリゴンは、穴がない閉じられたポリゴンです。以下の関数を使用し、単純なポリゴンを呼び出したり操作したりできます。
| ノード | 説明 |
|---|---|
| Get Polygon Vertex Count | 単純なポリゴンに含まれる頂点数を返します。 |
| Get Polygon Vertex | 単純なポリゴンの指定した頂点を返します。頂点インデックスはループします。つまり、-1 はポリゴンの前の頂点になります。ポリゴンに頂点がない場合、ゼロ ベクターが返されます。 |
| Set Polygon Vertex | 単純なポリゴンの指定した頂点を設定します。頂点インデックスはループします。つまり、-1 はポリゴンの前の頂点になります。ポリゴンに頂点がない場合、何もしません。 |
| Add Polygon Vertex | 単純なポリゴンの指定した頂点を設定します。追加された頂点のインデックスを返します。 |
| Get Polygon Tangent | 単純なポリゴンの頂点の接線を返します。頂点インデックスはループします。つまり、-1 はポリゴンの前の頂点の接線になります。ポリゴンに頂点がない場合、ゼロ ベクターが返されます。 |
| Get Polygon Arc Length | 単純なポリゴンの弧の長さを返します。 |
| Get Polygon Area | 単純なポリゴンで囲まれた領域を返します。 |
| Get Polygon Bounds | 単純なポリゴンのバウンディング ボックスを返します。 |
| Convert Spline To Polygon | 指定したサンプリング オプションに基づいて、USplineComponent からの位置を単純なポリゴンにサンプリングします。 |
| Simple Polygon To Array Of Vector | ポリゴンの頂点位置を使用し、Z 座標をゼロに設定して 3D ベクターの配列を返します。 |
| Simple Polygon To Array Of Vector2D | ポリゴンの頂点位置を使用し、2D ベクターの配列を返します。 |
| Array Of Vector To Simple Polygon | Z 座標は無視し、3D 位置ベクターの配列から作成したポリゴンを返します。 |
| Array Of Vector2D To Simple Polygon | 2D 位置ベクターの配列から作成したポリゴンを返します。 |
ポリゴン リスト
ポリゴン リストには、穴があることもある、一般的なポリゴンのリストが含まれます。以下の関数を使用し、ポリゴン リストのポリゴンを呼び出したり編集したりできます。
| ノード | 説明 |
|---|---|
| Get Polygon Vertex Count | 穴インデックスが -1 の場合、または指定した内側の穴にある場合、ポリゴンの外側の形状の頂点を返します。無効なポリゴンまたは穴インデックスの場合、0 を返します。 |
| Get Polygon Vertex | 穴インデックスが -1 の場合には外側のポリゴンのいずれか、または指定した内側の穴の指定したポリゴンの頂点を返します。無効なポリゴンまたは穴インデックス、あるいはポリゴンが空の場合、頂点はゼロ ベクターです。頂点インデックスはループします。 |
| Get Polygon Count | ポリゴン リスト内のポリゴン数を返します。 |
| Get Polygon Hole Count | ポリゴンの穴の数を返します。無効なポリゴン インデックスに対してゼロを返します。 |
| Get Polygon Vertices | 穴インデックスが -1 の場合には外側のポリゴンのいずれか、または指定した内側の穴の指定したポリゴンの頂点を返します。無効なポリゴンまたは穴インデックスの場合、外側の頂点は空になります。 |
| Get Polygon Area | ポリゴンで囲まれた領域を返します。無効なポリゴン インデックスに対してゼロを返します。 |
| Get Polygon Bounds | ポリゴンのバウンディング ボックスを返します。無効なポリゴン インデックスには空の無効なボックスを返します。 |
| Get Simple Polygon | 穴インデックスが -1 の場合には外側のポリゴンのいずれか、または指定した内側の穴の、ポリゴン リストの指定した単純なポリゴンを返します。無効なポリゴンまたは穴インデックスの場合、ポリゴンは空になります。 |
| Get Polygon List Area | ポリゴンで囲まれた領域を返します。 |
| Get Polygon List Bounds | ポリゴンのバウンディング ボックスを返します。 |
| Create Polygon List From Single Polygon | オプションの穴がある、単純なポリゴンのポリゴン リストを作成します。 |
| Add Polygon To List | オプションの穴を持つポリゴンをポリゴン リストに追加します。追加されたポリゴンのインデックスを返します。 |
| Create Polygon List From Simple Polygons | 単純なポリゴンの配列からポリゴン リストを作成します。 |
| Append Polygon List | ポリゴン リストに追加するポリゴンにポリゴンを追加します。 |
| Polygons Union | ポリゴン リスト内のすべてのポリゴンの結合を計算します。また、各ポリゴン内の自己交差を解消します。 |
| Polygons Difference | ポリゴン リストと減算するポリゴンの差を計算します。 |
| Polygons Intersection | ポリゴン リストと交差するポリゴンの交点を計算します。 |
| Polygons Exclusive Or | 排他計算をするか、ポリゴン リストとポリゴンの排他的論理和を計算します。 |
| Polygons Offset | 閉じられたポリゴンのリストに単一のオフセットを適用します。 |
| Polygons Offsets | 閉じられたポリゴンのリストに 2 つのオフセットを順に適用します。 |
| Polygons Morphology Open | 最初に -Offset で、次に +Offset によってモルフォロジー オープン演算子をクローズされたポリゴンのリストに適用します。オフセットが負の場合、これは代わりにクローズ演算として機能します。 |
| Polygons Morphology Close | 最初に +Offset で、次に -Offset によってモルフォロジー クローズ演算子をクローズされたポリゴンのリストに適用します。オフセットが負の場合、これは代わりにオープン演算として機能します。 |
| Create Polygons From Path Offset | 閉じられたポリゴンを結果として生成し、オフセットを単一のオープン 2D パスに適用します。 |
Poly Path
以下は、Poly Path (ポリゴン パス) 操作を実行する関数です。Poly Path は、頂点の順序で定義されたパスを指します。
| ノード名 | 説明 |
|---|---|
| Get Poly Path Num Vertices | Poly Path に含まれる頂点の数を返します。 |
| Get Poly Path Last Index | Poly Path に含まれる最後の頂点のインデックスを返します。 |
| Get Poly Path Vertex | 指定した頂点の 3D 位置を返します。 |
| Get Poly Path Tangent | 指定した頂点インデックスにおける Poly Path のローカル接線ベクターを返します。 |
| Get Poly Path Arc Length | Poly Path の長さを返します。 |
| Get Nearest Vertex Index | 3D 内の指定したポイントに最も近い Poly Path 頂点のインデックスを返します。 |
| Flatten To 2D On Axis | 指定した軸をドロップして、残りの 2 つの座標を XY 座標として使用することで、パスの 2D に平坦化されたコピーを作成します。 |
| Convert Spline To Poly Path | 指定したサンプリング オプションに基づいて、USplineComponent からの位置を Poly Path にサンプリングします。 |
| Convert Poly Path To Array | 3D ベクターの配列に Poly Path 頂点位置を取り込みます。 |
| Convert Array To Poly Path | 3D 位置ベクターの配列から Poly Path を作成します。 |
| Convert Poly Path To Array Of Vector 2D | XY 平面に投影された Poly Path 頂点位置を使って、2D ベクターの配列を作成します。 |
| Convert Array Of Vector 2D To Poly Path | 2D 位置ベクターの配列から Poly Path を作成します。対応する Poly Path 頂点の Z 座標は 0 になります。 |
| Create Circle Path 3D | XY 平面上の原点周辺に閉じた円を作成し、トランスフォーム入力によってこれを再配置します。 |
| Create Circle Path 2D | XY 平面上の指定した中央周辺に閉じた円を作成します。 閉じたパスの場合、終了頂点は開始頂点の複製ではありません。 |
| Create Arc Path 3D | XY 平面上の原点周辺に開いた円弧を作成し、トランスフォーム入力によってこれを再配置します。 |
| Create Arc Path 2D | XY 平面上の指定した中央周辺に開いた円弧を作成します。 |
メッシュの比較
2 つのメッシュを比較する関数です。これらのノードを使用することで、いずれのメッシュも変更されることはありません。
| ノード名 | 説明 |
|---|---|
| Is Same Mesh As | 入力オプションで定義された比較において、2 つの入力メッシュが等しい場合は true を返します。 |
| Measure Distances Between Meshes | 2 つのメッシュ間の最小/最大および平均最接近点距離を測定します。 |
| Is Intersecting Mesh | 2 つの入力メッシュ (任意のトランスフォームを含む) が幾何学的に交差している場合は、true を返します。 |
BVH および空間クエリ
これらの関数では、メッシュのバウンディング ボリューム階層 (BVH) オブジェクトを作成してクエリを実行できます。
| ノード名 | 説明 |
|---|---|
| Build BVH For Mesh | Is BVH Valid For Mesh、Rebuild BVH for Mesh、Find Nearest Point On Mesh、Find Nearest Ray Intersection With Mesh、Is Point Inside Mesh の各ノードで使用可能な、メッシュの BVH オブジェクトをビルドします。この関数は、Geometry Script ダイナミック メッシュ 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 などの関数で役立ちます。 このノードはエディタ内のみで機能します。 |
| Get Mesh Info String | メッシュ統計などの情報を含むデバッグ文字列を返します。 |
| Sample Spline To Transforms | 指定したサンプリング オプションに基づいて、USplineComponent を FTransform のリストにサンプリングします。 |
用語集
| 用語 | 定義 |
|---|---|
| オーバーレイ (Overlay) | メッシュに適用されている頂点データのタイプを表すデータ構造体です。このタイプには、頂点カラー、法線、接線、UV などが含まれます。 1 つの頂点には、指定したタイプの複数の値を格納することができます。この場合は、タイプに応じて最後の値が使用されるか、値が平均化されるか、もしくは任意の値が使用されます。 |
| ワンリング (One-ring) | 選択した頂点に隣接する、エッジで接続された複数の頂点です。
M 頂点のワンリング。 |
| UV セット (UV Set) | メッシュの UV 座標が含まれます。UV チャンネル とも呼ばれます。複数の UV チャンネルを使って、さまざまな UV マップ を表すことができます。 |
| 範囲 (Extents) | ボックスのハーフディメンションで、3 つの軸に沿ってメジャーされます。この範囲は、中心点からどれだけ拡張するかを定義する際に使用されます。 中心点 (C) と範囲 (E) の結果は、左下の隅が |