On this page |
Bone Objectは、階層の一部あるいは互いに親子化された一連のボーンオブジェクトを形成した手足のようなオブジェクトの階層を作成するために使われます。 一連のボーンオブジェクトの動きは、"解決"されるか、インバースキネマティクスを含むいくつかのメソッドに基づいて計算されます。 ボーンの親子化の特徴は、各ボーンが親ボーンの原点ではなくて端点に接続されるという事が独特です。
一連のボーンオブジェクトの構築をするのに、それぞれのボーンオブジェクトを配置し、ノードからノードへと親子関係を構築するのは非常に時間の無駄で全く直感的ではないため、 Viewport上部にあるアイコンからアクセス可能なBones Operationを使うことを推奨します。 さらに、Bones Operationによって作成された一連のボーンオブジェクトは、良い挙動をします。
デフォルトでは、ボーンはレンダリングされません。 ボーンには、"リンクジオメトリ"と"キャプチャ領域ジオメトリ"の2つのタイプの表示ジオメトリが含まれています。 "リンクジオメトリ"は、 Bone Length で指定した長さに伸張された細長い四角形で構成され、ボーンオブジェクトのマイナスZ軸方向に配置されています。 "キャプチャ領域ジオメトリ"は、スケルトンSOPで使われるキャプチャ領域の定義に使用されるユーザー制御可能な2つ以上の錠剤形の領域で構成されています。 どちらのタイプのジオメトリを表示させるかを指定することができます。
Boneオブジェクトの実際の動きは、IK CHOPを通じて制御されます(標準のCapture/Deformモデル使用時)。 IK CHOPは、ボーン回転パラメータを上書きします。 この挙動を上書きしたい場合、CHOPコントロールでもはや上書きされないように、ボーンのチャンネルを削除する必要があります。
ボーンをボーンオブジェクトの子として親子化する時、そのボーンは、親のボーンオブジェクトの先端に自動的に配置されます。 ボーンオブジェクトを非ボーンオブジェクトの子として親子化する場合、そのボーンは、親オブジェクトの原点に取り付けられます。
Bonesの使い方
-
Characters タブのBonesツールをクリックします。
-
シーンビュー内のどこかをクリックして、ボーンチェーンを配置し、続けてクリックすることで、ボーンチェーンにボーンを追加します。
-
オペレーションツールバーの Placement メニューを使って内部スナップを制御することができます。これは、キャラクタスキンジオメトリの正中線にボーンをスナップするのに役立ちます。
デフォルトでは、ボーンがジオメトリノードと交差している場合、そのボーンはビューに基づいてジオメトリ内に配置されます("View based")。そうでない場合、そのボーンはConstruction Plane上に配置されます。
"Normal based"は、ビューではなくジオメトリ法線に基づいてジオメトリ内にスナップします。
"Freehand"は内部スナップしません。
-
オペレーションツールバーのドロップダウンメニューやシーンビューのクリックで、キネマティクスの追加、削除、変更をすることができます。
Inverse Kinematicsでボーンチェーンを作成すると、Nullオブジェクトがチェーンの終わりに作成されます。このオブジェクトを使えば、チェーンルートを固定したままボーンを簡単に動かすことができます。
-
-
Enterを押してチェーンを終了します。
-
オペレーションコントロールツールバーの Chain Name フィールドでボーンチェーンの名前を変更します。
Bones From Curveの使い方
-
ビューポートで⇥ Tabを押して、Pathとタイプします。
-
ビューポートにカーブを描画して、Enterを押して終了します。
-
カーブを選択して、 Characters タブのBones From Curveツールをクリックします。
ボーンをカーブと関連付けたい場合は、オペレーションコントロールツールバーの Kinematics を Follow Curve に変更します。 このオプションは、カーブを修正すると、自動的にボーンチェーンが追従するようになります。
-
オペレーションコントロールツールバーの Chain Name フィールドでボーンチェーンの名前を変更します。
オペレーションコントロールツールバーの Number Of Bones フィールドでボーンの数を変更することができます。
パラメータ
Transform
Translate
XYZ軸に沿って移動します。
Rotation
XYZ軸に沿って回転します。
Uniform Scale
3つの軸すべてに沿って均一にオブジェクトをスケールします。
Modify Pre-Transform
このメニューには、pre-transformの値を操作するオプションがあります。pre-transformとは、標準のトランスフォームパラメータよりも前に適用される内部的なトランスフォームのことです。これは、全体のトランスフォームを変更しないで、以下の移動、回転、スケールのパラメータ値のための参照のフレームを変更することができます。
Clean Transform
これは、同じ全体のトランスフォームを維持しながら、移動、回転、スケールのパラメータをデフォルト値に戻します。
Clean Translates
これは、同じ全体のトランストームを維持しながら、移動パラメータを(0, 0, 0)に設定します。
Clean Rotates
これは、同じ全体のトランストームを維持しながら、回転パラメータを(0, 0, 0)に設定します。
Clean Scales
これは、同じ全体のトランストームを維持しながら、スケールパラメータを(1, 1, 1)に設定します。
Extract Pre-transform
これは、同じ全体のトランスフォームを維持しながら、移動、回転、スケールのパラメータを設定してpre-transformを削除します。pre-transformに傾斜があると完全に削除できないことに注意してください。
Reset Pre-transform
これはパラメータを変更せずに完全にpre-transformを削除します。これは、移動、回転、スケールのパラメータがデフォルトの値でなければ、オブジェクトの全体のトランスフォームが変わります。
Keep Position When Parenting
オブジェクトが親子化されても、オブジェクトのトランスフォームパラメータを変更することで、現在のワールドポジションを保持します。
Child Compensation
オブジェクトをトランスフォームする時、その子のトランフォームパラメータを変更することで、その子の現行ワールドトランスフォームを保持します。
Enable Constraints
オブジェクトの Constraints Network を有効にします。
Constraints
Constraints Network CHOPのパス。 拘束を作成する方法も参照してください。
Tip
Constraintsドロップダウンボタンを使用することで、Constraintsシェルフツールのどれかをアクティブにすることができます。そのボタンを使用すると、パラメータエディタで選択されているノードから自動的に1番目のピックセッションが満たされます。
Note
オブジェクトのLookatとFollow Pathのパラメータは廃止されました。代わりにLook AtとFollow Pathの拘束を使用してください。 これらのパラメータは、今のところ非表示にしているだけなので、そのノードのパラメータインターフェースを編集することで表示させることができます。
Bone
Display Link
リンクジオメトリの表示を切り替えます。
Rest Angles
Inverse Kinematicsソルバ用のボーンのX、Y、Z軸による回転の相対ウェイトを定義します。 これらの値は、ボーンの事前トランスフォームを基準にしています。 Rest Angle(静止角度)を定義した事前トランスフォーム回転値でオブジェクトビューアのBonesツールからボーンを作成した時には デフォルトは0です。
Bone Length
ボーンの長さを変更します。
Kinematic Solver
このボーンがクッキングしている回転の取得元となるCHOPノードを指定します。 これは、指定したCHOPにpath:rx、path:ry、path:rzという名前の3つのトラックがある必要があります。 "path"は、/obj接頭辞なしのこのボーンのフルパスのことです。 このパスは、opsubpath()エクスプレッション関数を使って取得することができます。
このパラメータがカスタムジオメトリを持たないボーン上で空っぽでない場合、ボーンの表示ジオメトリは、これが示すものとは異なります。
このページの残りのパラメータは、拘束付きソルバのどれかを使用したInverseKin CHOPによって生成されるソリューションにのみ影響を与えます。
Dampening
このボーンの角度が変化できる速さに影響を与えます。
Angle Range
このボーンが各軸で持つことができる最小および最大回転角度を指定します。 (IK w/Constraintsソルバのみが使用)
Damping Angle
各軸での回転が、指定した最小または最大の角度内に落ちるとき、ボーンの回転に減衰を適用します。 減衰は、計算される角度が角度の範囲からこの角度の値以内であるときに発生します。 (IK w/Constraintsソルバのみが使用)
Damping Rolloff
最小または最大の角度の減衰角度以内で回転が変化するのに応じて、減衰が増加する割合を指定します。 これは、減衰角度領域におけるリニアスロープ値を考慮することもできます。 (IK w/Constraintsソルバのみが使用)
Capture
Capture Region
Display Capture Region
/displaycaptureキャプチャ領域の表示を切り替えます。
Capture Region Center
ボーンの/ccrcenter[xyz]
キャプチャ領域の中心の位置。オブジェクト空間内にある
このco-ordinateに注意して下さい。また、Zコンポーネントは乗数として
ボーンの長さを使うので、0.5はボーンに沿って半分の長さと同等です。
Capture Region Rotates
キャプチャ領域/ccrrotate[xyz]
の回転。
Capture Region Scales
スケール係数。スケールは、ローカル参照フレーム軸の方向にボーンのローカル原点から実行されます。
/ccrscale[xyz]
Capture Top Height
/crtopheight
中心から上半球までのキャプチャ領域の高さ。
Capture Top Cap
上半球/ccrtopcap[xyz]
のX、Y、Z半径。
Capture Bottom Height
中央の/ccrbotheight
から下半球までの領域の高さ。
Capture Bottom Cap
下半球/ccrbotcap[xyz]
のX、Y、Z半径。
Deform Region
このタブにはキャプチャ領域と同様のパラメータが含まれていますが、これはキャプチャされたアニメーションと変形用に使うものです。 特に、スケール係数を使えば、アニメーション中にキャプチャ領域を萎縮や伸張することができます。
Capture Bone Length
キャプチャモードでのボーンの長さ。これは、ボーンがジオメトリをキャプチャするために使用されるボーンの長さです。
Note
キャプチャモードは、メインメニューの Edit ▸ Objects ▸ Bone Kinematic Override: Capture Pose を選択することで、有効にすることができます。
Capture Bone Translate
キャプチャモードでのボーンの移動。
Capture Bone Rotate
キャプチャモードでのボーンの回転角度。
Note
ボーン回転軸の順番は、XYZです。TranslateとScaleのパラメータと一緒に回転すると、ワールド空間でのキャプチャの位置と向きでボーンを配置するトランスフォーメーションを形成します。 トランスフォーメーションの順番は、Scale、Rotate、Translateです。
Capture Bone Scale
キャプチャモードでのボーンのスケール。
Render
Display
このオブジェクトをビューポートで表示してレンダリングするかどうか。チェックボックスをオンにすれば、Houdiniは、このパラメータを使用します。 値を0にするとビューポートでオブジェクトが非表示になりレンダリングされず、1にするとオブジェクトが表示されてレンダリングされます。 チェックボックスをオフにすると、Houdiniはこの値を無視します。
Misc
Set Wireframe Color
指定したワイヤーカラーを使用します。
Wireframe Color
オブジェクトの表示カラー。
Viewport Selecting Enabled
オブジェクトがビューポートでピック可能になります。
Select Script
ビューポートでオブジェクトをピックした時に実行するスクリプト。Select Scriptを参照してください。
Cache Object Transform
一度Houdiniがオブジェクトトランスフォームを計算すると、それらをキャッシュ化します。これは、特にワールド空間位置の計算負荷が高いオブジェクト(例えば、Stickyオブジェクト)と長い親子チェーンの最後にあるオブジェクト(例えば、ボーン)に役に立ちます。 このオプションはStickyオブジェクトとBoneオブジェクトではデフォルトでオンになっています。
オブジェクトトランスフォームキャッシュのサイズを制御する方法に関しては、Houdini Preferencesウィンドウの OBJ Caching の章を参照してください。
Examples
The following examples include this node.
SimpleIKSolver Example for IKSolver channel node
このサンプルでは、IKSolver CHOPの使い方を説明しています。
SimpleInverseKin Example for InverseKin channel node
このサンプルでは、手動でInverseKin CHOPを使う方法を説明しています。
Inverse Kinematics付きのボーンチェーンの作成は、CharacterシェルフタブのBonesツールを使うのが一番簡単です。
SimpleTransformChain Example for TransformChain channel node
このサンプルでは、TransformChain CHOPの使い方を説明しています。
このサンプルでは、2 Point Muscleを使って、オブジェクト空間内で筋肉の揺れを作成する方法を説明しています。
LayerVariations Example for Agent Layer geometry node
このサンプルは、いろいろなジオメトリのバリエーションを持ついくつかのレイヤーを作成して、 それらのレイヤーをエージェントにランダムに割り当てる方法を説明しています。
VexDeform Example for Capture Attribute Unpack geometry node
これは、Capture Attribute Unpack SOPを使用して、キャプチャアトリビュートをVEXにアクセス可能な何かに変える方法を説明したサンプルです。 これには、キャプチャアトリビュートを滑らかにして、それらのVEXで完全に変形させるメソッドを用意しています。
DeltaMushDemo Example for DeltaMush geometry node
このサンプルでは、Delta Mush SOPを使用したボーン変形の平滑化の方法を説明しています。
See also |