コンストレインとは
 
 
 

コンストレインを使用すると、オブジェクトの位置、方向、スケールなどを他のオブジェクトに対して制約(コンストレイン)することができます。さらに、オブジェクトに特定の制限を課して、アニメーションのプロセスを自動化することもできます。

たとえば、でこぼこの丘を滑り降りる「そり」をすばやくアニメートするには、最初にジオメトリ コンストレインを使用してそりがサーフェスに沿って動くように制約した後、法線コンストレインを使用してそりとサーフェスを平行に保ちます。これらのコンストレインを作成した後、丘の頂上とふもとのそりの位置にキーを設定すれば、アニメーションが完成します。

Maya では、10 種類のコンストレインを使用してキャラクタの設定とアニメーションを行うことができます。

他のソフトウェア パッケージでは、「コンストレイン」に代わって「アニメーション コントローラ」という用語を使用している場合があります。

コンストレインのノードの動作(Node Behavior)アトリビュート

コンストレインを効果的に使用するためにコンストレインのノード動作アトリビュートを理解する必要はありません。コンストレインについて初めて学ぶのであれば、このセクションを省略しても構いません。しかし、コンストレインのノード動作アトリビュートについて知識があれば、コンストレインの操作およびパフォーマンスをより自在に操作することができます。

シーン内の各オブジェクトに対し、そのノードまたはそのヒストリ内のノード(その入力または出力ノード)に何らかの変更があった場合、Maya はそのノードのノードの動作(Node Behavior)アトリビュートに基づいてノードを評価し、表示を更新します。コンストレイン ノードのノード動作アトリビュートは、コンストレイン エフェクトの演算と表示に影響します。

コンストレイン対象オブジェクトとターゲット オブジェクト

コンストレイン対象オブジェクトとは、最も近いサーフェスの位置、ターゲット ベクトルの方向、1 つまたは複数のターゲット オブジェクトの位置によって位置や方向などが駆動されるオブジェクトのことです。1 つまたは複数のターゲット オブジェクトの位置をターゲット ポイントと呼びます。1 つまたは複数のターゲット オブジェクトの方向をターゲット方向と呼びます。

ターゲット ポイント

ターゲット ポイントとは、ターゲット オブジェクトの回転ピボットの位置です。複数のターゲット オブジェクトがある場合は、すべてのターゲット オブジェクトの回転ピボットの平均位置がターゲット ポイントになります。複数のターゲット オブジェクトを使用している場合は、各ターゲット オブジェクトがターゲット ポイントの算出時のインフルエンスの度合いを制御することができます。ターゲット ポイントは複数のターゲット オブジェクトの加重平均位置でもあります。その場合は、あるオブジェクトが他のオブジェクトよりも大きく作用することになります。加重平均位置に対するターゲット オブジェクトのインフルエンスは、ターゲット オブジェクトのウェイト値によって指定することができます。各ターゲット オブジェクトの回転ピボットを移動することによって、ターゲット ポイントを変更することができます。

ターゲット方向

ターゲット方向とは、ターゲット オブジェクトの方向(回転 XYZ アトリビュート)です。複数のターゲット オブジェクトがある場合は、すべてのターゲット オブジェクトの平均方向がターゲット方向になります。しかし、複数のターゲット オブジェクトを使用している場合は、ターゲット方向の算出時に各ターゲット オブジェクトのインフルエンスの度合いを制御することができます。ターゲット方向は、複数のターゲット オブジェクトの加重平均方向でもあります。その場合は、あるオブジェクトが他のオブジェクトよりも大きく作用することになります。加重平均位置に対するターゲット オブジェクトのインフルエンスは、ターゲット オブジェクトのウェイト値によって指定することができます。

ターゲット スケール

ターゲット スケールとは、ターゲット オブジェクトのスケーリング(スケール XYZ アトリビュート)です。複数のターゲット オブジェクトがある場合は、すべてのターゲット オブジェクトの平均スケーリングがターゲット スケールになります。しかし、複数のターゲット オブジェクトを使用している場合は、各ターゲット オブジェクトがターゲット スケールの算出時のインフルエンスの度合いを制御することができます。ターゲット スケールは複数のターゲット オブジェクトの加重平均スケールでもあります。その場合はあるオブジェクトが他のオブジェクトよりも大きく作用することになります。加重平均位置に対するターゲット オブジェクトのインフルエンスは、ターゲット オブジェクトのウェイト値によって指定することができます。

ターゲット ベクトル

ターゲット ベクトルまたは加重平均ベクトルは、コンストレイン対象オブジェクトの位置における法線ベクトルを表します。Maya はターゲット ベクトルをサーフェスまたはメッシュ上にある近接する法線ベクトルの加重平均ベクトルとして算出します。

ターゲット オブジェクトのウェイト値

各ターゲット オブジェクトごとにウェイト値を設定し、それによってターゲット ポイント、方向、スケール、ベクトルなどの算出時にオブジェクトが受けるインフルエンスの度合いを制御することができます。加重平均の結果により、コンストレイン対象オブジェクトの位置、方向などが駆動されます。ターゲット オブジェクトのウェイト値が 0 の場合、コンストレイン対象オブジェクトにインフルエンスを及ぼしません。ターゲット オブジェクトのウェイト値が 1 の場合、コンストレイン対象オブジェクトに最大限のインフルエンスを及ぼします。

注:
  • コンストレインのウェイト値は、複数のターゲット オブジェクトがある場合には便利です。
  • ターゲット オブジェクトが 1 つのみの場合は、いかなるウェイト値も 1 として解釈されます。したがって、単一のターゲット オブジェクトの場合はコンストレイン対象オブジェクトに 100% 影響するよう解釈されます。

コンストレイン対象オブジェクトの位置

コンストレイン対象オブジェクトの位置はターゲット ポイントによって駆動されます。しかし、コンストレイン対象オブジェクトの位置をターゲット ポイントからオフセットすることもできます。コンストレイン対象オブジェクトの位置をターゲット ポイントからオフセットすることは、コンストレイン対象オブジェクトのローカル座標軸をターゲット ポイントと完全に一致させたくない場合などに便利です。たとえば、キャラクタの手が球体を持っているように球体を手のジョイントにコンストレインした場合、球体をジョイントからオフセットする必要があります。オフセットすることによって、球体が手の中心に置かれるのではなく手のひらの中に収まるようにすることができます。

コンストレイン対象オブジェクトの方向

コンストレイン対象オブジェクトの向きはターゲット方向によって駆動されます。

コンストレイン対象オブジェクトのスケーリング

コンストレイン対象オブジェクトのスケーリングはターゲット スケールによって駆動されます。

ワークフローのまとめ

コンストレインの設定は簡単です。コンストレイン元のオブジェクトを選択して、コンストレイン対象オブジェクトを選択し、最後にコンストレイン(Constrain)メニューから適切なコンストレイン タイプを選択します。コンストレインの使用は、コンストレインのデフォルトのオプションからさらに踏み込んだ使用方法を模索するのに伴って複雑になります。

いくつかのコンストレインは、コンストレイン対象オブジェクトの一部のチャンネルをロックします。たとえば、エイム コンストレインは、コンストレイン対象オブジェクトの方向チャンネル(回転 XYZ)をロックします。どのチャンネルがロックされるかによって、1 つのオブジェクトに対する複数のコンストレインの使用方法が決定されます。エイム コンストレイン、法線コンストレイン、および接線コンストレインは、それぞれコンストレイン対象オブジェクトの方向チャンネルをロックするため、特定のオブジェクトに対してどれか 1 つしか使用することができません。

コンストレインによってロックされているアトリビュートには、エクスプレッションを使用できません。また、ロックされたアトリビュートがジョイント上にあると、スケルトンをバインド ポーズに戻すことはできません。