スプライン IK ソルバ

尾、触手、ヘビ、首、脊椎、および類似のオブジェクトの長くて曲がったジョイント チェーンをポーズ設定し、アニメートするには、スプライン IK ハンドルを使用します。

スプライン IK ハンドルでは、NURBS カーブを使用して、ジョイント チェーンのポーズを設定することができます。カーブを操作すると、ハンドルのスプライン IK ソルバは、それに応じてチェーン内のジョイントを回転させます。

スプライン IK ハンドルの操作に関するヒントも参照してください。

スプライン IK ハンドルのコンポーネント

高度なスプライン IK コントロール

高度なツイスト コントロール(Advanced Twist Controls)アトリビュートを使用して、チェーン内のジョイントのローカル回転を、固定ワールド空間のベクトルにコンストレイントすることができます。このベクトルは、スプライン IK の NURBS カーブの方向です。たとえば、高度なツイスト コントロール(Advanced Twist Controls)を使用して、蛇のキャラクタ、二足歩行のキャラクタの脊椎、またはコイルのスプリングの動きを安定させることができます。また、チェーンに沿ったツイストを微調整して、ツイスト アトリビュートによって、ジョイントにさらにツイストを追加することができます。

追加ツイストを適用する前に、ジョイントのアップ軸を固定ワールド軸に位置合わせすることにより、以前よりも容易に予想でき、また安定した結果を得ることができます。

ワークフロー例: 高度なスプライン IK ツイスト コントロールを使用して蛇をアニメートする」と「高度なツイスト コントロール(Advanced Twist Control)アトリビュート」を参照してください。

注: 高度なツイスト コントロール(Advanced Twist Control)アトリビュートは、IK ハンドルが ikSplineSolver を使用する場合にのみ適用されます。

スプライン IK を持つ IK ハンドルでは、NURBS カーブを使用して、ジョイント チェーンのポーズを設定することができます。スプライン IK カーブを操作して、ターゲット IK チェーン内の全ジョイントを移動し、回転させます。スプライン NURBS カーブを簡単に操作する方法は、各カーブの CV に対してクラスタ デフォーマを作成することです。[選択](Select)メニューで「クラスタ カーブ」を参照してください。

開始ジョイントの反転

スプライン IK ジョイント チェーンの開始ジョイントは、スプライン IK カーブやその CV を移動または回転したとき、またはカーブに沿ってジョイント チェーンをスライドさせたときに、逆転(反転)する場合があります。反転は、スプライン IK ソルバによる計算の正常な結果です。

ジョイントの反転は、ジョイントの方向を回転値 0 から 90 度以上回転させたときに発生します。ジョイントの回転値が 0 となるのは、ジョイントの回転 X (Rotate X)回転 Y (Rotate Y)回転 Z (Rotate Z)値が(親ジョイントの回転値を基準にして)ゼロになるような位置です。反転は、ジョイントがほぼ 180 度回転したときに最も顕著になります。

開始ジョイントをほぼ静止位置に配置してから個々のジョイントを移動すると、開始ジョイントが逆転(反転)することを防止できます。詳細については、スプライン IK チェーンでの反転を防止するを参照してください。

たとえば、モーション パスに沿ってヘビを動かすときなどカーブに沿ってジョイント チェーンをアニメートするときにも、不要な反転が発生する可能性があります。

ジョイントを適切に配置しても反転が発生する場合は、開始ジョイントを別のジョイントまたはトランスフォーム ノードの子ジョイントにしてください。IK スプライン ハンドル ツール(IK Spline Handle Tool)で「ルート軸の自動作成」と「カーブの自動ペアレント化」を参照してください。

関連トピック