高度なスプライン IK ツイスト制御を使用する

サンプル シナリオ

スプライン IK を持つ蛇のキャラクタが、森のような床面をずるずると滑るように動いています。この蛇は、NURBS カーブを移動し、回転することによって操作されます。NURBS カーブは、カーブの先端(頭部)と末端(尾)がコントロール オブジェクト(このサンプルでは、ロケータ)によって駆動されています。

  1. 蛇のキャラクタのスプライン IK ハンドルを選択します。

    スプライン IK ハンドルは、蛇のスケルトンの最初のジョイントで開始し、最後のジョイントで終了します。一方、NURBS カーブはすべてのジョイントとボーンを通過して描画されます。

  2. アトリビュート エディタ(Attribute Editor)で、ikHandle ノードを選択します。
  3. IK ソルバ アトリビュート(IK Solver Attributes)高度なツイスト コントロール(Advanced Twist Controls)サブセクションを開き、ツイスト コントロールの有効化(Enable Twist Controls)をオンに設定します。

    高度なツイスト コントロール(Advanced Twist Controls)アトリビュートが表示されます。

  4. ワールド アップ タイプ(World Up Type)オブジェクト回転アップ(開始/終了) (Object Rotation Up (Start/End))に、アップ軸(Up Axis)正 Y (Positive Y)に設定します。

    蛇のジョイントの開始ジョイントと終了ジョイントのアップ ベクトルを NURBS カーブの駆動に使用するロケータの Y 軸に固定されます。

    注:

    アップ軸(Up Axis)アトリビュートは、アップ ベクトル(Up Vector)フィールドで指定したアップ オブジェクト ベクトルに位置合わせされるローカル ジョイントの軸を指定します。

  5. ワールド アップ オブジェクト(World Up Object)フィールドに頭部のロケータの名前を入力し、ワールド アップ オブジェクト 2 (World Up Object 2)フィールドに尾のロケータの名前を入力します。

    ロケータの正の Y 方向は、蛇のスケルトン内にあるジョイントのアップ ベクトルの計算に使用します。

    注:

    アップ ベクトル(Up Vector)およびアップ ベクトル 2 (Up Vector 2)フィールドで、ジョイントの特定のベクトルのオフセットを指定することができます。

  6. 頭部のロケータを選択して、移動します。

    蛇のスケルトン内にあるすべてのジョイントとノードが移動します。また、ジョイントとボーンが操作オブジェクトの方向を反映するようになっていることに注意してください。