コンストレイント
コンストレイントを使えば、アニメーション中に、別のオブジェクトや複数のオブジェクトに比例して、あるオブジェクトをどの程度遠くまで移動することが可能になるか、ということを制限することができます。オブジェクトの動きを制限することができる、使用可能なコンストレイントの種類は多数あります。それらの全てがこのタグ内にあります。
このタグができることの多くは、XPressoを使って行うことも可能です。このタグを使用する利点は、このタグのコンストレイントの方が、XPressoにおける同類の機能よりもより速く実行されるということです。またこのタグは、セットアップもすばやく済みますし、ほとんどの場合において、XPressoを使うよりももっと簡単です。そして最後に(かといって決して軽んじられません)、単にこのタグのコンストレイントのいくつかは、XPressoを使って達成することができません。
このタグにおいて複数のコンストレイントをアクティブな状態にすることができます。そして各コンストレイントに対するいくつかのターゲットを定義することができます。これはつまり、あるオブジェクトに制限(コンストレイント)を与えるためには、通常はタグひとつだけで用が済む、ということを意味しています;ただし、異なるそれぞれの「X優先順位」に対して制限をセットしたくない場合に限ります。タグの制限は、以下に挙げる順序で求められます:
-
親
-
トランスフォーム
-
ミラー
-
限定
-
スプリング
-
照準
- アップベクター
もしもコンストレイントが1つ以上のターゲットを持っている場合は、各ターゲットは上から下の順にその数値が求められます。
このタグは、キャラクターアニメーションにおいて便利なだけでなく、シーン内で動くあらゆるものに対しても一般的に役立ちます。このタグを使うことによって、静止シーンでさえもその恩恵を受けることができます。例えば、不均等なサーフェイスの上に各種オブジェクトを配列するために、コンストレイントを使うことができます。
例
フライホイールにピストンを追加: 一般的に、フライホイールを回転させると、ピストンとシリンダーはそれに合わせて動きます。この場合、次のことが重要になります: ピストンとシリンダーは、それぞれ正しい回転軸を持たなければなりません。(軸ツール)ピストンとシリンダーは、それぞれ次のような設定のコンストレイントを適用される必要があります。
ピストンには、2つのコンストレイントが、コンストレイントタグで設定されています:
-
トランスフォームコンストレイントは、ピストンをクランクピンに制限します。
•ターゲットコンストレイントは、ピストンの角度を制限し、シリンダーの回転ポイントに整列されます。
シリンダーは、一つのコンストレイントタグで、照準コンストレイントと回転ポイントのコンストレイントが適用されています。コンストレイントは、オブジェクトマネージャ内で適用されることを忘れないでください。たとえば、シリンダー上記の状態からオブジェクトマネージャで、ピストンの上に移動すると、結果は一致しません。(エクスプレッションの優先順位を正しく変更した場合は除きます)
限定のオフセット値は、パラメトリックオブジェクトなど軸が動かせないオブジェクトを使う場合大変便利です。
コンストレイントコマンド
コンストレイントタグを使って行う作業をより簡単にするために、多数のコマンドを追加しました。これを使って、選択したオブジェクトに対して希望するタグを簡単にセットアップすることができます。エレメントが選択される順番(選択されたオブジェクトの階層ではありません)は重要です:
•最初に選択されたオブジェクトがコンストレイントタグを受け取ります。
•その後に選択された全てのオブジェクトは、ターゲットオブジェクトとして使われます。
最初に全てを選択解除して、それから"コンストレイント”を適用するオブジェクトを選択して、そして各コマンドを適用する前にターゲットを選択する(Ctrl+クリック)のが良い手順でしょう。
コンストレイントタグを割り当て、選択したら、(タグを新規作成するのではなく) Shiftキーを押したままコンストレイントコマンドを (再) 選択することにより、他のオブジェクトを個別に選択し、タグに追加することができます。
オブジェクトが、ターゲットオブジェクトに向きます。
ターゲットオブジェクトの該当する軸に沿ってのみ、オブジェクトが移動します。
ターゲットオブジェクトの原点からの現在の距離に対して、オブジェクトが制限されます。
オブジェクトの動きが、ターゲットオブジェクトの動きをミラーリングします。
オブジェクトが、ターゲットオブジェクトからの一定の距離を保ちます。
オブジェクトが、まるでターゲットオブジェクトの子オブジェクトのように動作します。そしてターゲットオブジェクトの動きに一致して動くようになります。
オブジェクトが、ターゲットオブジェクトのXY平面の範囲内でのみ動くようになります。
オブジェクトが、ターゲットオブジェクトの一番近いジオメトリオブジェクトポイントに制限されます。
オブジェクトが、ターゲットオブジェクトの原点に制限されます。
オブジェクトが、ターゲットオブジェクトの原点に制限されます。そしてターゲットオブジェクトに沿ってスケールおよび回転します。
オブジェクトが、ターゲットオブジェクトの回転を専ら採り入れます。
オブジェクトが、ターゲットオブジェクトのサイズを専ら採り入れます(属性マネージャ内にある"座標”タブ:S.X, S.Y, S.Z)。
オブジェクトが、スプラインターゲットオブジェクトに制限されます。
オブジェクトが、ターゲットオブジェクトのスプリングの動作に従います。
オブジェクトが、ターゲットオブジェクトのサーフェイスのジオメトリに制限されます。
ターゲットオブジェクトが、アップベクターとして使用されます。