コンストレイントとリグ

 
 
 

コントロール オブジェクトは、スケルトンのさまざまなパーツをアニメートするために使用されるので、リグ セットアップの主要なパーツであると言えます。コントロール オブジェクトはさまざまな方法でスケルトンのパーツに拘束できますが、その場合のコントロール オブジェクトはキャラクタの階層の一部になります。アニメーションをすばやく、効率的に作成するための方法の 1 つがコンストレイントです。これは、1 つのオブジェクトのアニメーションを、別のオブジェクトのアニメーションを「介して」制御する方法です。

エクスプレッションも、さまざまなタイプのコンストレインを作成したり、異なる問題を解決するために、リグによく使用されます。詳しくは「エクスプレッションによるアニメーション」(「アニメーション」)を参照してください。

Softimage には数多くのタイプのコンストレイントがあり、その使用方法も数多くありますが、ここでは、リグのコントロールオブジェクトで最もよく使用されるタイプのコンストレイントをいくつかご紹介します。

リグ設定でヌルを使用する

  • コンストレイントを作成し、リグ設定する際、ヌルを使用しなければならない場合がよくあります。ヌルを正確な場所にすばやく作成するには、[作成](Create) [スケルトン](Skeleton) [2D チェインを描く](Draw 2D Chain)を選択し、1回 クリックしてから、右クリックしてチェイン描画を終了します。この利点は、ヌルがグローバル原点(0, 0, 0)ではなくクリックした場所に配置されることです。

  • ヌルを作成した場合は、[サイズ](Size)パラメータ(ヌルを選択し、[Enter]を押して、プロパティ エディタを開く)を調整してサイズ変更できます。この操作は、ヌルをスケールしたくない場所でのリグ設定に関する問題の解消に役立ちます。

    また、チェイン エフェクタまたはルートの場合と同様、ヌルに関しても、シャドウのシェイプおよびカラーを変更することができます(「チェイン エレメント表示を変更する」を参照)。

  • コントロールオブジェクトのスケール、回転、および移動にヌルをすばやく合わせるには、ヌルを選択して[Transform] [すべての変換の一致](Match All Transforms)を選択し、コントロールオブジェクトを選択します。この操作により、ヌルがコントロール オブジェクトの変換値に合わせられます。

ポーズ コンストレイント

ポーズコンストレイントは、「親のコンストレイント」と呼ばれることもあります。このコンストレイントを使用すると、リグまたはスケルトン全体を別のリグまたはスケルトンに簡単に拘束できるためです。たとえば、ポーズ コンストレイントを使用して簡単にシャドウ リグをアニメートされたリグに拘束し、続けてアニメーションをシャドウ リグに転送できます(「リグ(モデル)間でコンストレイントを制御する」を参照)。

リグ/スケルトン全体が互いに拘束された状態で、その間のコンストレイントのウェイトのブレンドを簡単にアニメートし、アニメーションをあるリグから別のリグにシフトできます。

詳細については、「ポーズ コンストレイント」(「アニメーション」)を参照してください。

位置コンストレイントと向きコンストレイント

位置コンストレイントは、スケルトン エレメントの移動(位置)だけをコントロール オブジェクトの移動に拘束します。たとえば、位置コンストレイントを使用して、エフェクタをそのルートに拘束できます。たとえば、脚のエフェクタを足のルートに拘束する、などです。

詳細については、「 位置コンストレイント」(「アニメーション」)を参照してください。

向きコンストレイントは、スケルトン エレメントの回転(向き)だけをコントロール オブジェクトの回転に拘束します。たとえば、腕などの FK エレメントの場合は、リグのボーンを別のボーンに方向で拘束できます。リグのボーンの方向が正しくならなかった場合は、その回転順序を変更すると正しくなることがあります(「ボーンの回転順序を変更する」を参照)。

詳細については、「 向き(回転)コンストレイント」(「アニメーション」)を参照してください。

IKの脚と腕のアップベクターコンストレイント

アップ ベクターは特別なコンストレイントで、インバース キネマティクス(チェイン エフェクタの移動)によってアニメートされたチェインの傾きや回転を制御するために使用します。アップ ベクターはレゾリューション プレーンと呼ばれる特定の平面上にチェインの回転を限定します(「 チェインのレゾリューション プレーン」を参照)。チェインを動かせるのは、このレゾリューション プレーン上のみです。

詳細については、「 チェインのアップ ベクター(方向)を拘束する」を参照してください。 .

(左)脚の後ろのヌルがアップベクター コンストレイント オブジェクトとして使用されています。

(右)腕のチェインのレゾリューション プレーンが三角形で示されてます。肩の後ろのヌルがアップベクター コンストレイントオブジェクトとして使用されています。

オブジェクトからクラスタへのコンストレイント

Softimage のコンストレイントは強力です。オブジェクトのジオメトリ全体に適用できるほか、クラスタにも使用できます。チェイン エレメントをコントロール オブジェクトのクラスタに拘束するには、[オブジェクトをクラスタに]コンストレイントを使用します。このコンストレイントの利点は、ジオメトリ上の正確な拘束位置を任意に決定できることです。他のコンストレイントはジオメトリ全体の中心を拘束します。

詳細については、「 オブジェクトからクラスタへのコンストレイント」(「アニメーション」)を参照してください。

コンストレイント コンペンセイション

通常、コンストレイントのセットアップでは補正情報が保持されるため、コンストレイントの作成時に存在していた拘束されるオブジェクトと拘束するオブジェクトの間のオフセットはそのまま保持することができます。

詳細については、「被コンストレイント オブジェクトとコンストレイント オブジェクト間のオフセット設定」(「アニメーション」)を参照してください。

リグ(モデル)間でコンストレイントを制御する

別のモデル内に存在する 2 つのキャラクタがともに拘束される場合(リグとシャドウ リグなど)は、モデル内の各キャラクタのコンストレイント セットアップに干渉せずにそれらの拘束を制御するツールが必要となります。Softimage でシャドウ リグを作成すると(「シャドウ リグの作成」を参照)、そのシャドウ リグは自動的にリグに拘束されます。

たとえば、モデル A(アニメーション リグ)がモデル B(モーション キャプチャを持つ階層)に拘束される場合を想定しましょう。モデル A とモデル B の間には、ポーズ コンストレイント、ポジション(位置)コンストレイント、オリエンテーション(向き)コンストレイント、チェイン コンストレイント、アップベクター コンストレイントが多数存在します。モデル B をブランチ選択してコマンドを選択することにより、モデル B からモデル A に移動するすべてのコンストレイントを選択、有効化/無効化、または削除することができます。モデル B のストラクチャ内のオブジェクト間に存在するコンストレイントは影響を受けません。

コンストレイントを使用したシャドウ リグ(白で表示)は、そのリグとそのアニメートされた親リグ(リグ コントロール オブジェクトとともに黒で表示)間で無効にされています。

これらのコマンドを使用すると、ストラクチャ外に存在するモデルの任意のコンストレイントについて、その使用を制御できます。モデルの外部にあるコンストレイントの定義は、コンストレイント オブジェクトが被コンストレイント オブジェクトと同じモデル ストラクチャの一部ではない場合のものです。モデル ストラクチャ(リグ)内のエレメント間に存在するコンストレイントは、これらのコマンドの影響を受けません。

モデル間のコンストレイントを制御するには

  1. モデル ストラクチャ内で、各キャラクタまたはリグが拘束されていることを確認します。

  2. 別のモデルやオブジェクトの拘束元となるモデルをブランチ選択します。

  3. [Animate]ツールバーから[作成](Create) [キャラクタ](Character) [アウトサイド モデル境界にコンストレイント](Constraints Outside Model Boundaries)コマンドのいずれか 1 つを選択します。

    • [選択](Select)モデル間のコンストレイントをすべて選択します。

    • [有効/無効](Activate/Deactivate): モデル間のすべてのコンストレイントのオン/オフを切り替えます。

    • [削除](Remove): モデル間のコンストレイントをすべて削除します。