一般的な意味でエクスプレッションとは、数字、変数、オペレータ、関数、および他のエクスプレッションを組み合わせた数式であり、等号(=)を含みません。そして、数値やブール値、F カーブ、またはグラフを評価します。
Softimage のエクスプレッションは、Parameter または Parameter に適用することでその値を制御(アニメート)できるタイプの DataSource です。その核となるものが、文字列に格納された数式(一般的な意味の式)が含まれるエクスプレッション定義です。エクスプレッション定義は、関数、オペレータ、変数、および定数を組み合わせて構築します。これらは、エクスプレッション リファレンスから使用できます。たとえば、オブジェクト A の Y 回転をオブジェクト B の X 軸に沿った移動にリンクさせるには、次のエクスプレッション定義を使用してA.kine.local.rotyパラメータにエクスプレッションを設定します。
エクスプレッション定義の一環として使用可能な関数とトークンの全リストについては、「エクスプレッション リファレンス」を参照してください。
UI 上のアニメーションのエクスプレッションは、その所有者のパラメータ ノードの下にネストされた特別なエクスプレッション オペレータとして Explorer に表示されます。 このオペレータは、エクスプレッションの関連データを格納するパラメータ セットを持ち、検証できる特殊なプロパティとして機能します(たとえば、エクスプレッション定義は Definition パラメータに含まれます)。
SDK から見れば、Expression または Expression オブジェクトは、一種の矮小 Operator または Operator オブジェクトです。Operator.InputPorts または Operator::GetInputPorts プロパティを使用すると、操作されるパラメータに影響を与えるパラメータ セットにアクセスできますが、ポート グループは完全にはサポートされていません。
エクスプレッションによって操作されるパラメータには、Expression または Expression オブジェクトの下にネストされる 4 つの追加パラメータが存在します。このパラメータにアクセスするには、Expression の ParameterCollection または ParameterCollection を繰り返します。これらのパラメータには次の情報が含まれています。
パラメータを制御しているエクスプレッションの種類によっては、他のパラメータが表示されることもあります。 エクスプレッションで、リンクされたパラメータが定義されている場合は、Parameter.Source または Parameter::GetSource プロパティを介して FCurve または FCurve にアクセスできます。パラメータが多重リンクされている場合は、代わりに Interpolation の Property または Property を使用できます。詳細については、「エクスプレッション リファレンス」を参照してください。