エクスプレッション

 
 
 

一般的な意味でエクスプレッションとは、数字、変数、オペレータ、関数、および他のエクスプレッションを組み合わせた数式であり、等号(=)を含みません。そして、数値やブール値、F カーブ、またはグラフを評価します。

Softimage のエクスプレッションは DataSource の一種で、Parameter または Parameter に適用してその値を操作する(アニメートする)ことができます。 その核となるものが、文字列に格納された数式(一般的な意味の式)が含まれるエクスプレッション定義です。エクスプレッション定義は、関数、オペレータ、変数、および定数を組み合わせて構築します。これらは、「エクスプレッション リファレンス」から使用できます。 たとえば、オブジェクト A の Y 回転をオブジェクト B の X 軸に沿った移動にリンクさせるには、次のエクスプレッション定義を使用してA.kine.local.rotyパラメータにエクスプレッションを設定します。

"l_fcv(B.kine.local.posx)"

ヒント:

エクスプレッション定義の一環として使用可能な関数とトークンの全リストについては、「エクスプレッション リファレンス」を参照してください。

UI 上のアニメーションのエクスプレッションは、その所有者のパラメータ ノードの下にネストされた特別なエクスプレッション オペレータとして Explorer に表示されます。 このオペレータは、エクスプレッションの関連データを格納するパラメータ セットを持ち、検証できる特殊なプロパティとして機能します(たとえば、エクスプレッション定義は Definition パラメータに含まれます)。

注:

UI を介し、エクスプレッションを使用してアニメートを行う詳細については、『Softimage ユーザ ガイド』を参照してください。

SDK の観点からは、Expression または Expression オブジェクトは一種の発展の止まった Operator または Operator オブジェクトです。 操作されるパラメータに影響を与える一連のパラメータには Operator.InputPorts または Operator::GetInputPorts プロパティを使用してアクセスすることができますが、ポート グループは完全にはサポートされていません。

注:

複数のアニメーション ソースを同じパラメータ上で直接使用することはできません(たとえば、キーフレームおよびエクスプレッション)。アニメーション ソースを組み合わせるには、アニメーション ミキサで使用できるようにアクションを保存する必要があります。

エクスプレッション プロパティの特別なパラメータ

エクスプレッションによって操作されるパラメータには、Expression または Expression オブジェクトの下にさらに 4 つのネストされたパラメータがあります。これらには、エクスプレッションの ParameterCollection または ParameterCollection を繰り返すことでアクセスすることができます。 これらのパラメータには次の情報が含まれています。

パラメータ

説明

アクティブ

デフォルトは True です。このパラメータを False に設定すると、リンクはオフになります。

ターゲット

ターゲット パラメータ(エクスプレッションを所有するパラメータ)の名前を戻します。 読み取り専用です。

定義

エクスプレッションの本体部分です。リンクを変更したり、リンクを完全に削除する場合は、この文字列定義を変更できます。

コメント

既定では何も指定されません。

注:

パラメータを制御しているエクスプレッションの種類によっては、他のパラメータが表示されることもあります。 エクスプレッションがリンク パラメータを定義している場合は、FCurve または FCurveParameter.Source または Parameter::GetSource プロパティを介してアクセスできます。 マルチリンク パラメータの場合、補間 Property または Property を代わりに使用できます。 詳細については、「エクスプレッション リファレンス」から使用できます。