On this page | |
Since | 19.0 |
このノードは、 パック/アンパックジオメトリプリミティブ の形式でコントロールジオメトリを1番目の入力のポイント(たいていの場合がジョイント)に階層を変えずに取り付けて、 KineFXのインタラクティブツールでそれらのプリミティブを取り付け先のポイントの セレクター として認識させるのに必要なアトリビュートを作成します。
コントロール形状を選べるようにライブラリを用意したいのであれば、このノードの2番目の入力( Shape Library 入力)で複数のプリミティブを受け取ることができます。
このジオメトリはパックプリミティブやアンパックプリミティブのどちらでも構いませんが、コントロールとして取り付けれるようにするには必ずプリミティブにname
アトリビュートがなければなりません。
既に定義済みの一連のシェイプの割り当てを再利用したいのであれば、既存のシェイプの割り当てを シェイプテンプレート として保存することで可能になります。 このシェイプテンプレートをどれかの Attach Joint Geo SOP ノードの3番目の入力に接続することで、そのシェイプテンプレートを使用することができます。
Notes
-
コントロールは、その取り付け先のポイントの トランスフォーム を継承します。そのため、ビューポート内にコントロールジオメトリが確認できないようでしたら、ジョイントスケールが原因でコントールが(ビューポート内でデフォルトのズームではポイントが見えなくなるまで)縮小されてしまっている可能性があるので、スケルトンの ジョイントスケール をチェックしてください。
-
KineFXでのコントロールの扱い方に関する詳細は、コントロールシェイプのセットアップを参照してください。
Tips
シーン内に直接コントロールジオメトリを作成する別の方法として、以下のノードを使用する方法があります:
-
File SOPノードを使用して、コントロールとして使用したいプリミティブすべてが含まれたディスク上の
.bgeo
ファイルを参照します。 -
Skeleton SOPノードを使用して、コントロールとして使用可能なKineFXポイントを作成します。
ステート ¶
Create New Group
-
ビューポート内で何もポイントが選択されていなければ、このボタンは新しく空っぽのAssign Shapesマルチパラメータを作成します。
-
ビューポート内でポイントが選択されていれば、このボタンは、新しくAssign Shapesマルチパラメータを作成して、Groupパラメータフィールドにその選択されたポイントの
@names
を追加します。
Mode
Assign Shapes
このモードでは、ビューポート内でポイントを選択したり、⇧ Shiftクリックで複数のポイントを選択すると、それらのポイントに対して新しくAssign Shapesマルチパラメータが自動的に生成され、それらのポイントの@name
が自動的にGroupパラメータフィールドに追加されます。
そして、を使って、(2番目の入力の)シェイプライブラリ内のどれかのコントロールシェイプをマルチパラメータのShape Nameとして割り当てることができます。
Assign in World Space
有効にすると、割り当てられていないワールド空間のコントロールシェイプをビューポート内に表示して選択することができます。 割り当てられていないワールド空間のコントロールシェイプは、ビューポートステートでは明るい青で表示されます。
Offset Mode
シェイプテンプレートやオフセットアトリビュートで指定された他のオフセット値に関連させて、指定したローカルトランスフォームオフセットの挙動を決めます。
Pre-Multiply
指定したローカルトランスフォームオフセットを既存オフセットで事前乗算してから、その値をその既存オフセットに加算で適用します。
Override
指定したオフセットは既存オフセットを上書きして完全に置換します。
ホットキー |
アクション |
---|---|
クリック |
入力スケルトン内のポイントを選択します。 |
G |
|
⌃ Ctrl + G |
|
|
Assign Shapes モードの時、利用可能なライブラリシェイプのリストをスクロールして選択したシェイプを現在のAssign Shapesマルチパラメータに追加することができます。 |
パラメータ ¶
Add Shapes ¶
Role
取り付けられているジオメトリのリグセットアップ内に機能を定義します。
Control
スケルトンのビュー操作でジョイントを簡単に選択できるように、取り付けられているジオメトリをコントロールジオメトリとして使用します。
Capture Geo
取り付けられているジオメトリを使用して、Joint Capture Biharmonic SOPの結果を制御します。 特定のジョイントに取り付けられているジオメトリのポイントは、キャプチャされるジオメトリのその領域内での特定のジョイントの影響力を強くします。
Rest Pose Attribute
有効にすると、スケルトンの静止ポーズを含んだmatrix4
Pointアトリビュートの名前(デフォルトはrest_transform
)を指定します。
無効にすると、入力キャラクタのポーズ(1番目のフレーム)がスケルトンの静止ポーズとして使用されます。
Use Rest Pose Attribute はデフォルトで有効になっています。
Note
コントロールシェイプをキャラクタのスケルトンに取り付ける際には、 Rest Pose Attribute を使用することを強く推奨します。
コントロールシェイプをアニメーションスケルトンに取り付ける場合、それを ワールド空間 で割り当てると、その割り当ての位置関係が安定しないので(影響範囲が安定しないなどの)問題が発生してしまう可能性があります。
Assign Shapesモードのスケルトンが 時間依存でないように するために、rest_transform
アトリビュートを使用すると良いでしょう。
Has Input Worldspace Shape Group
有効にすると、 Group パラメータフィールドで指定されたジオメトリグループを使用して、ワールド空間でモデル化されたコントロールシェイプがグループ化されます。
Group
ローカル空間でモデル化されたコントロールシェイプとワールド空間でモデル化されたコントロールシェイプがシェイプライブラリ内に混在している場合、ワールド空間で構築されたプリミティブをジオメトリグループに追加して、この Group フィールドにそのグループの名前を指定してください。
デフォルトでは、ワールド空間のシェイプのグループの名前はworld_shapes
になっています。
Note
Group の使用は 必須ではありません 。 Group を使用しなくても、このノードは内部的に完全に正常に動作します。 このパラメータは、ビューポートでAssign Shapeモードをローカル空間シェイプとワールド空間シェイプに分けるのに使用されます。
Create Missing Shape Names by Connectivity
有効にすると、シェイプライブラリ内のすべてまたは選択した一部に名前が見つからなかった場合に、その名前のないコントロールシェイプには自動的にシェイプの接続性に基づいて適切なプリミティブ名が割り当てられます。
Use Lighting
有効にすると、シーンの現行ライティングセットアップを使用してビューポート内でコントロールシェイプをレンダリングします。
Output Joint Geo Group
コントロールシェイプの格納先のプリミティブグループの名前を指定します。
指定したグループが既に存在すれば、コントロールシェイプはその既存グループに追加されます。
デフォルトでは、このプリミティブグループ名はkinefx_controls
になっています。
Assign Shapes
コントロールシェイプとそのターゲットスケルトンポイント間にリンクを作成するマルチパラメータを作成または削除します。
Group
コントロールシェイプの取り付け先のポイント(s)の名前を指定します。
このパラメータは、@name
構文で指定されたポイント名を受け入れます。
例えば、1個のポイントなら@name=head
、2個のポイントなら@name=hand_l @name=hand_r
など。
他にも、このパラメータの隣にある選択ジオメトリ矢印アイコンでは、ビューポートからこの Group のスケルトンポイントを選択することができます。
Shape Name
Group にリストしたポイントのコントロールシェイプとして使用するジオメトリプリミティブの名前。 また、このノードの2番目の入力(Shape Library入力)に接続されたジオメトリプリミティブのすべての名前は、このパラメータのドロップダウンリストに表示されます。
Keep Shape World Transform
有効にすると、 Shape Name で指定されたコントロールシェイプのワールド空間位置は維持され、そのコントロールシェイプの割り当て先のポイントのローカル空間位置を継承しません。 その結果として、つまりは、コントロールシェイプの位置に影響を与えずに入力スケルトンのRestポジションを変更することができます。
Tweak ¶
Use Joint Offset Attribute
有効にすると、ポイント毎のコントロールシェイプのローカルトランスフォームオフセットをこのノードの1番目の入力(Target Skeleton入力)のマトリックスPointアトリビュートで指定することができます。
Offset Attribute
ポイント毎のコントロールシェイプのローカルトランスフォームオフセットを表現したこのノードの1番目の入力(Target Skeleton入力)のマトリックスPointアトリビュートの名前を指定します。
このパラメータは、 Use Joint Offset Attribute が有効な場合にのみ利用可能です。
Use Joint Color Attribute
有効にすると、ポイント毎のコントロールシェイプのカラー値をこのノードの1番目の入力(Target Skeleton入力)のベクトルPointアトリビュートで指定することができます。
Color Attribute
ポイント毎のコントロールシェイプのカラー値を表現したこのノードの1番目の入力(Target Skeleton入力)のベクトルPointアトリビュートの名前を指定します。
このパラメータは、 Use Joint Color Attribute が有効な場合にのみ利用可能です。
Multiply Shape Scale
割り当てられたすべてのコントロールシェイプのスケールを指定した係数で均一に乗算します。
Tweaks
Tweaksは、指定したポイントに対してローカルトランスフォームオフセットを指定することができるマルチパラメータです。 そのポイントに割り当てられたコントロールシェイプは、そのローカルトランスフォームオフセットを継承します。
Mode
シェイプテンプレートやオフセットアトリビュートで指定された他のオフセット値に関連させて、指定したローカルトランスフォームオフセットの挙動を決めます。
Pre-Multiply
指定したローカルトランスフォームオフセットを既存オフセットで事前乗算してから、その値をその既存オフセットに加算で適用します。
Override
指定したオフセットは既存オフセットを上書きして完全に置換します。
Group
指定したローカルオフセットが適用されるポイント(s)の名前を指定します。
このパラメータは、@name
構文で指定されたポイント名を受け入れます。
例えば、1個のポイントなら@name=head
、2個のポイントなら@name=hand_l @name=hand_r
など。
他にも、このパラメータの隣にある選択ジオメトリ矢印アイコンでは、ビューポートからこの Group のスケルトンポイントを選択することができます。
Translate
移動オフセット量を指定します。
Rotate
回転オフセット量を指定します。
Scale
スケールオフセット量を指定します。
Pivot Translate
ピボットの移動オフセット量を指定します。
Pivot Rotation
ピボットの回転オフセット量を指定します。
Change Color
有効にすると、指定したポイントのコントロールシェイプの現行カラーを新しく指定した Color で上書きします。
Color
指定した Group のコントロールシェイプを上書きするカラー値を定義します。 このカラーは、Primitiveアトリビュートとしてコントロールシェイプに適用されます。
Shape Template ¶
このノードの3番目の入力(Shape Template入力)で指定されたシェイプテンプレートファイルの設定を決めます。 このシェイプテンプレートは、入力スケルトンと一緒に使用したいコントロールシェイプを含んだ外部ファイルです。 以下のパラメータは、3番目の入力が検出された場合にのみ利用可能です。
Target Joints
シェイプテンプレートを適用したいターゲットポイントを指定します。
デフォルトの*
値は、入力スケルトン内のすべてのポイントを選択します。
Template Joints
入力スケルトン(1番目の入力)または指定した Target Joints に転送したいテンプレートポイント(つまりは、そこに割り当てられているコントロールシェイプ)を指定します。
デフォルトの*
値は、指定したシェイプテンプレート内のすべてのテンプレートポイントを選択します。
Match By
シェイプテンプレートを入力スケルトンにマッチさせる方法を決めます。
Attribute Value
スケルトンとシェイプテンプレートのPointアトリビュート値に基づいてマッチさせます。
Point Number
スケルトンとシェイプテンプレートのポイント番号に基づいてマッチさせます。
Mapping Attribute
Map Point SOPノードのmapping
アトリビュートと Rig Mirror Pose SOPノードのmirror
アトリビュートの構造に基づいた辞書アトリビュートを使用してマッチさせます。
例:
{ `reference`: "ptnum"または参照するアトリビュートの名前(例えば、"name"), `value`: `reference`キーで指定されたアトリビュートの値、または、`reference`が"ptnum"の場合は対称ポイントのポイント番号, `flipaxes`: ポイントの対称化の方法が格納された整数値( __By Scale__ または __By Rotation__ ) }
この Match By モードは、テンプレートを別の名前のスケルトンにマップしたり、指定したテンプレートを対称化することができるので非常に便利です。
Attribute to Match
入力スケルトンとテンプレートをマッチさせるのに使用されるPointアトリビュートの名前を指定します。
アトリビュートのタイプにはstring
またはinteger
を指定することができ、複数のマッチも許可されています。
例えば、2つ以上のポイントが同じマッチポイント値を持っていれば、テンプレートシェイプのbox
を複数の入力ポイントに適用することができます。
このパラメータは、 Match By が Attribute Value に設定されている場合にのみ利用可能です。
Note
マッチさせるPointアトリビュートのデフォルトはname
になっています。
これは、通常ではKineFXシェイプテンプレートはポイント名を持ったスケルトンに基づいているので非常に便利です。
Keep Template Joint Offsets
有効にすると、指定したシェイプテンプレートからのローカルのTweakオフセットが入力スケルトンに適用されます。
Keep Template World Transform
有効にすると、テンプレートシェイプのワールド位置が使用されます。
入力 ¶
Input 1
ターゲットスケルトン。シェイプの取り付け先となるSOPスケルトン。
Input 2
シェイプライブラリ。入力スケルトンと一緒にコントロールシェイプとして使用するname
アトリビュートを含んだパック/アンパックジオメトリプリミティブ。
これらのプリミティブは、 ローカル空間 や ワールド空間 のどちらでモデリングしても構いません。
ローカル空間は、それらのプリミティブがすべて原点基準でモデリングされていて、それらの形状がその割り当て先のポイントのローカル空間に自動的に配置されることを意味します。 これは、球やボックスといった単純なコントロールシェイプをモデリングして管理するのに非常に都合が良い方法です。
ワールド空間は、それらのプリミティブがすべてキャラクタの正しい位置に準拠してモデリングされていることを意味します。 これは、複雑なコントロールシェイプをおおまかにキャラクタモデルに合わせたい時にオフセットさせてモデリングする必要がないので非常に都合が良いです。
Input 3
シェイプテンプレート。
ここには、入力スケルトンへ転送可能な既存のシェイプの割り当て/オフセットに関する情報を格納します。
シェイプテンプレートは、はじめからキャラクタにコントロールシェイプをセットアップする時間を大幅に短くすることができるのが良いです。
そして、 Attach Joint Geo SOP ノードと同様に、いつでもシェイプの割り当てとTweakの変更をテンプレートに対してさらに適用することができます。
Tweakデータはjointgeo
Primitiveアトリビュートに格納されます。
テンプレートは、マッチング用のPointアトリビュートを持っていてオプションでオフセット用のメタデータがpackedgeo
Primitiveアトリビュートに記録されたパックプリミティブを含んだポイントで構成されます。
デフォルトのマッチング用アトリビュート(Attribute to Match)は、非常に都合の良いジョイントのname
アトリビュートになっています。
既に一連のシェイプの割り当てを作成済みで、それらを他のリグの開始点として再利用したい場合、それらをシェイプテンプレートとして保存すると良いでしょう。
つまり、この Attach Joint Geo SOP ノードから出力された.bgeo
ファイルと完全なスケルトンを一緒に保存して、それをテンプレートとして利用することができます。
出力 ¶
Output 1
ターゲットスケルトン。コントロールシェイプが取り付けられた(Input 1の)入力スケルトン。
Examples ¶
capturegeoexample Example for Attach Joint Geometry geometry node
このサンプルでは、Attach Joint Geo SOPを使用して、Biharmonicキャプチャの結果に影響を与える方法について説明しています。 この方法は、単純にウェイトをペイントするよりも非常に効率的で、Biharmonicキャプチャベースの単純なジョイント位置による制御と比べて、ジョイント単位で影響を受ける領域をもっと細かく制御することができます。
-
一般的なSOPノードを使ってキャプチャジオシェイプを作成し、Merge Packed SOPを使用して、複数のキャプチャジオシェイプをまとめてパック化します。
-
その Merge Packed SOP の出力を Attach Joint Geo SOP の2番目の入力に接続します。
-
ビューポートステートに入って、ワールド空間シェイプをコントロールとして割り当てたいスケルトン内のジョイントをクリックし、Gを押しながら、そのジョイントに割り当てたいワールド空間シェイプをクリックします。
-
Attach Joint Geo SOP の出力を Joint Capture Biharmonic SOP の2番目の入力に接続します。
-
Joint Capture Biharmonic SOP の パラメータエディタ で、Roleを Attach Capture Geo SOP で設定したロールに設定します。Biharmonicキャプチャの計算には、そのキャプチャジオシェイプが自動的に使用されます。Use Capture Geo Jointsトグルを使用すれば、それを無効にすることができます。
See also |