ICE キネマティクスを使用すると、上級レベルのリグ作成者やテクニカル ディレクタは、最小数のコントロール オブジェクトを使ってカスタム リグを作成できます。リグは、単純にマニピュレータとデフォーマで構成できます。ヘルパー オブジェクトの複雑な階層を必要とせず、代わりに、ICE ツリーが、マニピュレータの変換に基づいて、複雑な動作をデフォーマの変換に実装します。そのため、非常に複雑なリグの作成が単純化およびスピードアップし、 移植性と再利用性も向上します。
この目的で ICE を使用するのは、変換およびキネマティクスの基礎となる数学に精通していない場合は特に、非常に難しい場合があります。一般的なアニメーション作成者は ICE で独自のリグを作成することはあまりなく、特定の目的のためにプロのリグ作成者によって作成されたさまざまなリグを利用します。
ICE キネマティクスを使用してパーティクル シミュレーションやジオメトリ デフォーメーションを制御する場合、ICE を使用する場合と異なる主な点は、コントロールにオブジェクトの変換の設定が関わってくることです。接続、コンテキスト、データ タイプなど、その他のほとんどは、ICE の他の事柄と全く同じです。
ただし、オブジェクトの変換を設定する際には、次のような特別なルールがあります。
kine.global のみに書き込みができ、kine.local には書き込めません。ただし、マトリックスを取得したり、計算に使用できます。
書き込みは kine.global マトリックス全体に対してのみ行え、pos や posx などのコンポーネントに対しては行えません。ただし、pos や posx などのコンポーネントを直接取得することはできます。マトリックス全体を取得して、ICE ツリーでそれを分解する必要はありません。
kine.global に書き込みができるのは、各ツリーの 1 つのオブジェクトにつき 1 回のみです。オブジェクトの kine.global プロパティを設定し、後から同じツリーでそれを取得した場合、ツリーが評価を開始する前の元の値が戻されます。これを回避するには、スタックの最初のツリーの上の 2 番目のツリーを使用するか、中間変換値をカスタム ICE 属性として保存し、ツリーの末尾に kine.global を設定します。
ICE は、変換をコンストレイントと同じ優先度で書き込むため、ICE キネマティクスは、F カーブ、エクスプレッション、ミキサなどの他のアニメーション フォームより優先されます。
適切に評価できない複雑な相互依存が生じないように、どの ICE ツリーがどのオブジェクトのデータを取得および設定するかには十分に注意を払う必要があります。
ICE キネマティクスを使用したシーン例については、XSI_SAMPLES プロジェクトの Scenes フォルダの ICE サブフォルダにある Kinematics_* scenes を参照してください。独自のシーンを作成する場合に使用できるコンパウンドについては、Plugin Manager を使って、Softimage がインストールされている場所にある Application/Workgroups フォルダ内の ICE_Kinematics ワークグループに接続します。(「ワークグループへの接続」(「Softimage をカスタマイズする」)を参照)。すると、Preset Manager の[タスク]タブの[ICE キネマティクス]の下にそれらのコンパウンドが表示されます。