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