On this page | |
Since | 18.0 |
概要 ¶
このノードは、曲線の接線方向に基づいて、Upベクトルと追加の回転を指定するための色々なオプションを使って、いわゆる参照フレームの向きを計算します。 これは、ジオメトリをパスに沿わせて移動またはコピーしたり、パスに沿わせてスイープサーフェスを構築する場合に、そのジオメトリの向きを制御するのに役立ちます。 これらの向きは、SweepノードやCopy to Curvesノードの向きと同じです。
PolyFrameノードとは違って、これは、すべてのポリゴンをたとえ閉じていても曲線として扱い、閉じたパスでも簡単に向きを計算することができます。
パラメータ ¶
Curve Group
向き(参照フレーム)を計算するプリミティブのグループ。
Frame ¶
Tangent Type
頂点毎に接線を計算する全体的なメソッド。
Transform Using Point Attributes が有効で、入力にN
(vector)、orient
(quaternion)、rot
(quaternion)、transform
(3×3または4×4のmatrix)のどれかのPointアトリビュートが存在すれば、 Z Axis (Ignore Curve) 以外のタイプは無視され、代わりにこれらのアトリビュートで決まったトランスフォームのZ軸が接線方向に使用されます。
Stretch Around Turns オプションは、この Tangent Type のタイプに関係なく Average of Edge Directions 接線に基づいて(他のタイプでは伸縮方向は定義できないので)、伸縮量と伸縮方向を計算します。
以下のオプションの説明と画像を参照してください。
Average of Edge Directions
前のエッジベクトルと次のエッジベクトルの正規化した方向の平均。
Central Difference
前のエッジベクトルと次のエッジベクトルを正規化していない方向の平均。 これは、Trailノードの Velocity Approximation の Central Difference オプションと同様です。
Previous Edge
前のエッジの方向。
Next Edge
次のエッジの方向。
Z Axis (Ignore Curve)
曲線の向きに関係なく、接線がZ軸として選択されます。
Make Closed Curve Orientations Continuous
有効にすると、閉じた曲線を周って累積したロール(ねじれ)は、最終エッジで急回転しないように、その曲線が1周まわって分散するように打ち消されます。 平面曲線では、曲線を1周して累積するような特有のロールはありませんが、( Apply Roll or Twist が有効な時)これは、 Partial Twist オプションにも適用されるので、全周の捻じりではない捻じりも、全周の捻じりになるように丸められます。
Extrapolate End Tangents
有効にすると、終端(始端を含む)での接線は、 Tangent Type に基づいて外挿され、そのタイプで選択されるエッジは終端エッジ方向ではなく、その終端に近い2つのエッジから選択されます。 これは、曲線で円弧を表現しようとした時に、終端の向きが期待したように回転させたい場合に非常に役立ちます。上記の画像を参照してください。
Transform Using Point Attributes
有効にすると、主にここでアトリビュートを指定するのと同じようにP
、N
、up
、orient
、rot
、trans
、pivot
、pscale
、scale
、transform
のどれかのPointアトリビュートを使って各トランスフォームが形成されます。
N
が存在していて、up
、orient
、rot
、transform
が存在しなかった場合、N
が曲線の接線として使用され、残りの回転は通常通りに計算されます。
up
が存在していて、N
、orient
、rot
、transform
が存在しなかった場合、接線が通常通りに計算され、up
が各頂点のUpベクトルとして使用され、その後に Apply Roll or Twist が適用されます。
Target Up Vector
接線方向を軸とした回転の自由度を拘束する固定軸となる曲線毎のUpベクトル。
曲線が平面上にある場合、 Curve Normal オプションによって、そのUpベクトルはその平面の法線方向になります。
しかし、その曲線が直線になっていると、このオプションは固定軸のUpベクトルの代替値としてY軸を使用します。
Attribute オプションでは、Primitive/Detailアトリビュートを使って、曲線毎にUpベクトルを選択することができます。
すべてのカーブポイント上で個別にUpベクトルを指定したいのであれば、代わりに Transform Using Point Attributes を使用してください。
曲線上にup
という名前のPointアトリビュートを用意すれば、この Target Up Vector が無視されます。
Target Up Vector at Start (else Average)
有効にすると、曲線毎のロールは、最初の頂点のUpベクトルができるだけ Target Up Vector に近くなると同時にさらに接線ベクトルに垂直になるように選択されます。 無効にすると、曲線毎のロールは、最初の頂点ではなく、すべての頂点のUpベクトルの平均が適用されます。 Use Target End Up Vector Option を使用する場合には、これを有効にしてください。
Use Target End Up Vector
これを有効、且つ、 Target Up Vector at Start を有効にすると、曲線毎の捻じりは、始端のUpベクトルに影響を与えることなく終端のUpベクトルができるだけ Target Up Vector に近くなるように調整されます。 Target Up Vector が Attribute または Custom の時、終端Upベクトルとは別に始点Upベクトルを指定できるように Start Up Attribute パラメータや Start Up Vector パラメータがさらに表示されます。
Start Up Attribute
Target Up Vector が Attribute の時、ここには、曲線毎の Target Up Vector に使用するPrimitive/Detailアトリビュートの名前を指定します。 Target Up Vector at Start を有効にすると、曲線の始端における Target Up Vector を指定することができます。 Target Up Vector at Start を無効にすると、曲線毎に沿った平均のUpベクトルを Target Up Vector に使用することができます。
End Up Attribute
Target Up Vector が Attribute 、且つ、 Use Target End Up Vector が有効な時、ここには、曲線の終端における Target Up Vector を設定するためのPrimitive/Detailアトリビュートの名前を指定します。 曲線毎の捻じりは、始端のUpベクトルに影響を与えることなく終端のUpベクトルができるだけ Target End Up Vector に近くなるように調整されます。
Start Up Vector
Target Up Vector が Custom の時、ここには、曲線毎に使用する Target Up Vector を指定します。 Target Up Vector at Start を有効にすると、これは、曲線の始端における Target Up Vector が使用されます。 Target Up Vector at Start を無効にすると、これは、曲線毎に沿った平均のUpベクトルを Target Up Vector に使用することができます。
End Up Vector
Target Up Vector が Custom の時、ここには、曲線毎に使用する Target End Up Vector を指定します。 曲線毎の捻じりは、始端のUpベクトルに影響を与えることなく終端のUpベクトルができるだけ Target End Up Vector に近くなるように調整されます。
Adjust Up Vectors by Curvature
有効にすると、Upベクトルが曲率の中心の方へ向くように調整されます。 計算された接線とその接線のポイントからポイントへの変化量を使用して、曲率ベクトルが計算されて、そして Curvature Scale でスケーリングされます。 Upベクトルは、Upベクトルとスケーリングされた曲率ベクトルの垂直成分の正規化された合計値で再計算されます。
Upベクトルと曲率ベクトルがほぼ逆方向を向いていて、その曲率ベクトルがそのUpベクトルよりも大きい場合、そのUpベクトルが突然反転するように見えることがあります。 最良の結果を得るために、Upベクトルと曲率ベクトルとの間の角度が180度に近づかないようにしてください。
Curvature Scale
均一量で曲率ベクトルをスケーリングします。 これは、計算された曲率ベクトルと Curvature Attribute のアトリビュートで指定された曲率ベクトルの両方に適用されます。
Enable Curvature Scale Attrib
有効にすると、カーブポイント上のアトリビュートによって曲率ベクトルがスケーリングされます。
Curvature Scale Attrib
曲率ベクトルをスケーリングするカーブポイント上のアトリビュート。 これは、各ポイントに速度を導入することと同様の効果があり、このアトリビュートを使用することで、曲率が各ポイントのUpベクトルに影響を与える度合いを制御することができます。
Enable Curvature Attrib
有効にすると、アトリビュートを使用して曲率ベクトルを指定することができます。
Curvature Attrib
曲率ベクトルを指定する際に使用されるカーブポイント上のアトリビュート。
Additional Rotations ¶
Rotate Order
以下のPitch(X軸/従法線方向の軸回転)、Yaw(Y軸/Upベクトルの軸回転)、RollまたはTwist(Z軸/接線方向の軸回転)のオプションが複数有効になっている場合にそれらを適用する順番。 PitchとYawは、向きに対して実質的に事前トランスフォームを適用して使用するのに役立ちます。 その理由で、PitchとYawはデフォルトでRollまたはTwistよりも先に適用されるようになっています。
これらの回転は、曲線に基づいたトランスフォームの前に実質的に適用されるので、結局の所、曲線フレームの空間での回転の効果と同じです。
Apply Roll or Twist
有効にすると、(上記で計算された)接線方向を基準としたRoll回転を適用するための以下のパラメータが有効化されます。
Roll
Apply Roll or Twist が有効な場合に、すべての向きに適用される接線方向を軸とした回転(単位は度)です。
Twist Per
以下で指定された捻じり値から(360*(Full Twists) + (Partial Twist))
の総捻じり量を適用する方法。
以下の説明と画像を参照してください。
Per Edge
エッジ毎に、この総捻じり量を累積的に適用します。 そのため、例えば6つのエッジに沿ってそれぞれ Partial Twist の60度が累積的に適用されて、結果として合計360度の捻じりになります。 この場合では、単一エッジでの全周捻じりは元の向きに戻るわけですから、 Full Twists は何の効果もありません。
Per Unit Distance
エッジの長さに沿って比例して“ワールド単位”毎に、この総捻じり量を累積的に適用します。
Scale by Attribute
Twist Ramp Attribute パラメータで指定した名前のアトリビュート(ここにはPoint/Vertex/Primitive/Detailアトリビュートを指定することができます)の値とこの総捻じり量(単位は度)を乗算した値を頂点毎に適用します。 この乗算した値は、捻じり量を累積させるのではなくて、頂点単位でのRollとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、この総捻じり量が最終の捻じり量と同じになります。
Per Full Curve by Edges
総捻じり量を曲線のエッジの数で均等に割った捻じり量をエッジ毎に累積的に適用します。 例えば、6つのエッジを持った曲線に沿って Partial Twist に60度を指定した場合、エッジ毎に10度ずつ回転が加わっていきます。
Per Full Curve by Distance
総捻じり量を曲線のエッジの長さに比例させて分配した捻じり量をエッジ毎に累積的に適用します。
Full Twists
( Twist Per パラメータで設定された間隔毎に)追加する全周捻じりの回数。 これは、単に便宜的に用意されているだけです。 この回数に360を乗算した値を Partial Twist の量に加算します。 Twist Per が Per Full Curve by Edges または Per Full Curve by Distance の場合、これは、曲線毎の全長間の全周回数に相当します。
Partial Twist
( Twist Per パラメータで設定された間隔毎に)追加する接線方向を軸とした捻じり量(単位は度)。 この量は、360度と Full Twists の回数を乗算した量に追加されます。
Twist Ramp Attribute
Twist Per が Scale By Attribute の時、ここには、Point/Vertex/Primitive/Detailアトリビュートの名前を指定します。 このアトリビュートの値が総捻じり量( Full Twists と Partial Twist の合計量)に乗算されます。 この乗算した値は、捻じり量を累積させるのではなくて、頂点単位でのRollとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、この総捻じり量が最終の捻じり量と同じになります。
Apply Yaw
有効にすると、(上記で計算された)Upベクトルを軸としたYaw回転を適用するための以下のパラメータが有効化されます。
Yaw
Upベクトルを軸とした回転(単位は度)です。 Apply Yaw が有効になっていると、すべての向きに適用されます。
Yaw Per
以下で指定された Incremental Yaw 値を適用する方法。
Per Edge
エッジ毎に、この Incremental Yaw を累積的に適用します。 そのため、例えば6つのエッジに沿ってそれぞれ Incremental Yaw の60度が累積的に適用されて、結果として360度のYaw(Upベクトルを軸としたスピン)になります。
Per Unit Distance
エッジの長さに沿って比例して“ワールド単位”毎に、この Incremental Yaw を累積的に適用します。
Scale By Attribute
Yaw Ramp Attribute パラメータで指定した名前のアトリビュート(ここにはPoint/Vertex/Primitive/Detailアトリビュートを指定することができます)の値とこの Incremental Yaw を乗算した値を頂点毎に適用します。 この乗算した値は、 Incremental Yaw を累積させるのではなくて、頂点単位でのYawとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、 Incremental Yaw 値が最終のYaw値と同じになります。
Per Full Curve by Edges
Incremental Yaw を曲線のエッジの数で均等に割ったYaw値をエッジ毎に累積的に適用します。 例えば、6つのエッジを持った曲線に沿って Incremental Yaw に60度を指定した場合、エッジ毎に10度ずつ回転が加わっていきます。
Per Full Curve by Distance
Incremental Yaw を曲線のエッジの長さに比例させて分配したYaw値をエッジ毎に累積的に適用します。
Incremental Yaw
Yaw Per パラメータで設定された間隔毎に適用される“Up”ベクトルを軸とした回転(単位は度)です。
Yaw Ramp Attribute
Yaw Per が Scale By Attribute の時、ここには、Point/Vertex/Primitive/Detailアトリビュートの名前を指定します。 このアトリビュートの値が Incremental Yaw に乗算されます。 この乗算した値は、Yawを累積させるのではなくて、頂点単位でのYawとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、 Incremental Yaw 値が最終のYaw値と同じになります。
Apply Pitch
有効にすると、(上記で計算された接線ベクトルとUpベクトルに垂直な)“Out”ベクトルを軸としたPitch回転を適用するための以下のパラメータが有効化されます。
Pitch
(接線ベクトルとUpベクトルに垂直な)Outベクトルを軸とした回転(単位は度)です。 Apply Pitch が有効になっていると、すべての向きに適用されます。
Pitch Per
以下で指定された Incremental Pitch 値を適用する方法。
Per Edge
エッジ毎に、この Incremental Pitch を累積的に適用します。 そのため、例えば6つのエッジに沿ってそれぞれ Incremental Pitch の60度が累積的に適用されて、結果として360度のPitch(Outベクトルを軸としたタンブル)になります。
Per Unit Distance
エッジの長さに沿って比例した“ワールド単位”毎に、この Incremental Pitch を累積的に適用します。
Scale By Attribute
Pitch Ramp Attribute パラメータで指定した名前のアトリビュート(ここにはPoint/Vertex/Primitive/Detailアトリビュートを指定することができます)の値とこの Incremental Pitch を乗算した値を頂点毎に適用します。 この乗算した値は、 Incremental Pitch を累積させるのではなくて、頂点単位でのPitchとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、 Incremental Pitch 値が最終のPitch値と同じになります。
Per Full Curve by Edges
Incremental Pitch を曲線のエッジの数で均等に割ったPitch値をエッジ毎に累積的に適用します。 例えば、6つのエッジを持った曲線に沿って Incremental Pitch に60度を指定した場合、エッジ毎に10度ずつ回転が加わっていきます。
Per Full Curve by Distance
Incremental Pitch を曲線のエッジの長さに比例させて分配したPitch値をエッジ毎に累積的に適用します。
Incremental Pitch
Pitch Per パラメータで設定された間隔毎に適用される“Out”ベクトルを軸とした回転(単位は度)です。
Pitch Ramp Attribute
Pitch Per が Scale By Attribute の時、ここには、Point/Vertex/Primitive/Detailアトリビュートの名前を指定します。 この乗算した値は、Pitchを累積させるのではなくて、頂点単位でのPitchとして適用されます。 そのため、曲線に沿ってアトリビュート値を0から1に上げていけば、 Incremental Pitch 値が最終のPitch値と同じになります。
Scales and Shears ¶
Normalize Scales
有効にすると、 Transform Using Point Attributes (例えば、pscale
、scale
、transform
のアトリビュート)からのスケールもシアーも打ち消されます。
Uniform Scale
このスケールは、 Normalize Scales の後のトランスフォームに適用されます。
Stretch Around Turns
有効にすると、これは、曲線の曲がり角を曲がる方向にトランスフォームを伸ばします。 これは主にSweepノードで断面を使用する際に、その断面がエッジに沿って潰れたような見た目にならないようにするのに使用します。 これがSweepノードで普段あなたが求めている挙動だと思いますが、他の用途ではあまり使用しません。
Max Stretch
Stretch Around Turns が有効な場合、ここには、トランスフォームを伸ばす最大量を指定します。 これによって、曲線が1つの曲がり角でほぼ逆方向を向く時に非常に遠くの方に伸ばされるのを回避することができます。
Output Attributes ¶
Class
ポイントまたは頂点のどちらに出力アトリビュートを生成するのか指定します。 トランスフォームは、まず最初に頂点に対して常に計算されます。 出力アトリビュートがPointアトリビュートで、共有ポイントが存在した場合、その頂点における個々のトランスフォームは、クォータニオンとしての回転、移動、スケール、シアーを別々に平均化することによって、平均化されます。
X Axis
有効にすると、この名前のベクトルアトリビュートが出力上に生成されます。
このアトリビュート値は、曲線の接線方向(Z軸)とUpベクトル(Y軸)に垂直なベクトルです。
曲線が平面上にあって、 Target Up Vector が Curve Normal に設定されている場合、この値は外側方向に相当します。
アトリビュートの名前をN
にすると、ベクトルタイプではなく法線タイプのアトリビュートとしてマークされます。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
Y Axis
有効にすると、この名前のベクトルアトリビュートが出力上に生成されます。
このアトリビュート値は、曲線の接線方向(Z軸)に垂直なUpベクトルに相当します。
アトリビュートの名前をN
にすると、ベクトルタイプではなく法線タイプのアトリビュートとしてマークされます。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
Tangent (Z Axis)
有効にすると、この名前のベクトルアトリビュートが出力上に生成されます。
このアトリビュート値は、曲線の接線方向に相当します。
アトリビュートの名前をN
にすると、ベクトルタイプではなく法線タイプのアトリビュートとしてマークされます。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
Translation
有効にすると、この名前のポジションアトリビュートが出力上に生成されます。
このアトリビュート値は、 Transform Using Point Attributes が有効な場合には、P
、pivot
、trans
、transform
のアトリビュートから求まる移動量に相当します。
Transform Using Point Attributes が無効な場合には、単にP
に相当します。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
Quaternion
有効にすると、この名前のクォータニオンアトリビュートが出力上に生成されます。
このアトリビュート値は、曲線に沿った向きに相当します。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
3×3 Transform
有効にすると、この名前の3×3トランスフォームマトリックスが出力上に生成されます。
このアトリビュート値は、曲線に沿った向き、スケール、シアーに相当します。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
4×4 Transform
有効にすると、この名前の4×4トランスフォームマトリックスが出力上に生成されます。
このアトリビュート値は、曲線に沿った向き、スケール、シアー、移動量に相当します。
入力のP
アトリビュートが64ビットの場合、このアトリビュートも64ビットになります。
Examples ¶
TankTread Example for Orientation along Curve geometry node
このサンプルでは、Orientation Along Curve SOPを使用して、戦車の無限軌道を作成する方法を説明しています。
See also |