On this page | |
Since | 18.0 |
Solarisの拘束 ¶
現在のところ、USDは拘束に対応していません。 パラメータ拘束は、説明的、不変、常に同じ結果を返すというUSDの設計思想におそらく反します。
USDを生成するUSD上のレイヤーとして、LOPネットワークは動的拘束を計算して、そのUSDをディスクに書き出す度にそのタイムサンプルでその結果を“ベイク”することができます。
メモとTips ¶
-
入れ子化されたポイントインスタンスをソース(パスに拘束するもの)として使用することが できません 。
-
入れ子化されたポイントインスタンスをパスとして使用することが できます 。
-
デフォルトでは、(例えば、SOP ImportまたはSOP Createを経由して)SOPsから取り込まれたジオメトリのPointアトリビュートはUSDに取り込まれます。 そのため、SOPsでアトリビュート(例えば、Upベクトルアトリビュート)をセットアップしておけば、それらのアトリビュートをこのノードで使用することができます。
-
VEXスニペットでは、コロン(
:
)を含んだ@
変数名を使用することができます。これによって、特定のUSDアトリビュート名(例えば、i@primvars:foo
)を自動的にバインドするのが簡単になります(通常、このような名前はVEXソースコード内では有効ではありません。このような名前がスニペット内で使用されると、このノードが自動的にその名前をエンコードします)。
パラメータ ¶
Source ¶
Type
ソース(パスに追従するように拘束されるもの)が通常Primまたはポイントインスタンスのどちらかなのかを指定します。 入れ子化されたポイントインスタンスをソースとして使用することが できません 。
Source Instances
Source ▸ Type が“Point Intance”の時に使用するポイントインスタンスを/path[instance_index]
構文で指定します(例えば、/geometry/instancer[1]
)。
Path ¶
Target Source
追従するパスカーブの取得先。1番目の入力または2番目の入力のどちらなのかを指定します。
Type
パスが通常Primまたはポイントインスタンスのどちらなのかを指定します(入れ子化されたポイントインスタンスをターゲットとして使用することが できます )。
Constraint Options ¶
Import Time
ソース/ターゲットのジオメトリを埋め込みSOPNET内に取り込んで拘束を構築する際のフレームを指定します。 デフォルトの“$FF”エクスプレッションは、ソースまたはターゲットのPrimsを駆動させるタイムサンプルを持った時間依存ではないネットワーク上で拘束LOPを動作させるため、その拘束LOPを強制的に時間依存にします。 しかし、タイムサンプルを持たない時間依存ではないネットワークでパフォーマンスを良くするには、代わりに静的な値を使用することを推奨します。
Maintain Local Offset
これを無効にすると(デフォルト)、ソースオブジェクトは、それが追従するパス上にスナップします。 これを有効にすると、ソースオブジェクトは、パスの形状に追従した時と同じ相対距離でソースオブジェクトとパスの間を維持します。
Parametrization
Position 値をパスにマップする方法。
Normalized Distance
0
をカーブの開始位置、1
をカーブの終了位置にします。
中間の小数点値は、カーブの円弧長で除算されます。
Normalized Knots
0
をカーブの開始位置、1
をカーブの終了位置にします。
中間の小数点値は、ノット/編集ポイント間の距離で除算されます。
例えば、ポリラインが5つのポイントを持っている(2つの端点、3つの内部コーナー)場合、それぞれのポイントにおける距離は、順番に0.0
, 0.25
, 0.5
, 0.75
, 1.0
となります。
Distance from Start
Position をカーブの 開始点 からの円弧長(ワールド単位)として使用します。
Distance from End
Position をカーブの 終了点 からの円弧長(ワールド単位)として使用します。
Distance Point Attribute
Primvarからカーブ内の各ポイントにおける“距離”値を取得します。
Primvarは必ずvector3
でなければなりませんが、1番目のコンポーネント(X)のみが使用されます。
このX値は、カーブに沿って単調に増加させないと、まったくおかしな結果になってしまいます。
Distance Attribute
Parameterization が“Distance Point Attribute”の時、距離値を含んだPrimvarの名前(primvar:
接頭辞を含みません)。
Primvarは必ずvector3
でなければなりませんが、1番目のコンポーネント(X)のみが使用されます。
Position
パスに沿ったソースオブジェクトの配置位置。
パスに沿ってソースオブジェクトをアニメーションさせたいのであれば、ここには、現行フレーム($F
)または時間($T
)に基づいたエクスプレッションを指定してください。
例えば、 Parameterizaiton が“Normalized Distance”であれば、ここには$F/100
のようなエクスプレッションを設定することができます。
Use Snippet
VEXスニペットを使って位置を設定します。
このスニペットでは、位置の値をpos
変数に書き込んでください。
典型的にはAttribute Wrangle SOPで利用可能な変数を使用することができます。
@ptnum
は、拘束されている現行Primのインデックスです。
npoints(0)
を使用することで、拘束されているPrimsの総数を取得することができます。
@Frame
や@Time
を使用することで、スニペットを時間依存にすることができます。
(スニペットの最初の時点での)pos
の初期値は、 Position パラメータが評価された値になります。
そのため、そのパラメータでエクスプレッションを使って“ベース”値を計算し、スニペットを使ってその値を修正することができます。
Orientation ¶
Look At Mode
ソースオブジェクトが向く方向を計算する方法。
None
どこにも向かないようにソースオブジェクトを回転させません。
Along Path
パスカーブの接線方向に向けます。通常ではこれがあなたの求めているものなので、オブジェクトがカーブに追従しているような見た目になります。
Direction Attribute from Path
カーブ上のvector3f
Primvarを使って、各ポイントでのLook Atベクトルを指定します。
From Primitive
特定のPrimに向くようにソースPrimを回転させます。
Look At Source
Look At Mode が“From Primitive”の時、視線先となるPrimの取得先(1番目の入力または2番目の入力)。
Look At Xform
Look At Mode が“From Primitive”の時、視線先となるPrimのシーングラフパス(これは、ポイントインスタンスを視線先にすることはできません)。
Direction Attribute
Look At Mode が“Direction Attribute from Path”の時、Look At方向として使用するvector3f
Primvarの名前(primvar:
接頭辞を除く)。
Look Up Mode
Upベクトルの計算方法。
Up Vector Attribute from Path
カーブ上のvector3f
Primvarを使って、各ポイントでのUpベクトルを指定します。
Along Path
パス接線をUpベクトルとして使用します。
X Axis
ワールド+X方向をUpベクトルとして使用します。
Y Axis
ワールド+Y方向をUpベクトルとして使用します。
Z Axis
ワールド+Z方向をUpベクトルとして使用します。
From Primitive
ソースPrimがカーブに沿って移動する時に、Upベクトルが特定のPrimの方へ向くようにソースPrimを回転させます。
Custom
Up Vector パラメータのベクトルを使用します。
Up Vector Source
Look Up Mode が“From Primitive”の時、Upベクトルを向けるPrimの取得先(1番目の入力または2番目の入力)。
Up Vector Xform
Look At Mode が“From Primitive”の時、Upベクトルを向けるPrimのシーングラフパス(これはポイントインスタンスに対応していません)。
Look At Axis
Look Atベクトルに合わせるソースオブジェクトの軸。 これを使用することで、ソースオブジェクトが作成された向きを補正することができます。 ここには、 Look Up Axis と同じ軸を指定することはできません。
Look Up Axis
Upベクトルに合わせるソースオブジェクトの軸。 これを使用することで、ソースオブジェクトが作成された向きを補正することができます。 ここには、 Look At Axis と同じ軸を指定することはできません。
Up Attribute
Look Up Mode が“Up Vector Attribute from Path”の時、Look Upベクトルとして使用するvector3f
Primvarの名前(primvar:
接頭辞を除く)。
Roll
Look At方向を軸としたロール角度(単位は度)。 例えば、これを使用することで、ソースオブジェクトがカーブを軸として周った時に“バンク”をアニメーションさせることができます。
Use Snippet
VEXスニペットを使ってロールを設定します。
このスニペットでは、ロール角度をroll
変数に書き込んでください。
典型的にはAttribute Wrangle SOPで利用可能な変数を使用することができます。
@ptnum
は、拘束されている現行Primのインデックスです。
npoints(0)
を使用することで、拘束されているPrimsの総数を取得することができます。
@Frame
や@Time
を使用することで、スニペットを時間依存にすることができます。
(スニペットの最初の時点での)roll
の初期値は、 Roll パラメータが評価された値になります。
そのため、そのパラメータでエクスプレッションを使って“ベース”値を計算し、スニペットを使ってその値を修正することができます。
Examples ¶
FollowPathConstraint Example for Follow Path Constraint
このサンプルには、Follow Path Constraint LOPの色々な使い方が含まれています。
See also |