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

 
 
 

インバース キネマティクス(IK)は、FKよりも簡単なアニメーション手法です。ユーザがチェインのエフェクタを配置してアクションの到達点を定義すると、到達点までの残りのチェインの配置がSoftimageによって計算されます。たとえば、脚を曲げるには、脚の終端エフェクタをドラッグします。残りのチェインはドラッグされたエフェクタの動きをたどります。

脚のエフェクタをブランチ選択して、直立状態から脚が持ち上がるよう移動させています。到達点に達するために必要なジョイント回転が Softimage によって解析されます。

時間を変えながらエフェクタ移動のキーを保存すると、エフェクタの位置に基づいて、ルートからエフェクタまでのジョイントの回転がSoftimageによって解析されます。続けて、他のオブジェクトと同様に、エフェクタの移動もキー設定できます。

同一チェイン上の IK アニメーションと FK アニメーションをブレンドするには、「FK と IK アニメーションのブレンド」を参照してください。

インバース キネマティクスを使用する場合

IK を使用すると、簡単にすばやくキャラクタに動きをつけることができますが、不要な動きを補正するために後で微調整しなければならないことがしばしばあります。この問題の原因としては、エフェクタによって設定されるチェインの到達点に対して、チェインが複数通りの到達法をもっていること、または、エフェクタが点から点へと移動するために、FK 使用時のようにはボーンが自然に回転できないことの 2 点が考えられます。Softimage には、このセクションで説明しているように、これらの問題を解決するためのツールが多数用意されています。

IK は、次の操作に使用できます。

  • 異なる動きを簡単に試すことができます。エフェクタを目標までドラッグする操作を特定の種類の動きのために感覚的に行います。何かに手を伸ばす動作を考えてみましょう。最初に肩を動かしてから手を伸ばすのではなく、オブジェクトをつかむために手を動かすことを考えるはずです。

  • 2D チェインを含めた、可動範囲が限られた簡単な動きを手早くアニメートします。

  • エフェクタを配置することによりチェインのポーズをセットアップし、ボーンの回転をキー設定します(FK)。

インバース キネマティックの基本概念

IK の起動時には、チェインの動作に多くの問題点が発生します。IK を使った作業を開始する前に理解しておかなければならない基本概念が 2 つあります。チェインのプリファード アングルと、そのレゾリューション プレーンです。

プリファード アングル

チェインを描画する際には、IK 使用時の動作を予測できるように角度をつけます。この屈曲を、チェインのプリファード アングル(優先角度)と呼びます。 エフェクタを動かすと、Softimage は可能な限りプリファードアングルを維持しようとします。IK の使用時には、ボーンはジョイントのプリファードアングルに逆らって反対側に回転しません。そのため、たとえばキャラクタの肘が不自然な方向に曲がることがなくなります。

わずかに曲げられたチェイン。この屈曲により、IK 使用時にどちら側に曲がるのかが決まります。この状態は、各ボーンのジョイントの優先回転角を示します。

また、ホーム状態を持つことにより、状態を復元できるようになります。つまり、チェインが同じ場所に戻れば、チェインの状態も必ず元に戻ります。

ジョイントのプリファード アングルは、ローカル回転角度です。これらの角度は、選択した IK の動作によって異なり、チェイン全体の動作に影響を与えます。IK の動作の詳細については、「 IK チェインが目標に達する方法を選択する」を参照してください。

  • 3D チェインを使用している場合は、3D ジョイントはボール ジョイントのように動作するため、ジョイントの X、Y、Z のプリファード アングルが使用されます。

  • 2D チェインを使用している場合は、ジョイントの Z のプリファード アングルだけが使用されます。各ジョイント(最初のジョイントを除く)は 1 つのプレーンに残るように拘束され、エフェクタを移動するとローカル Z 軸だけを中心に回転します。

プリファード アングルを変更するには、「 ジョイントのプリファードアングルの変更」を参照してください。

チェインのレゾリューション プレーン

2Dチェインにおけるチェインの軸参照(「 回転の軸参照を拘束する」を参照)は、空間内でエフェクタを移動する際にSoftimageがチェインを維持しようとする平面に対して直角になります。この平面がチェインの通常の向き、つまりレゾリューション プレーンと呼ばれます。エフェクタを必要な位置に移動させるために、IK システムがジョイントの回転を解決(レゾリューション)する空間内にこの平面が存在するためです。

レゾリューション プレーンの概念を理解するために、前に腕を伸ばしてから上腕を曲げてみてください。腕を曲げていくと、肘の部分に角度が形成されます。この角度は、胴体に対して垂直な平面で発生します。肩のジョイントを回転させない限り、この平面(腕のレゾリューション プレーン)は上腕を曲げても静止したままです。

A

このスケルトンの脚のレゾリューション プレーンは、ルート、エフェクタ、膝のジョイントを接続するグレーの三角形で表されています。

B

レゾリューション プレーンは、最初のジョイントの XY プレーンで定義され、ジョイントの回転はこのプレーンに位置揃えされた状態を保ちます。

C

最初のジョイントを回転させると、レゾリューション プレーンもこれに応じて回転し、すべてのジョイントの回転はレゾリューション プレーン上で行われます。

2D チェインのレゾリューション プレーでは、チェイン全体がプレーン内にあります。このプレーンは、2D チェインの最初のジョイント(およびそれ以降のすべてのジョイント)のローカル XY プレーンに対応します。

3D チェインの一般的な方向も、優先回転軸の影響を受けます。ただし、2D チェインのジョイントとは異なり、3D チェインのジョイントは、同じプレーン上に位置する必要はありません。

注:FK を使用して、レゾリューション プレーンの外側にある 2D チェインのジョイントを回転させることができます。ただし、IK を起動すると、チェインはレゾリューション プレーンに戻されます。

エフェクタをアニメートする

IK アニメーションの基本操作は、チェインのエフェクタの移動に対してキーを設定することです。Softimage で作成されたチェインのエフェクタの移動は、エフェクタの親(デフォルトではチェインルート)に対してローカルになります。

つまり、シーンのグローバル座標にエフェクタを「固定」させることなく階層全体をドラッグできます。デフォルトの Softimage セットアップでは、ヌルをエフェクタに拘束してアニメートするといった操作は不要です。当然のことながら、エフェクタを階層から削除したり、終端ボーンの子として関連付けることができます。

エフェクタを終端ボーンに関連付けないことにより、そのエフェクタ上に親で移動できるローカル アニメーションを自由に作成できます。しかし、多くのアニメータはエフェクタとボーンをコントロール オブジェクト(コントロール リグ)の個別の階層に拘束するため、スケルトン自体を直接アニメートすることはありません(「キャラクタ リグ」を参照)。

エフェクタが独自のチェインの外にあるオブジェクトの子である場合(つまり、そのエフェクタが別のオブジェクトの親として指定されている場合)は、移動をアニメートするまではそのチェイン内に存在するかのように動作します。 その際、エフェクタはその親のローカル空間でロックされ、親を操作してもコントロールできません。親は、エフェクタ上のアニメーションの「アンカー」として動作し、IK の動作を作成できません(つまり、親はチェインを解析できません)。

IK を起動する方法は、エフェクタを直接操作する方法、エフェクタにキー設定する方法、または[IK に強制](Force IK)オプションを使用する方法があります(「エフェクタの位置を強制する」を参照)。

エフェクタと IK を連携する方法については、「 IK チェインが目標に達する方法を選択する」を参照してください。

エフェクタの移動をアニメートする

エフェクタの移動をアニメートする手法は、IK でチェインをアニメートする方法としては最も基本的です。通常は、エフェクタを直接アニメートするのではなく、エフェクタに拘束されたリグ コントロール オブジェクトをアニメートします。

アニメーションの変換全般の詳細については、「変換をアニメートする」(「アニメーション」)を参照してください。

エフェクタの移動をアニメートするには

  1. エフェクタに拘束されたチェインのエフェクタまたはリグ コントロール オブジェクトを選択します。

  2. [Transform]パネルの[移動ツール](Translate)([t])ボタンをクリックするか、[V]キーを押します。

  3. チェインが必要な位置になるようにエフェクタを移動します。

  4. キーフレームアイコンをクリックするか、[K]キーを押すか、[Animation]パネルから[Animation] [キーの設定](Set Key)を選択して、移動の値をキー設定します。

  5. チェインをアニメートするには、エフェクタを別の位置に移動して別のキーを設定することで、タイムライン ポインタを移動し、IK を起動します。

    ここで、チェインは、1~10 のフレームでエフェクタの移動をキー設定することによってアニメートされます。間の各フレームのジョイント角度が解析されます。

    注:

    Softimage でチェインを作成すると、デフォルトでは、エフェクタはチェイン ルートの子になるため、エフェクタをローカル スペース内でアニメートすることになります。ただし、[作成](Create) [スケルトン](Skeleton) [SI|3Dスケルトンの描画](SI|3D Drawing)コマンドを使用してチェインを描画した場合、エフェクタの位置はグローバル空間でアニメートする必要があります。

    そのためには、エフェクタが親から[位置]および[向き]を継承するための[ローカル変換]オプションを無効にする必要があります(「階層内で変換をアニメートする」(「アニメーション」)を参照)。

パス上でアニメートする

また、チェインをパスまたはトラジェクトリに拘束することにより移動もできます。

  1. パスのカーブを作成し、そのパスに拘束するチェインのエフェクタを選択します。

  2. [アニメート]ツールバーで[作成](Create) [パス](Path) [パスの設定](Set Path)を選択し、「 パス上にオブジェクトを設定する」(「アニメーション」)に説明されている手順に従ってください。

シーケンスを再生すると、他のオブジェクトと同じように、エフェクタがパスに沿って移動します。ただし、エフェクタはチェインの一部であるため、エフェクタ以外のチェインにも IK の原理が適用されます。

(左)カーブはパスです。

(右)エフェクタはパスに沿ってアニメートします。

IK チェインの向きをコントロールする

チェインのプレーンの向きはチェインを描画するときに設定されますが、さまざまな問題を解決するために、複数の方法で向きを変更することもできます。たとえば、チェインの軸参照をデフォルトの Z から変更したり、特定のコンストレイントを使用してチェインを操作し、反転を防ぐことができます。

たとえば、キャラクタの腕として 2 つのジョイントを含むチェインを垂直に描画し、歩行中に自然に前後に振らせることができます。

  • このキャラクタが腕を上げて空を指す場合、チェインは垂直プレーンの方向に残ります。

  • しかし、腕を別のプレーンに回転させたい場合は、肘をより水平な向きになるように回転させる場合と同様に、ジョイントの向きをコントロールするための特別なコンストレイントを使用する必要があります。

チェインの向きをコントロールして、チェインの反転の問題を回避できます。チェインの反転は、2D または 3D IK チェインのエフェクタをチェイン ルートの近くに移動させると発生します。この現象が発生した場合、エフェクタが軸参照を横切ると、チェインの一般的な方向が急激に変化します。

この問題の解決方法として、以下の 3 つの方法が考えられます。