実世界において、私達はさまざまな制約に囲まれています。たとえば、重力によって地面に制約されたり、また、犬はつながれたひもの長さによって制約されたりします。
3D アニメーションの世界でこのような制限をシミュレートするには、オブジェクト間のこうした関係がアニメータによって確立される必要があります。
コンストレインは、オブジェクト間の関係を作成するために使用するツールです。コンストレインを使用すると、キャラクタにオブジェクトを持ち上げさせたり、カメラをキャラクタに追従させたり、キーボードやマウスを使ってイベントをトリガしたりすることができます。たとえば、下図ではランプはキャラクタの手にコンストレインされるため、キャラクタの腕を動かすとランプもそれに追従します。
ランプがキャラクタにコンストレインされています。
コンストレインは、オブジェクトの移動、回転、およびその他のデータを別のオブジェクトの位置、移動、回転、およびその他のデータに基づいて制限することである、という考え方もあります。したがって、上図では、キャラクタの手の変換情報がランプの動作に通知されます。
x<3 という方程式は変数 x の数学的なコンストレインで、コンストレインを 3 より小さい値に制限します。
このような制限を使用すると、オブジェクト間の実世界での関係をシミュレートすることができます。たとえば、5 フィートのひもにつながれた犬のコンストレインは X<5 で、犬の移動範囲を表す x が、ひもの全長である 5 より小さくなくてはならないことを意味します。この単純なコンストレインによって、犬はひもにつながれているように動作します。
同様のコンストレインを使用して、モデルの腕の動きを肩のジョイントによって定義された領域に制限したりすることができます。実際のところ、コントロール リグ全体は多くのコンストレインがひと続きになったものです。リグの手は腕の動きによって制約され、腕はひじのジョイントによって制約され、ひじは上腕によって制約されます。
これらの各接続によって、動いている人体の認識可能なシミュレーションを作成するために機能する複雑な関係が形成されます。
Asset Browser で、Constraints フォルダを使用すると、シーンに追加可能なコンストレイン アセットを表示して、これにアクセスすることができます。
Asset Browser: Constraints フォルダ
Navigator ウィンドウの Scene Browser には、シーンで使用するすべてのコンストレインが一覧表示されます。このブラウザで、コンストレインの追加と削除を行います。
Scene Browser のコンストレイン
コンストレインを追加するには、Scene Browser 内で Constraint フォルダを右クリックして、コンテキスト メニューから Insert Constraint を選択します。
FBX ファイル フォーマットを使用すると、MotionBuilder と Maya 間でコンストレインを交換することができます。
たとえば、Maya で作成したペアレント コンストレインを MotionBuilder に読み込みすることができます。この逆の処理も可能です。