IK チェイン専用に設計された特別なアップベクター コンストレイントを使用して、チェインの方向を拘束し、フリッピングから防ぐことができます。このコンストレイントにより、チェインのレゾリューション プレーンの一般的な方向を、完全かつ正確に制御できます。また、フリッピングの問題が発生する場所を制御できます。アップベクター コンストレイントは、チェインの 1 番目のボーンに設定してください。このボーンは、チェインのレゾリューション プレーンを決定するボーンであるためです。チェインの 1 番目のボーン以外のボーンに対してアップベクター コンストレイントを設定すると、そのボーンのジョイントを起点にサブチェインが作成されます。
チェインのアップベクター コンストレイントを使用することにより、チェインまたはサブチェインの最初のジョイントの Y 軸が、拘束されるオブジェクトをポイントするように強制することができます。チェインのエフェクタの位置によって、レゾリューション プレーンの X 軸が決定され、Z 軸は X 軸と Y 軸によって定義されるプレーンに直交します。
チェインの最初の 2 つのポイントは、最初のジョイントとエフェクタの位置を表します。アップベクター コンストレイントは、チェインのレゾリューション プレーンの第 3 ポイントを表します。
ビューポートでアップベクター コンストレイントを表示するには、[Camera Visibility]プロパティ エディタの[属性]ページで[チェインのクリティカル ゾーン](Chain Critical Zone)をオンにします(「IK チェインのクリティカル ゾーンを表示する」を参照)。
リグ内でアップベクター コントロールがどのように動作するかを確認するには、キャラクタにデフォルトのリグを作成して、肘や膝の後ろにあるピラミッド型のコントロールを移動させます。See 二足歩行リグの作成.
チェインのアップベクター コンストレイントは、実際にはジョイント プロパティの 1 つであり、コンストレイントではないため、通常のコンストレイント([Constrain]メニューにあるもの)とは異なります。つまり、アップベクターはチェインの一部として複製できますが、通常のコンストレイントのようには削除できません(アップベクター コンストレイントの削除方法については、「アップ ベクター コンストレイントを削除する」を参照)。
コンストレイントの詳細については、「コンストレイントを使用してアニメートする」(「アニメーション」)を参照してください。
独立したコンストレイント オブジェクトを使用するかどうかに応じて、メニューコマンドや[Kinematic Joint]プロパティ エディタからアップベクター コンストレイントを設定できます。
ボーンのアップベクターをコントロール オブジェクトに拘束するには
コンストレイント(コントロール)オブジェクト(ヌルなど)を作成し、できるだけチェインのルートの近くにそのオブジェクトを位置付けます。ルートから離れた場所に配置すると、予想外の結果となることがあります。
チェインの 1番目のボーンを選択し、[Animate]ツールバーから[作成](Create) [スケルトン](Skeleton) [チェインアップベクター](Chain Up Vector)を選択するか、[Constrain] [チェインアップベクター](Chain Up Vector)を選択します。
アップベクター コンストレイントは、チェインの 1 番目のボーンに設定してください。このボーンは、チェインのレゾリューション プレーンを決定するボーンであるためです。
[レゾリューション プレーン]ページの[アップ ベクター]オプションの[X]、[Y]、[Z]設定(次のページを参照)で位置は確認できますが、オブジェクトの移動はできません。[アップ ベクター]オプションの設定は、単にコントロール オブジェクトの位置を示しているだけです。
ボーンのアップ ベクターはコントロール オブジェクトに拘束するのが一般的ですが、ボーンの[Kinematic Joint]プロパティエディタの[レゾリューション プレーン]ページにあるコントロールを使用すると、ボーンのアップ ベクターが必ず一方向を向くように設定することも簡単です。このようなアップ ベクターはスタティック アップベクターとして知られています。
チェインの 1 番目のボーンを選択して、ボーンの[Kinematic Joint]プロパティ エディタを開きます。
アップベクター コンストレイントは、チェインの 1 番目のボーンに設定してください。このボーンは、チェインのレゾリューション プレーンを決定するボーンであるためです。
[レゾリューションプレーン]ページで、[レゾリューションプレーン](Up Vector)リストから[アップベクター]を選択します。[Resolution Plan]ページで、[レゾリューション プレーン](Res. Plane)リストから[アップ ベクター]を選択します。
[アップ ベクター](Up Vector X)オプションの[X]、[Y]、および[Z]設定を使用してグローバル空間でアップ ベクターの位置値を指定します。これは、ボーンのアップ ベクターが示す場所です。
[ルート座標の使用](Use Root Coordinates) を選択し、グローバル座標ではなく、チェイン ルートの座標を使用してスタティック アップ ベクターを指定します。チェイン ルートの座標の使用には、主に 2 つの意味があります。
スタティック アップ ベクターがチェインとともに動きます。グローバル スタティック アップ ベクターは、チェインと共に移動しないため(キャラクタが歩行する場合など)、このアップ ベクターが常に便利とは限りません。チェイン ルートの座標の使用は、アップベクターがルートに比例して変化しないことが分かっている場合、アップ ベクター オブジェクトの使用に代わる良い方法です。また、追加のアップベクター コントロール オブジェクトを使用しなければ、単純なキャラクタ リグがセットアップできます。
レゾリューション プレーンのデフォルトの動きを無効にできます。[レゾリューションプレーン](Res. Plane)を[デフォルト](Default)に設定した場合、Softimage では軸参照としてチェイン ルートの Z 軸が使用されます。[ルート座標の使用](Use Root Coordinates)をスタティック アップ ベクターとともに選択することは、チェイン ルートをゼロ回転にする場合など、このデフォルトの動作を無効にすることと同じです。
アップベクター コンストレイントを取得して予測どおりに動作するかどうかは、ルートのどちら側にチェインを描画するかによって異なります。1 番目のボーンの Y 軸は内側または外側を指すことになります。
右側のチェイン上にアップ ベクターを設定する場合は、完全に動作します。しかし、左側のチェイン(左側に球体がある)にアップベクターを設定する場合は、そのアップベクターによって 1 番目のボーンの Y 軸が球体の方向を指すことになるためフリップします。この現象を修正するには、ジョイントの[ロール]を 180 に設定します(詳細については、「IK ボーンを回転する」を参照)。
チェインのアップ ベクターは実際のコンストレイントではないため、通常のコンストレイントを補正する場合とは異なり、オフセットを使用できません。アップベクター コンストレイントされたオブジェクトの位置を補正するには(オブジェクトが腕や脚の後面ではなく前面にある場合など)、アップ ベクターが適用されたボーン上に[ロール]を設定します。
[チェイン アップ ベクター](Chain Up Vector)コマンド(「オブジェクトへのアップ ベクターを拘束する」を参照)を選択すると、スケルトン アップベクター オペレータが作成されます。アップベクター コンストレイントを削除するには、両方のオペレータを削除して、レゾリューション プレーンをリセットする必要があります。
Explorer で、ボーンの[Kinematic Joint]プロパティの下の[SkeletonUpVectorOp]オペレータを削除します。これにより、コンストレイント オブジェクトがアップ ベクターから切り離されます。
[Kinematic Joint]>[レゾリューションプレーン]プロパティページで、[レゾリューションプレーン]を[デフォルト]に戻します。[Kinematic Joint]>[Resolution Plan]ページで、[レゾリューション プレーン](Res. Plane)を[デフォルト]に戻します。
アップベクター コンストレイントを作成したとき、[Kinematic Joint]>[一般]ページの[チェイン/サブチェイン ビヘイビア](Chain/Subchain Behavior)は[3D]に設定されました。ただし、レゾリューション プレーンをデフォルトに戻しても、サブチェインのタイプは変更されません。前の IK 動作に戻すには、リセットする必要があります。
サブチェインの詳細については、「 独立して動くサブチェインを作成する」を参照してください。