On this page |
概要 ¶
Houdiniにおけるボーンとリグの大体の考え方はガイドラインとリグスタイルを参照してください。
オブジェクトレベルでBonesツールを使ってBoneオブジェクトを作成します。次の説明で混同しないように注意してください。
キネマティクス ¶
キネマティクス は、デジタルキャラクタをまるで生きてるかのような動きにします。キャラクタの動きを指定する方法は主に2つあります:
-
手動でボーンチェーンの各ジョイントの回転を設定します。
-
インバースキネマティクス(IK) は、ボーンチェーンが到着する終点を指定します。そして、 IKソルバ がゴールに到達するジョイントの回転を自動的に設定します。(このプロセスは、“逆の”キネマティクスと呼ばれています。なぜなら、求めるゴールの結果から“逆方向”にソルバが必要な状態を計算しているからです。)
例えば、腕のボーンチェーンでは、手の位置を指定すると、ソルバは、肩と肘のジョイントを自動的に回転します。
ソルバがより自然な解が見つけられるように“ヒント”を与えることができます。例えば、停止角度(Rest Angle)を指定すると、ソルバはジョイントの曲げが自然な感じになるように計算します。
KIN_Chops ¶
キネマティクスソルバでボーンを作成する度に、HoudiniはKIN_Chops
というCHOPネットワークを作成します。このネットワークは、色々なボーンセットアップをするキネマティックソルバエンジンを含んでいます。手動で別々のCHOPネットワークを作成することもできますが、Houdiniは自動でKIN_Chops
を作成します。
CHOPネットワーク内のソルバは単純にボーンとゴールを入力として受け取り、ボーンに回転を返すCHOPの集合体です。Composite CHOPを使って異なるキネマティクスを選択したりブレンドすることができます。
ボーンの作り方 ¶
Tip
ボーンを作成していると、 オペレーションコントロールツールバーのテキストフィールドでボーンの名前を設定することができます。
Tip
Houdiniは2つのボーンのボーンチェーンに最適なIKソルバを使います。もし、自然なシステムの2つのボーンパートがあれば、最適なソルバを利用するために別々にボーンを作成します。
To... | Do this |
---|---|
キネマティクス付きのボーンを作成する |
|
キネマティクスがないボーンを作成する |
|
既存のチェーンから新しいチェーンを枝分かれする |
|
2つの既存のチェーンを新しいボーンで接続する |
|
ボーンを新しく2つのボーンに分割する |
|
既存のカーブの形状に合わせてボーンを作成する |
|
ボーンの編集の方法 ¶
To... | Do this |
---|---|
ボーンで回転を検査する |
|
既存のボーンからキネマティクスを除去する |
|
既存のボーンにキネマティクスを追加する |
|
既存のボーンのキネマティクスソルバを変更する |
|
ボーンの長さとゼロポジションを編集する |
|
ボーンを子にする |
|
ジョイントを削除する |
Note
セットアップ中はジョイントを回転するのにTransformツールを使わないでください。なぜなら、そららのツールはボーンの Rotate 値を変更してしまうからです。代わりにBonesツールを使ってください。
停止ポーズ(Rest Pose)をセットアップした後はボーンのアニメーションをするときにTransformツールを使ってください。
Reverse footのセットアップの作成方法 ¶
-
腿のボーン、すねのボーン、足首のボーン、足のボーンを持つIKボーンチェーンを作成します。
-
ゴールNullすべてに Keep position when parenting をオンにします。
-
足首の下部にあるゴールを足首の上部のゴールの子にし、つま先のゴールを足首の下部のゴールの子にします。
-
コントロールNullを新しく作成して、足首の上部のゴールをそれの子にします。
-
コントロールNullの Keep position when parenting パラメータをオンにします。そしてワールド空間の代わりにキャラクタ空間を使いたいので、それをキャラクタルートNullの子にします。
-
コントロールNullを使って足のポーズを設定します。コントロールNullを移動・回転すると、足、足首、脚ボーンがうまく駆動します。
-
つま先のゴールのトランスフォームをクリーンして、移動パラメータをロック、YとZの回転パラメータもロックします。つま先がX軸回転しかしないので、Reverse footのセットアップでうまく回転します。
-
足首の上部と底部のゴールに対しても前のステップを繰り返します。
-
コントロールNullの見た目を変更すると、その機能が何かわかりやすくなります。例えば、足ボーン下にコントロールNullを配置して、それを足跡の見た目に変更します。
-
任意で、足首の上部、下部、つま先のゴールを不可視で選択不可にします。
ボーンの終点にNullを配置する方法 ¶
ボーンの始点にNullを配置するのは、簡単です。Nullをボーンオブジェクトの子にして、Nullの位置や向きを (0, 0, 0)に設定します。
Nullをボーンの 終点 に配置するには、次のどれかを行ないます。
スナップによる方法
-
ポイントの表示をオンにします。
-
Nullをボーンの子にします。
パラメータ参照による方法
-
Nullをボーンの子にします。
-
ボーンオブジェクトを選択して、パラメータエディタから Length パラメータをクリックして、 Copy Parameter を選択します。
-
Nullオブジェクトを選択して、パラメータエディタから Translate Z パラメータをクリックして、 Paste Relative Reference を選択します。
これはパラメータ参照をボーンの長さにペーストすると、Nullはボーンの空間で常にボーンの長さ分オフセットされます。あいにく、参照する長さはプラスの値なのでマイナスの値でオフセットする必要があります。
-
Paste Relative Reference で挿入されたエスクプレッション(例:
ch("../L_hip_bone1/length)
)の頭にマイナス記号を付け加えれば、値を反転することができます。
キャラクタのトラブルシューティング ¶
IK駆動の動きが痙攣したような動きをする
ソルバはトランスフォームを階層的にオブジェクトに適用します。とても大きくて複雑なリグネットワークでは、エラーが蓄積されていき、その結果、動きがだんだん滑らかでなくなってきます。
キネマティックソルバCHOPでは、トラッキング閾値を下げてください。これはトランスフォームの精度を上げますが、またクッキング時間も増えます。