On this page |
IKと回転のブレンド ¶
ボーンチェーンをアニメーションさせる時に、ボーン回転を使用してモーションを駆動させたい事もあれば、IKゴールを使用したい事もあるでしょう。
HoudiniのIKセットアップは、その2つの制御系を blend アトリビュートによって滑らかに切り替えることができます。 このアトリビュートは、Poseツールのインタラクティブハンドルで設定することができます。
Tip
以下に説明しているように、ブレンドハンドルとSnap to IK/Rotatesメニュー項目は、デフォルトの1つのゴールセットアップを使うときに利用可能です。 デフォルトのセットアップを変更して複数のゴール間をブレンドする場合は、これらの便利なUIの機能は動きません。 詳細は、リグの手引きを参照してください。
To... | Do this |
---|---|
IKと回転間をブレンド/切り替えをする |
|
IKや回転に合うようにボーンをリセットする |
|
IK/回転のブレンドセットアップをキーフレームする |
|
Note
ブレンドパラメータはキネマティクスチャンネルオペレーション(kin_chop)の一部です。これは、インバースキネマティクスの解を計算します。ハンドルでこの値を調整すると、Houdiniはチャンネルオペレータのパラメータを更新します。
オブジェクトの親子のブレンド ¶
Houdiniでは、オブジェクトを複数の親の子にして、Blendノードでそれらの親の影響の度合いをブレンドすることができます。これは色々な使い方があります。使い方にもよりますが、別のユーザインターフェースのツールにも使えるでしょう:
-
ある時間でアニメーション別に、別々の空間でキャラクタのパートを子にしたいことがあります。例えば、ある時間でどのような動きのアニメーションをしたいかによって、キャラクタの空間や肩の空間でポージング可能な頭をセットアップすることができます。
-
キャラクタが、オブジェクトを拾ったり、置いたり、渡したりするようなアニメーションをするには、親子関係をキーフレームすればよいでしょう。例えば、オブジェクトを拾うキャラクタをアニメーションするときは、キャラクタの手をオブジェクトの親にすることで、手がオブジェクトに接触するようになります。キャラクタが動いてもオブジェクトは手にひっついたままになります。
別の方法で動的に親子化をセットアップすることができます。これは、別の用途に適しています:
-
ネットワークエディタで親とBlendノードを手動でセットアップすることができます。動的な親子化を一度セットアップしてしまえば(キャラクタリグのように)、インタラクティブなDynamic Parentツールを使うよりも簡単です。
-
Dynamic Parentツールは、 親子関係を切り替えることができ、自動的に、切り替えに必要なBlendノードとエクスプレッションを作成します。複数の切り替えをアニメーションする場合は、手動でこのノードをセットするよりは効率的です。
手動でブレンドをセットアップ ¶
-
親をBlendノードの入力に接続します。
-
Blendノードのパラメータで、親からインポートしたいパラメータを選択します。動的な親の1つにキャラクタのルートNullを使っていたら、その移動パラメータ(
tx
,ty
,tz
)のインポートをオフにしたい場合があります。 -
Blendノードは、各入力毎に別々と Weight スライダがあり、任意でミックスすることができます。親が2つあるケースでは、1つのスライダだけ動かして2つの入力のブレンドをしたい場合があります。それをするには、2番目のスライダを1番目のスライダにリンクすることで、スライダが上から下に動かせば、自動的に他のスライダは下から上に動くようにできます。
1番目のスライダの値でクリックして、 Copy Parameter を選択して、2番目のスライダの値でクリックして、 Paste Relative Reference を選択します。Houdiniは1番目のスライダへのパラメータ参照を挿入します。最後に2番目のスライダが1番目のスライダの値を反転するようにしたいので、エクスプレッションの前に
1-
を追加します。
Note
あるケースでは、異なる親間をブレンドすると、予期しない回転を招いてしまう場合があります。これは、親が異なる方向になっていることが原因です。
これを修正するには、Nullを新しく作成して、それをあなたが使いたい動的な親の1つの子にします。それからNullの方向を回転させて向きを補正します。最後に、元の動的な親の代わりに新しいNullをBlendノードに接続します。
例えば、頭のボーンを作成して、それを動的にキャラクタルートNullと首ボーンルートの両方の子にした場合、ボーンとキャラクタルートNullが違う向きでブレンドされていると頭がZ軸に対して90度回転するかもしれません。これを修正するには、新しいNullをキャラクタルートの子にして、そのNullをZ軸に対して-90度回転させてから、キャラクタルートの代わりに、それをBlendノードに接続します。
Tip
1番目の Weight スライダをHUDスライダにすると、アニメータがコントロールするのが楽になります。
Dynamic Parentツールを使う ¶
To... | Do this |
---|---|
動的親子化のセットアップをする |
|
オブジェクトの親を動的に変更する |
|
動的にオブジェクトの親を解除する |
|
Tip
チェーンのゴールは、理想の親ではないです。その理由は、腕を回転しても通常はその方向がワールド空間のままだからです。実際のセットアップでは、コントロールオブジェクトを腕のセットアップで回転する手の子にします。
どのように機能するのか ¶
Houdiniは Blend ノードを作成することで隠れたNullオブジェクト(子の停止ポーズを制御する)と動的な親の両方の子を設定することができます。どっちの親を使うのか制御する Blend オペレータの Sequence パラメータには、キーフレームを設定することができます。
その他 ¶
-
Houdiniでは、ジオメトリのUVセットにターゲットを置きたい場合、通常はBlendオブジェクトまたはBlend Stickyオブジェクトを使います。
-
Houdiniではパラメータの関係を作成する方法がたくさんあります。例えば、Blend Poseと呼ばれるMAYAのようなキーを駆動させるツールを使うと
ch()
パラメータ参照(MELに相当)に役に立ちます。
See also |