インバース キネマティクスを使用してポーズを付けてアニメートする
 
 
 

次に IK ハンドルを作成し、あとで腕と脚のポーズを設定する際に使用します。次の手順では、IK ハンドルを作成する前に必要な最初のセットアップについて説明します。

IK ハンドルを作成する前にキャラクタをセットアップするには

  1. 階層のルートと back_root を順に選択し、 スケルトン > 優先回転角に設定する(Skeleton > Set Preferred Angle)を選択します。

    スケルトン全体でカレント ジョイントの角度が優先回転角として設定されます。この手順はスケルトン完成後に役立ちます。これ以降、Maya では、インバース キネマティクス(IK)でポーズを設定中、膝と肘の現在の曲がりがこれらのジョイントの優先初期回転方向として使用されます。これによって簡単に、人間のキャラクタの自然なモーションのポーズをキャラクタに設定できます。

  2. アウトライナ(Outliner)で Jackie を選択し、メイン メニューからディスプレイ > 非表示 > 選択項目の非表示(Display > Hide > 選択項目の非表示(Hide Selection))を選択します(Jackie はテンプレート オブジェクトなので、アウトライナ(Outliner)でこれを選択して非表示にする必要があります)。Jackie を非表示にすると、次の手順でスケルトンのポーズを設定する際にシーンがすっきりとして見やすくなります。

脚の IK ハンドルを作成、ポーズ設定、およびアニメートするには

  1. スケルトン > IK ハンドル ツール(Skeleton > IK Handle Tool) を選択します。
  2. ツール設定(Tool Settings)ウインドウで、カレント ソルバ(Current Solver)ikRPsolver に設定されていることを確認してください。

    このタイプの IK ソルバは、このアプリケーションでうまく機能する特性を持っています。

  3. パース ビューで left_hip、left_ankle の順にクリックします。

    これで、left_hip から left_ankle までのジョイントをすべて制御できる IK ハンドルが作成されます。ハンドルのメインのマニピュレータは left_ankle にあります。

    IK ハンドルは、作成後に選択されたオブジェクトです。誤ってハンドルの選択を解除した場合には、left_ankle(IK ハンドル ツールを使用したあとにクリックした最後のジョイント)をクリックすれば再度これを選択できます。ハンドルを選択するときには必ず、ハンドルと一緒にジョイントやその他のオブジェクトを選択していないことを確認します。選択内容を確認するには、アウトライナ(Outliner)をチェックします。

  4. 再生範囲の開始点に進みます。
  5. IK ハンドルを選択した状態で アニメート > キーの設定(Animate > Set Key)を選択し、脚の現在位置を最初のフレームにキー設定します。
  6. フレーム 12 に進みます。
  7. 側面ビューで移動ツールを使用して、Jackie が階段を上っているように、IK ハンドルを上、そして左にドラッグします。足と膝が移動し、ヒップは同じ位置にとどまります。

  8. IK ハンドルにもう 1 つキーを設定します。
  9. フレーム 24 に進みます。IK ハンドルを元の位置に戻します。キーをもう 1 つ設定します。
  10. アニメーションを再生して、最初の 24 フレームの間に脚が上下するのを確認します。

    これで、位置を制御する IK ハンドルを使った、脚の単純なアニメーションが完成しました。

その他の IK テクニックを練習するには

  1. アニメーションの開始位置に移動します。
  2. パース ビューで、IK ハンドルを移動して脚をいろいろな方向にポーズ設定する練習をします。

    ハンドル マニピュレータをどれほど離れた位置にドラッグしても、脚のジョイントは脚をまっすぐにしたときの位置より先には伸長されません。この機能は望ましい機能です。スケルトンにポーズを付ける際には、そのサイズは変わらないようにしておきたいものだからです。ただし、脚のジョイントをドラッグすると、そのジョイントの上の階層にあるボーンは伸びます。このため、IK ハンドルを移動する前に、ハンドルと一緒にジョイントを選択していないことを確認することが重要になります。

    ハンドルをある位置にドラッグするときに、脚のジョイントが突然フリップする(ひっくり返る)ことがあります(配置例として、次の図を参照)。このように、この領域で脚の位置を制御するのは難しいことです。

    デフォルトの IK ハンドル(IK 回転プレーン ハンドル)にあるマニピュレータを使って、ジョイントがフリップしないようにすることができます。ハンドルを選択した状態で、 修正 > トランスフォーム ツール > 移動ツール(Modify > Transformation Tools > Move Tool)、回転ツール(Rotate Tool)、スケール ツール(Scale Tool)、マニピュレータの表示ツール(Show Manipulator Tool)を選択します。極ベクトル XYZ マニピュレータをわずかに別の方向に移動します(次の図を参照)。

    それでもフリップする場合は、ツイスト マニピュレータを回転して脚を回転させます。極ベクトル XYZ とツイスト アトリビュートにキーを設定して値を指定し、キャラクタが移動するときにフリップしないようにすることができます。

    ジョイントのフリップを避けるさらに確実な方法として、極ベクトル コンストレインも利用できますが、何らかの初期設定が必要です。詳細については、Maya ヘルプを参照してください。

  3. 右脚についてもここまでの手順を繰り返し実行します (right_hip から right_ankle まで IK ハンドルを作成して、ハンドルのポーズ設定とアニメートを学習します)。
    注:スケルトン全体を移動する場合は、back_root および単一のノードの下にあるすべての IK ハンドルをグループ化し、グループ ノードを選択してから移動ツールを使用します。このグループ化によって、スケルトン全体のモーションが、ハンドルに設定したキーと矛盾しなくなります。

腕の IK ハンドルを作成、ポーズ設定、およびアニメートするには

  1. スケルトン > IK ハンドル ツール(Skeleton > IK Handle Tool)を選択します。
  2. left_shoulder、left_wrist の順にクリックします。これで左腕の IK ハンドルが作成されます。
  3. スケルトン > IK ハンドル ツール(Skeleton > IK Handle Tool)を選択します。
  4. right_shoulder、right_wrist の順にクリックします。これで右腕の IK ハンドルが作成されます。
  5. ハンドルのポーズ設定とアニメートについて学習します。