Houdini 18.0 ノード LOPノード

Points Constraint

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

On this page

概要

このノードは、オブジェクトを一連のポイントの重心にリベット留めします。

他にもオプションで、このノードは、リベット留めされたオブジェクトにLook At拘束を追加することができます。

Solarisの拘束

現在のところ、USDは拘束に対応していません。 パラメータ拘束は、説明的、不変、常に同じ結果を返すというUSDの設計思想におそらく反します。

USDを生成するUSD上のレイヤーとして、LOPネットワークは動的拘束を計算して、そのUSDをディスクに書き出す度にその時間サンプルでその結果を"ベイク"することができます。

Tips

  • 拘束系LOPノードは、USDジオメトリをSOPsに変換してから、拘束系CHOPノードをSOPジオメトリに適用し、その変化をUSD Prim上にオーバーライドとして適用することで動作しています。 そういった理由で、拘束系LOPノードでは、USDデータを扱っている場合でも時折SOP用語(例えば、"ポイントグループ"や"プリミティブフループ")を使用します。 将来のバージョンのHoudiniでは、これをもっとわかりやすく変更する予定です。

  • VEXスニペットでは、コロン(:)を含んだ@変数名を使用することができます。これによって、特定のUSDアトリビュート名(例えば、i@primvars:foo)を自動的にバインドするのが簡単になります(通常、このような名前はVEXソースコード内では有効ではありません。このような名前がスニペット内で使用されると、このノードが自動的にその名前をエンコードします)。

パラメータ

Source

Type

ソース(拘束される側)が通常のPrimまたはポイントインスタンスのどちらなのかを指定します。

Source Instances

Source ▸ Type が"Point Intance"の時に使用するポイントインスタンスを/path[instance_index]構文で指定します(例えば、/geometry/instancer[1])。

Points

Target Source

拘束先となるポイントの取得先。1番目の入力または2番目の入力のどちらなのかを指定します。

Type

ポイントが通常のPrimまたはポイントインスタンスのどちらなのかを指定します。

Constraint Options

Import Time

ソース/ターゲットのジオメトリを埋め込みSOPNET内に取り込んで拘束を構築する際のフレームを指定します。 デフォルトの"$FF"エクスプレッションは、ソースまたはターゲットのPrimsを駆動させるタイムサンプルを持った時間依存ではないネットワーク上で拘束LOPを動作させるため、その拘束LOPを強制的に時間依存にします。 しかし、タイムサンプルを持たない時間依存ではないネットワークでパフォーマンスを良くするには、代わりに静的な値を使用することを推奨します。

Maintain Local Offset

これが無効(デフォルト)な時、ソースオブジェクトが拘束位置にスナップします。 これが有効な時、ソースオブジェクトは、そのソースオブジェクト自身と拘束位置の間で同じ相対距離を維持します。

Mode

ポイントジオメトリサブセット、または、ポリゴンフェースサブセットのポイントのどちらからポイントを取得するのか指定します。

Group

拘束先となるポイントを含んだジオメトリサブセットの名前。

Weights

グループ内の最初の3つのポイントに割り当てられるウェイト。

これによって、最初の3つのポイントから構築される平面上のリベット原点の正確な位置を微調整することができます。 例えば、0.5, 0.5, 0のウェイトは、1番目のポイントと2番目のポイントの間の中間位置に原点を配置します。

これらのウェイトの合計が0にならないようにしてください。 4番目以降のすべてのポイントのウェイトは常に1になります。

Use Snippet

VEXスニペットを使って GroupWeights を設定します。 VEXスニペットでは、グループをgroup文字列変数に書き出し、ウェイトをweightsベクトル変数に書き出してください。 VEXスニペットはソースPrim毎に評価されます。 @ptnumは、拘束されている現行Primのインデックスです。 npoints(0)を使用することで、拘束されているPrimsの総数を取得することができます。 @Frame@Timeを使用することで、スニペットを時間依存にすることができます。

Orientation

Look At Mode

リベット留めされるオブジェクトのLook At方向の計算方法。

None

ソースオブジェクトがどの方向にも向かないように回転させません。

Direction Attribute from Points

ポイント上のベクトルアトリビュートの平均を使用します。

Direction Vector from P0 to P1

グループ内の1番目のポイントから2番目のポイントまでの方向を使用します。

Normal Vector from P0,P1,P2 Plane

グループ内の最初の3つのポイントで形成された三角形の平面に垂直な方向を使用します。

From Primitive

ソースオブジェクトを、指定したPrimに向くように回転させます。

Look At Source

Look At Mode が"From Primitive"の時、視線先となるPrimの取得先(1番目の入力または2番目の入力)。

Look At Xform

Look At Mode が"From Primitive"の時、視線先となるPrimのシーングラフパス(これは、ポイントインスタンスを視線先にすることはできません)。

Look Up Mode

Upベクトルの計算方法。

Up Vector Attribute from Points

ポイント上のベクトルアトリビュートの平均を使用します。

Direction Vector from P0 to P1

グループ内の1番目のポイントから2番目のポイントまでの方向を使用します。

Normal Vector from P0,P1,P2 Plane

グループ内の最初の3つのポイントで形成された三角形の平面に垂直な方向を使用します。

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 と同じ軸を指定することはできません。

Direction Attribute

Look At Mode が"Direction Attribute from Points"の時、平均からLook At方向を求めるためのポイント上のベクトルアトリビュートの名前。

Up Attribute

Look Up Mode が"Up Vector Attribute from Points"の時、平均からUpベクトルを求めるためのポイント上のベクトルアトリビュートの名前。

Roll

Look At方向を基準としたロール角度(単位は度)。

Use Snippet

VEXスニペットを使ってロールを設定します。 このスニペットでは、ロール角度をroll変数に書き込んでください。 典型的にはAttribute Wrangle SOPで利用可能な変数を使用することができます。 @ptnumは、拘束されている現行Primのインデックスです。 npoints(0)を使用することで、拘束されているPrimsの総数を取得することができます。 @Frame@Timeを使用することで、スニペットを時間依存にすることができます。

(スニペットの最初の時点での)rollの初期値は、 Roll パラメータが評価された値になります。 そのため、そのパラメータでエクスプレッションを使って"ベース"値を計算し、スニペットを使ってその値を修正することができます。

Examples

PointsConstraint Example for Points Constraint

このサンプルには、Points Constraint LOPの色々な使い方が含まれています。

See also

LOPノード

  • Add Variant

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

  • Additional Render Vars

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

  • Assign Material

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

  • Attribute VOP

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

  • Attribute Wrangle

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

  • Auto Select LOD

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

  • Bake Skinning

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

  • Begin Context Options Block

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

  • Blend

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

  • Cache

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

  • Camera

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

  • Capsule

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

  • Collection

    選択したPrimsを使ってコレクションを作成/編集します。

  • Cone

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

  • Configure Layer

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

  • Configure Primitives

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

  • Configure Properties

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

  • Configure Stage

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

  • Create LOD

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

  • Cube

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

  • Cylinder

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

  • Dome Light

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

  • Drop

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

  • Duplicate

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

  • Edit

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

  • Edit Context Options

  • Edit Material

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

  • Edit Properties

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

  • Edit Prototype

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

  • Edit Target Layer

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

  • Error

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

  • Extract Instances

    インスタンスを"実際に"編集可能なPrimに変換します。

  • Fetch

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

  • Follow Path Constraint

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

  • For Each

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

  • Geometry Subset VOP

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

  • Graft

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

  • Inline USD

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

  • Instancer

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

  • Karma Procedural

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

  • Karma Render Properties

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

  • Karma Standard Render Vars

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

  • LOPノード

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

  • Layer Break

    このノードより下流のノードで編集をするための新しいアクティブサブレイヤーを開始します。

  • Layer Replace

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

  • Light

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

  • Light Linker

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

  • Light Mixer

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

  • Load Layer

  • Look At Constraint

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

  • Material Library

    Material VOPノードをUSDマテリアルPrimsとして取り込みます。

  • Material Linker

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

  • Material Variation

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

  • Merge LOP

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

  • Modify Point Instances

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

  • Null

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

  • Output

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

  • Parent Constraint

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

  • Points Constraint

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

  • Primitive

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

  • Prune

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

  • Python Script

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

  • Reference

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

  • Render Geometry Settings

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

  • Render Product

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

  • Render Settings

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

  • Render Var

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

  • Retime Instances

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

  • SOP Create

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

  • 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を作成/編集します。

  • 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

  • Value Clip

  • Vary Material Assignment

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

  • Volume

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

  • Xform

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