Houdini 19.0 ノード LOPノード

Follow Path Constraint

Primがパスカーブに追従するように拘束します。

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

LOPノード

  • Add Variant

    Prim上のバリアントセットに1つ以上のバリアントを追加します。このノードは、そのPrimが存在しなければ、そのPrimを作成します。

  • Additional Render Vars

    複数のRender Varsを作成します。

  • Asset Reference

    USDアセットをリファレンス、トランスフォーム、バリアント選択します。

  • Assign Material

    1つ以上のUSD Primsにマテリアルを割り当てます。VEXを使用することで、プログラム的にマテリアルを割り当てたり、プログラム的に割り当て毎にマテリアル設定をオーバーライドしたり、プログラム的にジオメトリサブセットにマテリアルを割り当てることもできます。

  • Attribute VOP

    VOPネットワークを使ってUSDアトリビュート値を作成/編集します。

  • Attribute Wrangle

    VEXスニペットを使ってUSD Primアトリビュートを作成/編集します。

  • Auto Select LOD

    カメラからPrimまでの距離に基づいて自動的にLODバリアントを選択します。

  • Background Plate

    背景が見透けるようにシーン内に穴を残すホールドアウトオブジェクトまたはマットオブジェクトをセットアップします。これらのPrimsはまだ影を受け、背景であるかのように反射に寄与します。

  • Bake Skinning

    UsdSkelで駆動されたアニメーションをトランスフォームとポイントポジションにベイクします。

  • Basis Curves

    基底カーブシェイプPrimを作成または編集します。

  • Begin Context Options Block

    このノードは、LOPノード群のブロックを開始します。このブロック内では特定のコンテキストオプションが特定の値を持ちます。

  • Blend

    小数点ウェイトに基づいてレイヤーのアトリビュートに部分的に編集を適用します。

  • Blend Constraint

    パラメータとして指定されたウェイトのリストに応じてトランスフォームをブレンドします。

  • Cache

    異なる時間におけるネットワークのクック結果をキャッシュ化することで、再生パフォーマンスを上げます。

  • Camera

    シーンにUSDカメラを追加します。

  • Capsule

    カプセル(開口部を半球で閉じたチューブ)形状Primを作成/編集します。

  • Collection

    プリミティブパターンを使ってコレクションを作成/編集します。

  • Component Geometry

    ジオメトリコンテナ。または、Component Builderツールで作成されたネットワーク内でソースを取り込みます。

  • Component Geometry Variants

    Component Builderツールで作成されたネットワーク内でジオメトリバリアントをセットアップします。

  • Component Material

    Component Builderツールで作成されたネットワーク内でマテリアルをジオメトリに割り当てます。

  • Component Output

    Component Builderツールで作成されたネットワーク内で最終Component Primを組み立てます。

  • Cone

    円錐形状Primを作成/編集します。

  • Configure Layer

    レイヤー上のメタデータを編集します。

  • Configure Primitives

    1つ以上のPrim上の色々なメタデータを編集します。

  • Configure Properties

    プロパティ(リレーションシップとアトリビュート)上のメタデータを修正します。

  • Configure Stage

    レイヤーをステージとAsset Resolutionに読み込むための方法を示したメタデータを修正します。

  • Copy Property

    あるプリミティブのプロパティを別のプリミティブにコピーしたり、プリミティブ上のプロパティの名前を変更します。

  • Create LOD

    PolyReduce SOPを使って高解像度モデルから複数のLODを自動的に生成し、それらのLODをUSDバリアントとして保存します。

  • Cube

    キューブ形状Primを作成/編集します。

  • Cylinder

    シリンダー形状Primを作成/編集します。

  • Distant Light

    太陽などの遠くにある光源を表現したUSD Distant Lightを作成または編集します。いくつか便利なKarma固有のアトリビュートを追加します。

  • Dome Light

    USD Dome Light Primを作成/編集します。ドームライトは光を 内側 に放射して、シーンを囲んだ空/環境からの入射光を模倣します。

  • Drop

    重量によるPrimsの落下シミュレーションを実行します。

  • Duplicate

    Prim(とその子孫)のコピーを作成します。

  • Edit

    ビューア内でインタラクティブにPrimsをトランスフォームさせます。物理衝突を使用して、プロップを現実的に配置することができます。

  • Edit Context Options

  • Edit Material

    パラメータやシェーダ接続を変更することで既存のUSDマテリアルを編集することができます。これは、既存マテリアルが編集不可なレイヤーの場合に役立ちます。

  • Edit Material Properties

    マテリアルまたはシェーダの入力アトリビュートの値を直接編集できるようにそれらのアトリビュートを反映させたSpareパラメータインターフェースを構築することができます。

  • Edit Properties

    アトリビュート値とリレーションシップ値を直接編集するためのSpareパラメータインターフェースを構築することができます。

  • Edit Prototype

    ポイントインスタンスまたはUSDインスタンス可能Primが別のプロトタイプをインスタンス化するように切り替えます。

  • Edit Target Layer

    アクティブレイヤー内のPrimsとアトリビュートをオーバーライドするのではなく、下位レイヤーで直接編集を適用することができます。

  • Error

    親アセット上で表示可能なメッセージ、警告、エラーを生成します。

  • Explore Variants

    Primのバリアントを視覚化、設定、抽出します。

  • Extract Instances

    インスタンスを実際に編集可能なPrimに変換(ヒーロー化)します。

  • Fetch

    他のLOP(他のLOPネットワーク内のLOPも可能)の出力を取得します。

  • Follow Path Constraint

    Primがパスカーブに追従するように拘束します。

  • For Each

    For-Eachループブロックの終了ノード。

  • Geometry Sequence

    ジオメトリファイルシーケンスをアニメーションジオメトリとしてLOPsに取り込みます。

  • Geometry Subset VOP

    VEXpressionまたはVOPネットワークの評価に基づいて(SOPのグループと同様に)ジオメトリPrims内にUSDジオメトリサブセットを作成します。

  • Graft Branches

    2番目の入力からPrims/ブランチを受け取り、それらのツリーを1番目の入力のシーングラフツリーのブランチに取り付けます。

  • Graft Stages

    他の入力からシーングラフツリーを受け取り、それらのツリーを1番目の入力のシーングラフツリーのブランチに取り付けます。

  • HDA Dynamic Payload

    ディスク上のOBJ/SOPアセットをクックして、そのアニメーションジオメトリ出力をUSD Payloadとして取り込みます。

  • Hermite Curves

    エルミートカーブシェイプPrimを作成または編集します。

  • Inline USD

    レイヤーを表現したusdaコードを解読し、そのレイヤーをレイヤースタックに追加します。

  • Insertion Point

    ノードが挿入可能なノードグラフ内のポイントを表現します。

  • Instancer

    ポイント上にPrimsをインスタンス化またはコピーします。

  • Instancer

    ボックス内に定数ボリュームを作成します。

  • Instancer

    共通設定を共有した複数のRender Productを作成します。

  • Karma

    HoudiniのKarmaレンダラーを使ってUSDシーンをレンダリングします。

  • Karma Procedural

    Karma向けにレンダリング時にインスタンス化される仕組みをセットアップします。

  • Karma Render Properties

    Karma用レンダープロパティを構成します。

  • Karma Standard Render Vars

    標準Karma Render Vars(AOVs/Image Planes)を作成します。

  • LOPノード

    LOPノードは、キャラクタ、プロップ、ライティング、レンダリングを記述したUSDを生成します。

  • LPE Tag

    ライトのLPE Tagを管理します。

  • Layer Break

    このノードより下流のノードで編集をするための新しいアクティブサブレイヤーを開始し、ディスクに保存する際にこれまでのすべてのレイヤーが破棄されることを示します。

  • Layer Replace

    特定のレイヤー内のすべての用途を2番目の入力の代替レイヤーに置換します。

  • Layout

    インスタンス化されたUSDアセットをシーンに取り込むツールが備わっています。個々にコンポーネントを配置したり、カスタマイズ可能なブラシを使って色々な方法でコンポーネントをペイント/スキャッターしたり、既存のインスタンスを編集することができます。

  • Light

    USD Light Primを作成/編集します。このノードは、Karma固有のいくつかの便利アトリビュートも追加します。

  • Light Linker

    ルールに基づいてUSDライトリンクプロパティを作成します。

  • Light Mixer

    複数のライトに対してUSDプロパティをインタラクティブに編集することができます。

  • Load Layer for Editing

  • Loft Payload Info

    ペイロードをロードするPrimにそのペイロード内部の基本情報を追加します。

  • Look At Constraint

    Primがターゲットの方へ常に向くように拘束します。

  • Mask from Bounds

    選択したPrimsが境界形状内に存在するかどうか/どれだけの割合で存在するかに応じてPrimvarを設定します。

  • Material Library

    シェーダVOPノードからUSDマテリアルPrimsを作成します。

  • Material Linker

    ルールに基づいてマテリアルの割り当てを作成します。

  • Material Variation

    Prim/インスタンス単位でマテリアルパラメータをオーバーライドするためのアトリビュート/Primvarsを作成します。

  • Merge LOP

    入力ステージのレイヤー(s)をレイヤースタックに1本化します。

  • Mesh

    MeshシェイプPrimを作成または編集します。

  • Modify Paths

    アセットパスアトリビュート値を修正します。

  • Modify Point Instances

    個々のポイントインスタンスに対してポイントトランスフォームとポイントプロパティ値を変更します。

  • Null

    このノードは何もしません。ネットワーク内の固定位置としてNullをネットワークに挿入することで、エクスプレッション/スクリプト内で名前によってその位置を参照するのに役立ちます。

  • Output

    サブネットワークの出力を表現します。複数の出力を使ってノードアセットを設計することができます。

  • Parent Constraint

    ツリー内のどこかの他のPrimのトランスフォーム階層をPrimに継承させたようにします。

  • Points

    PointsシェイプPrimを作成または編集します。

  • Points Constraint

    ジオメトリのポイントポジションを使ってPrimsの位置と向きを拘束します。

  • Primitive

    特定のタイプの複数のアトリビュートを一括で作成します。

  • Prune

    Primsやポイントインスタンスを非表示または非アクティブにします。

  • Python Script

    このノード内にUSD APIを使ってPythonコードを記述することで、ステージを直接制御することができます。

  • RBD Destruction

    USDで破壊シミュレーションをする方法の例。これは事前準備したエフェクトとしても役立ちます。

  • Reference

    外部USDファイルの内容を既存シーングラフツリーのブランチで参照したり、既存の参照を削除/置換します。

  • Render Geometry Settings

    シーングラフ内のジオメトリにレンダラー固有のジオメトリ設定を適用します。

  • Render Product

    UsdRenderProduct Primを作成/編集します。このPrimは、そのRender Productの生成方法を指定したアトリビュートと共にレンダラーの出力(レンダリング画像またはレンダラーが生成した他のファイルなどの中間生成物)を表現します。

  • Render Settings

    UsdRenderSettings Primを作成/編集します。このPrimには、シーンをレンダリングするための全般的な設定を格納します。

  • Render Var

    レンダラー/シェーダで計算されるカスタム変数のシェーダ出力やLight Path Expression(LPE)を指定します。

  • Resample Transforms

    USD Prims上の既存のタイムサンプルから補間されたトランスフォームタイムサンプルを生成します。

  • Restructure Scene Graph

    このノードには、Primパス、バリアントセット、コンポジションアークを編集するための様々なオペレーションが用意されています。

  • Retime Instances

    選択したインスタンス上のアニメーションのタイミングをオフセット/スケールさせます。

  • SOP Character Import

    SOPネットワークからキャラクタまたはアニメーションをUSDシーングラフに取り込みます。

  • SOP Create

    このノード内部のSOPネットワーク内でジオメトリを作成することができるので、別にSOPネットワークを用意することなくLOPネットワーク内のその場でジオメトリを作成することができます。

  • SOP Crowd Import

    SOPネットワークから群衆をUSDシーングラフに取り込みます。

  • SOP Import

    SOPネットワークのジオメトリをUSDシーングラフに取り込みます。

  • SOP Modify

    USDジオメトリをSOPジオメトリに変換し、そのジオメトリに対してこのノード内部のSOPサブネットを実行し、その結果をUSDオーバーライドに戻します。

  • Scene Import

    Objectレベルのモデル、マテリアル、ライトをLOPネットワークに取り込みます。

  • Scope

    Scope Primを作成します。Scopeとは最も単純なグループ化の形式であり、トランスフォームを持ちません。Scopeはシーンツリーを整理するのに役立ちます。

  • Set Extents

    選択したPrimsの境界ボックスメタデータを設定します。

  • Set Variant

    Prim上のバリアントセットに格納されているどれかのバリアントを選択(切り替え)します。

  • Simulation Proxy

    物理シミュレーションに適した低解像度ポリゴン衝突ジオメトリを生成し、オリジナルモデルに対してプロキシリレーションシップを作成します。

  • Sphere

    球形状Primを作成/編集します。

  • Split Point Instancers

    ポイントインスタンサーを2個以上のインスタンスに分割します。これは元のインスタンスを分割します。

  • Split Primitive

    ジオメトリサブセットまたはPrimvar値に基づいてUSDジオメトリPrimsを子Primsに分割します。

  • Stage Manager

    一度に多くのファイルを参照して、それらをシーングラフツリー内に配置するための便利インターフェースを備えています。

  • Store Parameter Values

    ステージ内の一時的な(保存されていない)データを格納することができます。

  • Sublayer

    USDファイルまたは他のLOPノードチェーンをサブレイヤーとして取り込んだり、既存のサブレイヤーを削除/置換/並べ替えします。

  • Subnet

    LOPサブネットワークをカプセル化することで、一部のネットワークを整理して隠すことができます。

  • Surface Constraint

    Primがサーフェスに引っ付くように拘束します。

  • Switch

    パラメータ選択またはエクスプレッションに基づいて複数入力のどれかを通過させます。

  • TimeShift

    タイムラインの異なる位置におけるステージをそのまま出力します。

  • Transform

    選択したUSD Primsのトランスフォームを編集します。

  • Transform UV

    USD Prims上のテクスチャ座標を移動、回転、スケールさせます。

  • USD ROP

  • USD Render ROP

  • Unassign Material

    1個以上のUSDプリミティブからマテリアルのバインドを解除します。

  • Value Clip

  • Vary Material Assignment

    いくつかのPrimsに対して異なるマテリアルを割り当ててバリエーションを生成します。

  • Volume

    フィールドPrimsを含んだボリュームPrimでディスク上のボリュームデータを参照します。

  • Xform

    Xform Primを作成/編集します。Xform(とそのサブクラス)はシーンツリー内のトランスフォームを表現します。