ICE コンストレイント
 
 
 

コンストレイントは、1つのオブジェクトの位置、方向、またはスケーリング、あるいはそのすべてを使用して、別のオブジェクトの対応する変換を制御することに関与します。ICE でコンストレイントを設定するのは非常に簡単です。

[ICE]ツールバーを使用したコンストレイントの適用

[ICE]ツールバーには、定義済みのコンストレイントが複数あります。定義済みのコンストレイントコンパウンドを適用するには

  1. 拘束するオブジェクトを選択します。

  2. [ICE]ツールバーの[キネマティクス](Kinematics) [コンストレイント](Constrain)メニューからコマンドを選択します。

    • [向き](Orientation)は、拘束先のグローバル回転を拘束元に一致させます。

    • [ポーズ](Pose)は、拘束先のグローバルスケール、回転、および移動を拘束元に一致させます。

    • [位置](Position)は、拘束先のグローバル移動を拘束元に一致させます。

    • [最も近いサーフェイスへ](To Closest Surface)は、拘束元のサーフェイスの最も近い場所に拘束先を配置します。

    • [タレット](Turret)は、拘束先を1つの軸を中心として回転させ、もう一方の軸と拘束元を位置合わせします。

    • [追従して向きを変更](Look At)は、ICEではない方向コンストレイントと同様、1つの軸が拘束元をポイントするように拘束先を回転させます。

  3. コンストレイントオブジェクトを選択します。

複数のICEベースコンストレイントが順番に適用されます。たとえば、あるオブジェクトを別のオブジェクトのサーフェイスに拘束して、ターゲットをポイントさせたい場合、最初に[最も近いサーフェイスへ](To Closest Surface)を適用してから、[追従して向きを変更](Look At)を適用する必要があります。

手作業によるコンストレイントコンパウンドの適用と編集

[ICE]ツールバーの[キネマティクス](Kinematics) [コンストレイント](Constrain)メニューにあるコマンドを使用する代わりに、またはこれらのコマンドに加えて、ICEツリーで直接コンストレイントコンパウンドを操作することができます。コンストレイントコンパウンドは、Preset Managerの[ツール]タブの[Kinematics]カテゴリにあります。

ここで、ICEツリーでのコンストレイントコンパウンドの操作に関する基本的なガイドラインを説明します。

  • すべてのコンストレイントコンパウンドは、ルートまたは別の実行タイプのポートに接続されている[Add Constraints]ノードに接続する必要があります。

  • [Add Constraints]ノードは、各 ICE ツリーの拘束先ごとに 1 つだけ使用できます。

  • [Add Constraints]ノードおよびすべてのアタッチされたコンストレイントコンパウンドで、同じ拘束先を使用する必要があります。デフォルトの拘束先は「自己」ですが、プロパティエディタで異なる参照を選択したり、それをクリアして[Constrainee In Name]ポートを使って制御したりできます。

  • [Add Constraints]コンパウンドで使用できるカスタムコンストレイントを作成する場合は、以下の手順に従います。

    • 回転を変更したいけれどスケールと位置はそのままにしておきたい場合など、現在の変換または前のコンストレイントの結果とブレンドするには、計算のベースを(constrainee).kine.global ではなく(constrainee).__TmpConstraintPose 属性にします。

    • カスタム コンストレイント コンパウンドの最後で、計算した変換に(constrainee).__TmpConstraintPose を必ず設定してください。(constrainee).kine.global は設定しないでください。