On this page | |
Since | 18.5 |
概要 ¶
このノードは、1番目の入力のジオメトリが2番目の入力のカーブ(s)に沿ってフィットするようにコピーして変形させます。
これは、カーブの形状に応じてジオメトリを変形させるPath Deformノードと同様です。 しかし、Path Deformノードはカーブに沿ってすべてのジオメトリを変形させるのに対して、このノードはカーブの長さに沿って1つ以上のジオメトリ“ピース”を、ピースの数、パターン、ピース間の接合といったコントロールを使って繰り返すことができます。
How to ¶
-
ネットワークエディタ内でこのノードを選択した状態で、ビューア内でEnterを押すか、または、 Handlesツールをクリックすることで、このノードのハンドルを表示することができます。
-
赤の“尻尾”のハンドルをドラッグすることで、チェーンが開始されるカーブ沿いの位置を制御することができます。
このハンドルをカーブの始点を過ぎてドラッグすることができます。その場合には、 Start Behavior パラメータでその挙動を制御します。
-
緑の“頭”のハンドルをドラッグすることで、カーブ沿いのチェーンの範囲を制御することができます。
このハンドルをカーブの終点を過ぎてドラッグすることができます。その場合には、 End Behavior パラメータでその挙動を制御します。
入力 ¶
Geometry to Repeat
カーブ沿いにコピーするジオメトリ。 ここには1つ以上のピースを指定することができます。 Find Piecesパラメータでは、接続性またはアトリビュートのどちらの方法でこのジオメトリをピースに分けるのかを制御します。
Curves
1番目の入力のオブジェクト(s)をコピーして変形させる際に沿わせるカーブ(s)。
パラメータ ¶
Geometry Group
1番目の入力から使用するプリミティブ。ここを空っぽのままにすると、すべてのジオメトリが使用されます。
Curve Group
2番目の入力から使用するカーブプリミティブ。ここを空っぽのままにすると、すべてのカーブが使用されます。
Mode
このノードが1番目の入力のジオメトリを2番目の入力のカーブ(s)上にコピーして変形させる方法を指定します。
Deform Along Curve
カーブの形状に追従するようにピースを変形させます。
Deform Between Pivots
ピースを剛体のまま維持しつつ、ピース間のピボットを変形させます。
Chain Pattern ¶
Enable Deformation
指定したカーブに沿って繰り返すジオメトリを変形させるかどうか。 これを無効にすると、このノードは、カーブに追従させてピースを変形するのではなくて、以下のパラメータに応じて直線沿いにピースを剛体のまま配置します。 これは、オブジェクトを単に積み上げたい場合や後で別のノードを使ってチェーンを変形する予定の場合に役立ちます。
Find Pieces
ジオメトリを、カーブ沿いに繰り返すピースに分ける方法。
By Connectivity
結合されたプリミティブのグループを単一ピースと見なします。
By Piece Attribute
指定したアトリビュートの同じ値のプリミティブが同じピースの一部と見なします。
Piece Attribute
Find Pieces が By Piece Attribute の時、プリミティブをどのピースの一部にするのかを制御するPrimitiveアトリビュートの名前。
Number of Pieces
カーブ沿いで繰り返すピースの数。
Fit Pieces Along Curve
カーブ沿いに上手く収まるほどの数でピース全体を配置します。
Explicit Number
設定した数のピースをカーブ沿いに配置し、収める範囲はスケールで調整します。
Num Pieces
Number of Pieces が Explicit Number の時、カーブ沿いに配置するピースの数を指定します。
Fraction of Curve
Number of Pieces が Fit Pieces Along Curve の時、ここには、収めるピースの数を計算する時に使用するカーブ長の比率を指定します。
例えば、0.5
はカーブ長の半分に収まるのに十分な数のピースが配置されます。
デフォルトは1.0
です(これは、カーブ全長に沿って収めるのに十分な数のピースが配置されます)。
Only Repeat Full Pattern
ピースが複数ある場合、カーブに沿わせて配置する異なるピースを決めたパターンを指定することができます(以下のパターングループを参照)。 Number of Pieces が Fit Pieces Along Curve 、且つ、このチェックボックスが有効な時、このノードは、カーブ沿いに パターン を最大限に収まるのに必要なピースの数を計算します(そのため、パターンはカーブの最後で早く途切れることはありません)。
Map Length Using
カーブに沿ったチェーンの長さを指定する方法。
Fraction of Curve Length
例えば、0.5
(カーブの半分の長さ), 1.0
(カーブの長さ), 2.0
(カーブの2倍の長さ)など。
Fraction of Geo Length
変形なしのチェーンの長さを基準として長さを指定します。
例えば、0.5
(チェーンの長さの半分), 1.0
(チェーンの全長), 2.0
(変形なしのチェーンの2倍の長さ)など。
Distance
円弧長をHoudiniワールド単位で指定します。
例えば、0.5
(ユニット長の半分), 1.0
(1ユニット長)など。
Map Length
Map Length Using ポップアップメニューで指定された単位でのカーブ沿いのチェーンの長さ。
Override
これを有効にすると、カーブアトリビュートを使用してカーブ別に長さを指定することができます(2番目の入力に複数のカーブが含まれている時)。
Pos End Attrib
Map Length Usingの Override を有効にした時、ここには、カーブ別にチェーン長を設定する際に使用するカーブアトリビュートの名前を指定します。
Offset Position Using
カーブ沿いのチェーンの開始点を指定する方法。
Curve U Position
0.0
(カーブの始点)から1.0
(カーブの終点)まで。
Fraction of Geo Length
変形なしのチェーンの長さを基準として開始位置を指定します。
例えば、0.5
(カーブ沿いにチェーンの半分の長さから開始します), 1.0
(カーブ沿いにチェーンの全長から開始します), 2.0
(カーブ沿いに変形なしのチェーン長の2倍から開始します)など。
Distance
カーブ沿いの円弧距離をHoudiniワールド単位で指定します。
例えば、0.0
はカーブの始点で、1.0
はカーブ沿いの1Houdini距離単位です。
Position Offset
Offset Position Using ポップアップメニューで指定された単位でのカーブ沿いのチェーンの開始位置。
Override
これを有効にすることで、カーブアトリビュートを使用してカーブ別に開始位置を指定することができます(2番目の入力に複数のカーブが含まれている時)。
Pos Offset Attrib
Offset Position Usingの Override を有効にした時、ここには、カーブ別にオフセットを設定する際に使用するカーブアトリビュートの名前を指定します。
Start Behavior
開始位置がカーブの始点より前にある時の挙動。 最良のパフォーマンスを得たいのであれば、 Extend または Clamp を使用することを推奨します。
Extend
カーブの始点における接線方向に沿って延長された不可視のライン沿いにチェーンを配置します。
Clamp
カーブの始点でジオメトリを“フリーズ”します。 これは、ジオメトリをカーブの始点を過ぎて移動させようとした場合に、そのジオメトリが“束”になって重なるようになります。
Clip
カーブの始点より前に配置されるはずのジオメトリを削除します。 これは、Clipノードでできる事と同じ効果です。 これは、特に処理が重いオペレーションです。 パフォーマンスを良くしたいのであれば、 Extend または Clamp を使用することを推奨します。
End Behavior
ここには、カーブの終点を過ぎたジオメトリに適用するオペレーションを指定します。 最良のパフォーマンスを得たいのであれば、 Extend または Clamp を使用することを推奨します。
Extend
カーブの終点における接線方向に沿って延長された不可視のライン沿いにチェーンを配置します。
Clamp
カーブの終点でジオメトリを“フリーズ”します。 これは、ジオメトリをカーブの終点を過ぎて移動させようとした場合に、そのジオメトリが“束”になって重なるようになります。
Clip
カーブの終点より後に配置されるはずのジオメトリを削除します。 これは、Clipノードでできる事と同じ効果です。 これは、特に処理が重いオペレーションです。 パフォーマンスを良くしたいのであれば、 Extend または Clamp を使用することを推奨します。
Pattern ¶
Repeat Pattern
1番目の入力に複数のピースが含まれている場合、これは、それらのピースがチェーン内に出現する順番を制御します。
Cycle
異なるピースを循環します。
Explicit Pattern
Class Pattern パラメータ内の明示的なピースのリストを循環します。
Random
チェーンに沿って各ピースをランダムに選択します。
Weighted Random
各ピースをランダムに選択しますが、マルチパラメータでピース毎に“ウェイト”を指定することができるので、一部のピースを他のピースよりも多く出現させることができます。
Weighted Random from Attribute
各ピースをランダムに選択しますが、ピースジオメトリ上のアトリビュートを使用してピース毎に“ウェイト”を指定することができるので、一部のピースを他のピースよりも多く出現させることができます。
Class Pattern
Repeat Pattern が Explicit Pattern の時、ここには、チェーンに沿って循環させたいピース値をスペース区切りのリストで指定します。
アトリビュート値の代わりに接続性でピースを定義した場合、各ピースは0
からnumber of pieces - 1
までの任意の数字で表現されます。
Offset
ピースの特定の数だけパターンの開始をオフセットします。
Seed
Repeat Pattern が Random , Weighted Random , Weighted Random from Attribute のどれかの時、ここには乱数ジェネレータのシード値を指定します。
シード値が同じであれば常に同じ“ランダム”な値が生成されます。
例えば、フレーム毎に異なるランダムな値が必要であれば、$F
(フレーム番号)をシードとして使用します。
Repeat Length
Repeat Pattern が Random , Weighted Random , Weighted Random from Attribute のどれかの時、ここにはパターンを繰り返すカーブ長を指定します。 カーブがこの長さより長ければ、パターンが繰り返されます。
Weight Attribute
Repeat Pattern が Weighted Random from Attribute の時、ここにはピースのランダムのウェイトを設定するピースジオメトリ上のPrimitiveアトリビュートの名前を指定します。 ピースのウェイトは、ピースのプリミティブ上のこのアトリビュート値の 平均 になります。
Initialize Weights
Repeat Pattern が Weighted Random の時、このボタンをクリックすることで、各ピースに該当するインスタンスを使ってマルチパラメータが自動的にセットアップされます。そして、各ピースの Weight を編集することができます。
Number of Pieces
これは、各ピースの Weight を設定することができるマルチパラメータで、チェーン内で他のピースよりも多くランダムに出現させるように制御することができます。 Initialize Weights をクリックすることで、各ピースに該当するインスタンスを使ってマルチパラメータが自動的にセットアップされます。
Piece
このピースのピース値。
アトリビュート値の代わりに接続性でピースを定義した場合、各ピースは0
からnumber of pieces - 1
までの任意の数字で表現されます。
Weight
このピースが他のピースよりもチェーン内に出現する可能性を意味した値。
すべてのピースのウェイトは、合計して1.0
になるように正規化されてから、確率として使用されます。
例えば、3つのピースのウェイトが1
, 1
, 2
だった場合、最後のピースは50%で出現する可能性があって、他の2つのピースは25%で出現する可能性があるということです。
Use Start Cap
このチェックボックスを有効にすることで、明示的に特定のピースをチェーン内の最初のアイテムとして使用するようにすることができます。
Start Cap Piece
チェーン内の最初のアイテムとして使用するピースのピース値。
アトリビュート値の代わりに接続性でピースを定義した場合、各ピースは0
からnumber of pieces - 1
までの任意の数字で表現されます。
Use End Cap
このチェックボックスを有効にすることで、明示的に特定のピースをチェーン内の最後のアイテムとして使用するようにすることができます。
End Cap Piece
チェーン内の最後のアイテムとして使用するピースのピース値。
アトリビュート値の代わりに接続性でピースを定義した場合、各ピースは0
からnumber of pieces - 1
までの任意の数字で表現されます。
Exclude End Pieces from Pattern
これを有効にすると、Start Cap Piece/End Cap Pieceがパターンの一部として 繰り返さなくなります 。
Do Not Deform End Pieces
これを有効にすると、Start Cap Piece/End Cap Pieceがカーブの形状に追従して 変形しなくなります 。
Deformation ¶
Enable Scale
これを有効にすることで、ピースジオメトリを“外側に”(カーブから離れた方へ)スケールさせることができます。
Base Scale Factor
カーブの全長に沿った“グローバル”の外側スケール係数。
例えば、1.0
はチェーンのスケールを変更せず、0.0
はチェーンを収縮してなしにし、0.5
はチェーンを内側に半分スケールし、2.0
はチェーンを外側に2倍スケールします。
Enable Attribute Scale
このポップアップメニューを Scale by Attribute に設定することで、カーブ上のPointアトリビュートの値でチェーンをスケールすることができます。 (以下のランプを使用した場合、これは Base Scale Factor とそのランプの両方で乗算されます)
Curve Attribute
Base Scale Factor の隣にあるポップアップメニューが Scale by Attribute の時、ここには、チェーンジオメトリを内側または外側にスケールするカーブ上のPointアトリビュートの名前を指定します。
Enable Scale Ramp
これを有効にすることで、ランプを使用して、チェーンジオメトリをカーブ長に沿って内側または外側にスケールすることができます。
Scale Ramp
Enable Scale Ramp が有効な時、このランプは、カーブ長に沿った内側/外側のスケールを制御します。 横軸は(チェーンの長さ ではなくて )カーブの長さを意味します。 縦軸はスケールを意味します(上記のアトリビュートパラメータを使用した場合、このランプスケールは Base Scale Factor とそのアトリビュートの両方で乗算されます)。
ランプポイントを選択して Value フィールドに値を入力することで、現在のランプ境界を越えたスケールを設定することができます。
Enable Rotation
これを有効にすることで、カーブを軸にチェーンジオメトリを回転することができます。
Base Rotation
カーブの全長に沿った“グローバル”の回転角度(度)。
Enable Attribute Scale
このポップアップメニューを Scale by Attribute に設定することで、カーブ上のPointアトリビュートの値で回転をスケールすることができます。 (以下のランプを使用した場合、これは Base Scale Factor とそのランプの両方で乗算されます)
Curve Attribute
Base Rotation の隣にあるポップアップメニューが Scale by Attribute の時、ここには、チェーンジオメトリの回転をスケールするカーブ上のPointアトリビュートの名前を指定します。
Enable Rotation Scale Ramp
これを有効にすることで、ランプを使用して、カーブ長に沿って回転角度を制御することができます。
Rotation Scale Ramp
Enable Rotation Scale Ramp が有効な時、このランプは、カーブ長に沿って Base Rotation をスケールします。 横軸は(チェーンの長さ ではなくて )カーブの長さを意味します。 縦軸は Base Rotation と乗算するスケール係数を意味します(上記のアトリビュートパラメータを使用した場合、このランプスケールは Base Rotation とそのアトリビュートスケール係数の両方で乗算されます)。
ランプポイントを選択して Value フィールドに値を入力することで、現在のランプ境界を越えたスケールを設定することができます。
Fusing ¶
あるピースの終わりが次のピースの初めと合う箇所では、このノードは特定のスナップ距離内にあるポイントを結合し、同一フェースを削除し、ジオメトリをもっと良くすることができます。
Fuse Repeat Geometry
あるピースの終わりが次のピースの初めと合う箇所で( Snap Distance 内の)重複ポイントを結合するかどうかを指定します。
Snap Distance
ピース間でポイントが合った箇所で、このノードは、異なるピース上のそれらのポイントがこの距離内(ワールド単位)にあれば、それらのポイントを結合します。
Fuse Method
結合を許可する各ピース上のポイントを制限することができます。
By Group
(グループ名またはポイント番号構文を使用して)特定のポイントのみが結合を許可されます。
By Start and End Groups
先方のピースに対しては、“Fuse End Group”で指定されたポイントのみが結合を許可されます。 後方のピースに対しては、“Fuse Start Group”で指定されたポイントのみが結合を許可されます。
Fuse Group
Fuse Method が By Group の時、ここには結合可能なポイントを指定します。 ここには、グループ名またはポイント番号構文を指定することができます。
Fuse Start Group
Fuse Method が By Start and End Groups の時、ここには後方のピース上の結合可能なポイントを指定します。 ここには、グループ名またはポイント番号構文を指定することができます。
Fuse End Group
Fuse Method が By Start and End Groups の時、ここに先方のピース上の結合可能なポイントを指定します。 ここには、グループ名またはポイント番号構文を指定することができます。
Rigidity ¶
普段はピースをカーブの形状に追従させて変形させます。 そうではなく、ピースを完全にまたは部分的に剛体(変形なし)にすることができます。
Enable Rigidity
これを有効にすることで、ピースを完全にまたは部分的に剛体にすることができます。
Constraint Method
剛性を指定する方法。
By Rigidity Group
1番目の入力から剛体のままにしたいプリミティブ(ポリゴンフェース)のリスト/グループを指定します。
By Piece Attribute
プリミティブ上のアトリビュートを使用して剛体のままにしたいプリミティブ(ポリゴンフェース)を制御します。
Piece Attribute
Constraint Method が By Piece Attribute の時、ここには、剛性を制御する1番目の入力のジオメトリ上のPrimitiveアトリビュートの名前を指定します。
Rigid Prims
Constraint Method が By Rigidity Group の時、ここには、1番目の入力から剛体のままにしたいプリミティブを指定します。 ここには、グループ名またはポイント番号構文を指定することができます。
Enable Stretch Softening
変形部分と剛体部分の間を滑らかに遷移させるために剛体プリミティブから(以下の Soften Radius で指定した)特定の距離内にある非剛体ポイントを滑らかにします。 剛体部分と非剛体部分間で急な伸縮や勾配が見受けられたら、これを有効にしてください。
Soften Distance Metric
Enable Stretch Softening が有効な時、非剛体ポイントと剛体ポイント間の距離を測定する方法を指定します:
Edge
2つのポイント間のエッジに沿って最短パスを検索します。 このメソッドは“Surface”メソッドよりも高速ですが精度が低いです。
Surface
モデル表面上で最短距離を(近似)計算します。 このメソッドは“Edge”メソッドよりも遅いですが精度が高いです。
Soften Radius
Enable Stretch Softening が有効な時、このノードは、剛体ポイントから( Soften Distance Metric を使用してワールド空間で)この距離内にある非剛体ポイントを滑らかにします。 この効果は、一番近くにある剛体ポイントまでの距離を使って、ちょうどこのソフト半径でゼロになるように減衰させます。 以下のフォールオフランプを使用することで、この減衰の形を定義することができます。
Enable Falloff Ramp
これを有効にすることで、ランプを使用して Soften Radius 内の減衰の形を制御することができます。
Soften Falloff
Enable Falloff Ramp が有効な時、ここでは、減衰の形を定義します。 横軸は剛体部分からの距離(左がゼロの距離で、右が完全減衰半径)、縦軸は平滑化の度合いです。
Allow Rigid Geometry to Stretch
これが有効な時、剛体ジオメトリは、非剛体ジオメトリと同じ度合いで Forward Direction に沿って伸縮することができます。
Enable Rigidity Mask
これを有効にすると、各剛体コンポーネントを どのような感じの剛性 にするのかを指定することができます。
Base Rigidity Mask
これは、剛体ポイントの基本剛性です。
ピースジオメトリ上のアトリビュートを使用することで、この値をスケールすることができます。
例えば、1.0
は完全剛体で、0.0
は剛体ではなく、0.5
はその中間です。
すべての剛体ポイントが同じ度合いの剛性にしたいだけであれば、アトリビュートを指定せずにこれを設定することができます。
Scale by Attribute
Base Rigidity Mask の隣にあるポップアップメニューを Scale by Attribute に設定することで、Pointアトリビュートの値を使用して1番目の入力の各ポイントの剛性をスケールすることができます。
Geometry Attribute
Base Scale Factor の隣にあるポップアップメニューが Scale by Attribute に設定されている時、ここには、スケールさせるモデル上のPointアトリビュートの名前を指定します。
Alignment ¶
デフォルトのHoudiniでは、インスタンスジオメトリは“上”方向(例えば、木の根から頂上に向かった方向)が+Y軸、“正面”方向(例えば、車の後部から前部に向かった方向)が+Zでモデリングされている必要があります。 これは、以下のパラメータを使用して修正することができます。
Forward Direction
変形カーブ上にマッピングされるワールド空間のベクトル。
X/Y/Z
それぞれプラスのワールド軸です。
Custom
Forward Axis Vector で指定されたベクトル。
Forward Axis Vector
Forward Direction が Custom の時、ここには、その軸ベクトルの方向を設定します。
Up Direction
カーブのUpベクトルに整列させるワールド空間のベクトル。
X/Y/Z
それぞれプラスのワールド軸です。
Custom
Up Axis Vector で指定されたベクトル。
Up Axis Vector
Up Direction が Custom の時、ここには、Upベクトルの方向を設定します。
Center Geometry on Curve
繰り返すジオメトリの境界ボックスの中心をカーブに揃えるかどうかを指定します。
Bounds Group
ジオメトリの各ピースの境界ボックスを検索する際に使用するプリミティブのグループ。 各ピースの境界ボックスは、ピースがカーブ上でどれほどの空間を専有するのかを判断するのに使用されます。
Piece Spacing
ピース間の間隔。 プラスの Piece Spacing は、カーブ上の各ピース間の間隔を広げます。 マイナスの Piece Spacing は、ピースを重ねます。
Piece Rotation
連続する各ピースは、前のピースの回転に続いて Piece Rotation 度だけ追加して回転されていきます。
Curve Alignmentでは、カーブのUpアトリビュートの計算方法を指定することができます。
Output Repeated Geometry To Be Deformed After
有効にすると、ジオメトリは指定したカーブに沿って変形しなくなり、代わりに、Z軸沿いに一直線で配置されます。 このジオメトリは、Path Deform SOPに入力カーブと一緒に指定することで、そのカーブに応じて変形させることができます。
Curve Up Control
これは、カーブがそのカーブに沿ってUpベクトルを設定する際に使用するメソッドを制御します。 デフォルトでは、Upベクトルはカーブの接線方向に垂直になるように若干修正されます。
Curve Normal
カーブが平面上にある場合に、その始点におけるUpベクトルがその平面の法線になるように設定します。
X/Y/Z
始点におけるUpベクトルをX/Y/Zのどれかの方向に設定します。
Custom
始点におけるUpベクトルを Curve Up Vector で定義したベクトルに設定します。
Curve Up Vector
Curve Up Control が Custom に設定されている時、カーブの始点におけるUpベクトルに設定するベクトルを指定します。
Orient Using Point Attributes
有効にすると、P
, N
, up
, orient
, rot
, trans
, pivot
, pscale
, scale
, transform
といったカーブPointアトリビュートを使用して、カーブ上の特定のポイントにおけるジオメトリの変形方法を指定することができます。
Attributes ¶
Attributes to Transform
このノードによってポイントをトランスフォームさせる時に、トランスフォームさせたいPointアトリビュートのアトリビュート名/パターンをスペース区切りのリストで指定します。 このノードは、各アトリビュートのタイプ情報(ポイント、ベクトル、法線データ)を利用して、そのアトリビュートを適切にトランスフォームします。
Recompute Affected Normals
トランスフォームさせたポイントとトランスフォームさせていないポイントの両方を含んだポリゴンの法線を再計算します。 ジオメトリ全体または繋がったすべてのコンポーネントをトランスフォームさせる場合には、これは何の関係もありません。 繋がったピースすべてではなくて一部を変形させる場合にのみ関係します。
P
をトランスフォームさせなかった場合、これは何もしません(上記の Attributes to Transform を参照)。
Preserve Normal Length
これを有効にすると、ジオメトリが変形してもそのジオメトリ法線のスケールは変わりません。
Output Position Along Curve
これを有効にすると、このノードは、0.0
(カーブ始点)から1.0
(カーブ終点)までの該当するカーブ沿いの位置を含んだPointアトリビュートを出力ジオメトリに追加します。
Position Along Curve Attribute
このチェックボックスを有効にすると、0.0
(カーブ始点)から1.0
(カーブ終点)までの該当するカーブ沿いの位置を含んだこの名前のPointアトリビュートが出力ジオメトリに追加されます。
Output Index Along Curve
これを有効にすると、このノードは、カーブ沿いの該当するピースの該当する“アイテム番号”を含んだPointアトリビュートを出力ジオメトリに追加します。
Index Along Curve Attribute
このチェックボックスを有効にすると、カーブ沿いの該当するピースの該当する“アイテム番号”を含んだこの名前のPointアトリビュートが出力ジオメトリに追加されます。
Output Curve Number
これを有効にすると、このノードは、ポイントがマップされた該当する“カーブ番号”を含むPointアトリビュートを出力ジオメトリに追加します。
Curve Number Attribute
このチェックボックスを有効にすると、ポイントがマップされた該当する“カーブ番号”を含むPointアトリビュートをこの名前で出力ジオメトリに追加します。
Examples ¶
ChainBasic Example for Chain geometry node
このサンプルでは、Chain SOPを使用して、単純な鎖と線路を作成しています。
See also |