| On this page | |
| Since | 19.5 |
概要 ¶
Tangent Field SOPは、滑らかに可変する接線ベクトルフィールドをポリゴンサーフェス上に生成し、その接線ベクトルフィールドをPointアトリビュートデータまたはPrimitiveアトリビュートデータとして格納します。 接線フィールドは、疎らなガイド値で好きなように制御し、それらの値の間を滑らかに補間することができます。 さらに曲率方向や境界カーブを使って接線フィールドに影響を与えることができます。
ポイントに対して接線フィールドを計算させる場合、インスタンスベクトルは、ポイントが属するどれかのフェースの接線としてレポートされます。 この場合、ポイントでの複数成分ベクトルのインスタンスは、連続するフェース間の角度の合計の観点でみると、そのポイント基点で等間隔になります。
このノードをPolyFrameの代わりに使用すると、サーフェスメッシュのフェース全体で滑らかに可変するフレーム( エレメントローカル座標系 )を生成することができます。
これを行なうには、フェース上で4成分ベクトルフィールドを生成し、最初の2つのインスタンスのみをレポートします。
オプションで、フレームを曲率方向または境界カーブと揃えることもできます。
フェース上で4成分ベクトルフィールドを扱う場合、異方性に関するコントロールを追加で指定することもできます。
メモ ¶
-
通常のベクトルフィールドの生成に加えて、このノードは、 ラインフィールド (RoSy 2成分ベクトルフィールド)または クロスフィールド (RoSy 4成分ベクトルフィールド)といった、 回転対称(RoSy)の複数成分ベクトルフィールド のインスタンスも生成することができます。 フィールドは、ポイントの接線平面で等間隔に回転する複数の接線ベクトル(クロスフィールドの場合は4成分ベクトル)を、各ポイントに割り当てます。 これらのベクトルのことを複数成分ベクトルのインスタンスと呼びます。 複数成分ベクトルフィールドとして見ると、これらのベクトルは同じオブジェクトを表現します。 接線平面で接線ベクトルを360度回転させてもベクトルが変わらないのと同じように、2成分ベクトルフィールドを360/2(=180)度の倍数で回転させても、または、4成分ベクトルフィールドを360/4(=90)度の倍数で回転させても、同じ複数成分ベクトルが得られます。 言い換えれば、2成分ベクトルフィールドは、ベクトルと逆ベクトルを区別しないベクトルフィールドのようなものです。 同様に、4成分ベクトルフィールドは、ベクトルを90、180、270度回転させたものと同じだと見なすことができるベクトルフィールドです。 このノードは、各エレメントのすべてまたは一部のインスタンスベクトルをレポートすることで、複数成分ベクトルフィールドを表現します。 例えば、サーフェスパッチ上で滑らかに可変するローカルUV座標軸ペアは、4成分ベクトルフィールドの最初の2つのインスタンスベクトルと考えることができます(残りの2つはマイナスのUおよびV軸)。 このように、このノードを使用すると、ジオメトリ上で滑らかに可変するフレームフィールドを生成することが可能になります。
-
一般的には、サーフェス全体ですべての場所を滑らかに可変する非ゼロのフレームフィールドにすることはできません。 例えば、接続性や変形に関わらず、変形した球上でそのようなフレームフィールドを作成することは不可能です(毛の生えたボールの定理(毛の生えた球を櫛で完全にとかすことはできない))。 しかし、このノードの出力は、サーフェス全体に広がる滑らかなフィールドの離散サンプル(ポイントまたはポリゴン毎に1サンプル)であり、このより大きいフィールドは、一部の(サンプル以外の) 特異な 場所ではゼロになります。 フィールドをポイントに対して計算した場合には、このような特異点は一部のフェース内部に位置することになります(そのようなフェースは特異フェースと呼びます)。 フィールドをプリミティブに対して計算した場合には、特異点は頂点になります。 ポイントまたはフェースでの複数成分ベクトルフィールドのインスタンスのインデックス化は任意に実行されます。 このノードは、すべてのエレメント上で同じインデックスを持つ個々のインスタンスが、できる限り不連続性のない、滑らかに可変するベクトルフィールドとして表示されるよう、最初のインスタンスベクトルを選択しようと試みます。 しかし、これは同様の証明可能な制限事項に反することになるので、不連続性を完全に回避することは必ずしも可能なわけではありません。
-
このノードは入力のジオメトリを修正しません。 しかし、このノードの計算は、必ず三角形化されたサーフェスに対して実行されます。 入力ジオメトリにノンマニフォールド(非多様体)なエッジまたはポイントがある場合、その部分に細い切れ目や穴が残っているものとして扱われます。 4つ以上の頂点を持つポリゴンフェースは、内部的に三角形化されます。 その内部的に三角形化された入力フェースに対してレポートされる結果には、メンバーの三角形からどれか1つの三角形が任意に取得されます。 言い換えれば、このノードは平均化のような、個々のメンバーの三角形から取得した結果を組み合わせることはしません。 この理由は、一般的に複雑なポリゴンではメンバーの三角形間でバリエーションが大きく異なるからです。つまり、平均値が個々のメンバーの値すべてを示すのに向かないからです。 したがって、このノードを使用する前にサーフェスを三角形化することで、良い結果が得られます。
-
このノードでは、入力ジオメトリは縮退ポリゴンのないマニフォールドポリゴンメッシュ(つまり、破綻のないポリゴンメッシュ)でなければなりません。 接線フィールドを計算する前に、このノードは、非マニフォールドメッシュ要素や縮退ポリゴンの除去を試みます。 それを適切に修正できなかった場合、このノードは次のエラーメッセージを出します:
Failed to operate on input due to degenerate topology.(縮退トポロジが原因で入力の処理に失敗しました。)。 そのような場合、PolyDoctor SOPまたは
Clean SOPを使用することで、このノードに使用されるメッシュをクリーンアップすることができます。
パラメータ ¶
Group
フィールドアトリビュート値が設定される入力ジオメトリ内のプリミティブまたはポイントのサブセット。 空っぽのままにすると、入力内のすべての閉じたポリゴンのアトリビュート値が影響を受けます。
Carried On
フィールドをポイントまたはプリミティブのどちらで生成するのかを指定します。
デフォルト値はPointsです。
Directions
出力フィールドの方向の数。
通常のベクトルフィールドには1を設定します。
デフォルト値は4です。
使用頻度の高い値は1, 2, 4で、稀に6を使用することもあります。
Global Rotation
生成されるすべての方向を、それぞれの接線空間で均一に回転させることができます。
デフォルト値は0です。
Alignment ¶
整列ガイドがない場合(すべてのAlignment系パラメータがゼロに設定されている場合)は、Target Field SOPはサーフェス上で最も滑らかなフィールドを探します。 この最も滑らかなフィールドは、 Global Rotation パラメータを使用してグロ―バルに回転された場合と同様の滑らかさになります。 整列基準は、エレメント単位の複数のベクトル(サーフェス曲率、境界方向、オプションのユーザ指定のガイドベクトル)をウェイト配分で合成したものです。 これら3つのベクトルコンポーネントは、お互いに混合される独立したチャンネルと考えることができます。
Weight
整列基準による接線フィールドの整列と、接線フィールド全体の滑らかさとのバランスを示したウェイト。 このウェイトを上げると、接線フィールドがより整列基準に準拠するようになり、 このウェイトを下げると、接線フィールドがより滑らかになります。 使用する値の範囲は0から1です。
Mask
接線フィールドがより厳格に整列されるエレメントにウェイトを付ける浮動小数点のアトリビュートを指定します。 使用する値の範囲は0から1です。
このチャネルは、2成分以上のベクトルフィールドでのみ利用可能です。
Note
このノードは、通常のベクトルフィールド(1成分ベクトルフィールド)をサーフェスの主曲率方向によってガイドすることはできません。 それぞれの主方向は2成分ベクトルフィールドです。 つまり、それぞれのポイントで示された曲率方向には指向性がありません。 このノードのアルゴリズムは、複数成分ベクトルフィールドを使用して、フィールド方向の数がガイド方向の数の倍数であるフィールドの構造をガイドすることしかできません。
Enable
曲率が整列基準全体に寄与するようにします。
Weight
生成されるフィールドに影響を与える曲率方向のフォース。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える時に曲率フォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、曲率方向への整列が強くなり、値が小さいほど、曲率方向への整列が弱まります。 使用する値は0以上です。
Rotation
フィールド整列のすべての曲率寄与に適用されるオプションの回転。 使用する値の範囲は-180度から180度です。
Enable
境界が整列基準全体に寄与するようにします。
Mode
境界寄与を包含的または排他的のどちらで適用するのかを定義します。 Add モードでは、境界ベクトルは、曲率ベクトルとガイドベクトルに結合されます。 Over モードでは、境界ベクトルは、曲率ベクトルを上書きします。
Weight
生成されるフィールドに影響を与える境界接線のフォース。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える時に境界フォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、境界方向への整列が強くなり、値が小さいほど、境界方向への整列が弱まります。 使用する値は0以上です。
Rotation
フィールド整列のすべての境界寄与に適用されるオプションの回転。 使用する値の範囲は-180度から180度です。
Enable
カスタムガイドが整列基準全体に寄与するようにします。
Mode
ガイド寄与を包含的または排他的のどちらで適用するのかを定義します。 Add モードでは、ガイドベクトルは、曲率ベクトルと境界ベクトルに結合されます。 Over モードでは、ガイドベクトルは、曲率ベクトルと境界ベクトルを上書きします。
Weight
生成されるフィールドに影響を与えるガイドベクトルのフォース。 使用する値は0以上です。
Mask
生成されるフィールドに影響を与える時にガイドフォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、ガイド方向への整列が強くなり、値が小さいほど、ガイド方向への整列が弱まります。 使用する値は0以上です。
Attribute Name
ガイドアトリビュートの名前。 このガイドアトリビュートは、フィールドがガイドされるポイント上またはプリミティブ上に非ゼロベクトルを割り当てるvector3型アトリビュートでなければなりません。 このノードは、ゼロベクトルを無視して補間します。 非ゼロガイド値のポイントまたはプリミティブに割り当てられた出力方向は、入力値と完全に一致しない場合があり、その大きさも異なる場合があります。
Note
Tangent Fieldステートでは、ガイドベクトルとその結果のフィールドを比較することができます。
Cross Field Anisotropy ¶
これらのチャンネルは、4成分ベクトルフィールドでのみ利用可能です。
フィールドの異方性を指定すると、フレーム( エレメントローカル座標系 )フィールドのサイズを方向に依存させる形式で指定することができます。 異方性がない場合、すべてのフレーム方向は単位円上にあります(つまり、ローカル座標軸の各XYZベクトルの長さは同じです。以下の Normalize パラメータを参照してください)。 異方性とは、フェース毎にこの単位円が2つの主軸で定義された楕円となるように変形させることを意味します。 例えば、単位円を均一スケールさせると、ローカル軸の長さが異なるクロス( 四方向ベクトル )フィールドが得られます。 異方性基準は、各フェースで定義された複数のフレーム(主曲率方向、ユーザ指定のガイド、均一スケールのガイド)をウェイト配分で合成したものです。
Weight
異方性の方向を異方性基準に合わせつつ異方性フィールドの全体的な滑らかさを保つそのバランスを指定したウェイト。 ウェイトを上げると、異方性がガイドを正確に補間するようになり、ウェイトを下げると、標準の単位円に近づきます。 0より大きい値を使用してください。
Mask
異方性の方向をより忠実に再現するエレメントに対してウェイトを付けるための浮動小数点アトリビュートを指定します。 0から1の範囲の値を使用してください。
Enable
(主)曲率が異方性基準全体に寄与するようにします。
Weight
異方性フィールドに影響を与える曲率方向の強度。 0以上の値を使用してください。
Mask
異方性フィールドに影響を与える際の曲率フォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、異方性の方向が主曲率のサイズと方向に近づきます。 0以上の値を使用してください。
Enable
カスタムガイドが異方性基準全体に寄与するようにします。
Weight
異方性基準に影響を与えるガイドフレームの強度。 0以上の値を使用してください。
Mask
異方性フィールドに影響を与える際のガイドフォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、異方性の方向がガイドのサイズと方向に近づきます。 0以上の値を使用してください。
Attribute Name
ガイドアトリビュートの名前。 このガイドアトリビュートは、フィールドがガイドされるプリミティブ上に非ゼロベクトルを割り当てるvector3型アトリビュートでなければなりません。
Enable
カスタムサイズが異方性基準全体に寄与するようにします。
Weight
異方性基準に影響を与えるサイズフィールドの強度。 0以上の値を使用してください。
Mask
異方性フィールドに影響を与える際のサイズフォースとして適用されるエレメント単位のスカラーウェイト。 値が大きいほど、異方性の方向が指定されたサイズに近づきます。 0以上の値を使用してください。
Attribute Name
サイズアトリビュートの名前。 このサイズアトリビュートは、フィールドサイズが優先されるプリミティブ上に0以外の値を割り当てるfloat型アトリビュートでなければなりません。 このノードは、0を無視して補間します。 0以外のサイズ値のプリミティブに割り当てられた出力方向は、指定した大きさと完全に一致しない場合があり、ウェイトを上げるとそれに近づきます。
Output Attributes and Groups ¶
Field Attribute
生成されるフィールドアトリビュート(s)の名前。
生成される方向の数に応じて、個々の方向アトリビュート名の末尾にインデックス番号が追加されます。
デフォルト値はfieldです。
Normalize
有効にすると、生成されるフィールドベクトルすべてが単位長になります。 異方性を有効にすると、長さの概念が3D空間におけるベクトルのノルムと異なります。 無効の場合、滑らかに可変する大きさで計算した結果としてレポートされます。 通常、大きさは特異点の付近で減少します。
Generate
アトリビュートとして出力内に生成されるフィールドインスタンスベクトルの数。 方向は、反時計回りの順に0、1…と番号付けされます。
All Directions (default)
すべての方向が生成されます。 例えば、4成分ベクトルフィールドでは4つの方向アトリビュートが生成されます。
One Direction per Symmetric Pair
方向の数が偶数の場合、これは向かい合った2方向の1つ目の方向のみを生成します。 例えば、4成分ベクトルフィールドでは各エレメントで座標フレーム(一対の軸ベクトル)が生成されます。
Only One Direction
1つ目の方向のみがレポートされます。
Singular Group
特異な要素のリスト(フィールドがプリミティブ上に生成されている場合はポイント、フィールドがポイント上に生成されている場合はプリミティブ)がグループとしてレポートされます。
デフォルト値はsingularです。
Positive Singular Group
プラスの特異な要素のリスト(フィールドがプリミティブ上に生成されている場合はポイント、フィールドがポイント上に生成されている場合はプリミティブ)をグループとしてレポートします。
デフォルト値はpositive_singularです。
Negative Singular Group
マイナスの特異な要素のリスト(フィールドがプリミティブ上に生成されている場合はポイント、フィールドがポイント上に生成されている場合はプリミティブ)をグループとしてレポートします。
デフォルト値はnegative_singularです。
Discontinuities
方向の数が2個以上の時、これは、フィールド方向インデックス内で不連続性を示すエッジグループがレポートされます。
ほとんどの箇所では、個々のフィールド方向ベクトルは、滑らかに可変するベクトルフィールドのように動作します。 しかし、これはグローバルに実行できないことがよくあり、個々の方向が(例えば、90度)ジャンプしているように見える箇所があるはずです。 ポイント上に生成されるフィールドの場合、これらのエッジはエッジの一方の端からもう一方の端へのジャンプを示します。 フェース上のフィールドの場合、これらのエッジはエッジの両側のフェース間のジャンプを示します。
デフォルト値はdiscontinuitiesです。
Visualization ¶
これらのパラメータは、Tangent Field SOPのビューポートステートで使用され、変更してもオペレータは再クックされません。
Field
このノードのビューポートステートがアクティブな時、フィールドがジオメトリ上に表示されます。
マルチベクトルフィールドを表示すると、1つ目のインスタンスのベクトルフィールドは赤で描画され、その他のベクトルフィールドは青で描画されます。 プリミティブに対して計算されたフィールドを表示すると、頂点が4つ以上あるフェースの内部三角形のメンバー三角形ごとに、インスタンスセットが表示されます。
Field Scale Mode
視覚化されるフィールドベクトルの長さを指定します。
Prescale for Viewing: フィールドベクトルが見やすくなるように事前に計算されたスケールでベクトルを表示します。
Normalized: フィールドベクトルが単位長に設定されます。
None: フィールドベクトルが実際の長さで視覚化されます。
Field Scale
フィールドベクトルの現在の表示スケールを任意の係数で再スケールします。
デフォルト値は1です。
Singularities
各特異点の近似位置にドットが表示されます。 赤のドットはプラスのインデックス付きの特異点、青のドットはマイナスのインデックス付きの特異点を示します。
Guides
アトリビュートで指定された非ゼロガイドベクトルを表示します。 これは、ガイドとその結果のフィールドを比較するのに役立ちます。
Guide Scale Mode
視覚化されるガイドベクトルの長さを指定します。
Prescale for Viewing: ガイドベクトルが見やすくなるように事前に計算されたスケールでベクトルを表示します。
Normalized: ガイドベクトルが単位長に設定されます。
None: ガイドベクトルが実際の長さで視覚化されます。
Guide Scale
ガイドベクトルの現在の表示スケールを任意の係数で再スケールします。
デフォルト値は1です。
Anisotropy
フィールドの局所的な異方性とスケールを可視化した楕円を表示します。 Alignment のパラメータが変更されると、フェースベースのクロスフィールドはこの楕円上に収まるように制限されます。
Anisotropy Scale
異方性楕円の現在の表示スケールを任意の倍率で再スケールします。
デフォルト値は1です。
Examples ¶
TangentFieldExample Example for Tangent Field geometry node
このサンプルでは、Tangent Fieldノードをメッシュに対して使用する方法を説明しています。
TangentFieldGuidingExample Example for Tangent Field geometry node
このサンプルでは、接線フィールドをガイドするためのいくつかの方法を説明しています。
| See also |