スケルトンのボーンやコントロール リグのエフェクタを操作する場合、キネマティクス規則を使用して、これらのオブジェクト同士の相対的な動きを計算する方法を指定します。フォワード キネマティクスとインバース キネマティクスという 2 つの主要なキネマティクス規則があります。
ほとんどのアニメータは、IK (インバース キネマティクス)と FK (フォワード キネマティクス)の組み合わせを使用してキャラクタを操作します。FK を使用して個々のボーンに作用するピボット ポイントを選択して操作したり、IK を使用してボーンの階層を移動したりすることができます。
ほとんどの状況で、FK と IK を両方組み合わせてしかできない微調整が必要になります。このため、FK と IK の両方について十分に理解しておく必要があります。
フォワード キネマティクスは接続されたジョイント グループの座標変換方法の 1 つで、チェーンのルート(最上位)の動きがエンド ジョイントに達するチェーンのすべてのジョイントに影響を与えます。チェーンのすべてのジョイントが後続のジョイントに影響を与えますが、先行するジョイントには影響を与えません。言い換えると、フォワード キネマティクスはチェーン上を下位に向かって伝搬します。
この規則を最も簡単に説明するには、単純なチェーンに置き換えて考えてみることです。次の図では、4 つのジョイントを使用して腕を表しています。
腕の FK チェーン A. 肩のジョイントつまりルート ジョイント B. 肘のジョイント C. 手首のジョイント D. 手のジョイントつまりエンド ジョイント
腕の FK チェーンでは、肩のジョイント(A)の回転が肘(B)と手首(C)を通って手(D)まで伝搬します。肘(B)だけが回転した場合は、手首(C)と手(D)だけが動き、肩(A)は動きません。言い換えると、FK チェーンのジョイントには、子ノード(B)が親ノード(A)の動作に追従する親子関係があります。通常はアニメータがキャラクタのすべてのジョイント モーションについてこのような複雑な規則を定義しなければいけませんが、MotionBuilder では、この作業はコントロール リグが行ってくれます。
フォワード キネマティクスによって、スケルトンの個々のボーンを完全に制御でき、手動でチェーンの個々のジョイントを配置できます。インバース キネマティクスだけでは不可能な、このような微調整が必要になる場合があります。
たとえば、以下の図は、MotionBuilder におけるキャラクタの各指の FK エフェクタを示しています。拳を作るとき、これらのエフェクタを移動し、回転しました。これは、IK では不可能な動きです。
FK では、指のジョイントなど、個々のジョイントを操作できます。
このように、FK の機能の 1 つはスケルトンの個々のボーンが完全に制御可能であることです。これによりチェーンにある個々のジョイントを手動で配置できます。
インバース キネマティクス(IK)は接続されたジョイント グループのもう 1 つの座標変換方法で、エンド ジョイントの動きがチェーンを遡ってすべてのジョイントに影響を与えます。チェーンのエンド エフェクタを配置することによってアクションのゴールを定義するため、エンド エフェクタはゴールとも呼ばれ、IK は「ゴールベースの動き」と呼ばれます。すべてのジョイントは先行するジョイントに影響を与えますが、後続のジョイントには影響しません。言い換えると、インバース キネマティクスはチェーンを遡って伝搬します。
次の図では、3 つのジョイントを使用して腕を表しています。今度は、手首ジョイント(C)の回転がチェーンを遡り、肘(B)を通って肩(A)まで伝搬します。
腕の IK チェーン A. 肩のエフェクタ B. ヒジのエフェクタ C. 手首のエフェクタ
IK チェーンのすべての座標変換は、指先の座標変換であっても、指のジョイント、手、手首、肘、および肩に伝搬します。
IK はゴールベースであるため、IK チェーンでは同一のゴールに到達しうる無数のポジションが存在します。このため、ジョイントがどの方向に曲がるかについての「ヒント」をメインの IK チェーンに与える追加エフェクタを指定する必要があります。
MotionBuilder は、このゴールに到達するための残りのチェーンの配置を計算します。これにより、ボディのすべてのパーツが他のパーツに関連して動くため、リアルな動きを作成できます。ゴールを配置すると、ボディの残りは MotionBuilder によって配置されます。
たとえば、以下の図は、MotionBuilder でキャラクタの左手首エフェクタを動かした結果を示しています。手首のエフェクタは腕の階層のエンド エフェクタであるため、腕の残りの部分と、結果的にはボディ全体がこのエフェクタに追随し、このエフェクタに到達します。
インバース キネマティクスは、関連するボディのパーツに影響を与えます。
コントロール リグは、ジョイントの向きを決定する役割を持ちます。コントロール リグに追加できる、既存の IK エフェクタに対応した補助的なエフェクタもあります。補助エフェクタとピボットは、キャラクタのリーチに対して付加的な IK コントロールを提供し、対応する IK エフェクタ上に表示されます。
本来、IK リグでは、ボーンの階層を操作するためにチェーンの終わりにエフェクタを移動することによって、迅速かつ直観的にキャラクタを配置できます。インバース キネマティクスだけでは不可能な微調整が必要になる場合があります。このような場合は、インバース キネマティクスとフォワード キネマティクスを組み合わせて、必要なポジションを正確に作成します。