エクスプレッション

 
 
 

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

Softimage のエクスプレッションは、Parameter または Parameter に適用することでその値を制御(アニメート)できるタイプの DataSource です。その核となるものが、文字列に格納された数式(一般的な意味の式)が含まれるエクスプレッション定義です。エクスプレッション定義は、関数、オペレータ、変数、および定数を組み合わせて構築します。これらは、エクスプレッション リファレンスから使用できます。たとえば、オブジェクト 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 プロパティを使用すると、操作されるパラメータに影響を与えるパラメータ セットにアクセスできますが、ポート グループは完全にはサポートされていません。

注:

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

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

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

パラメータ

説明

アクティブ

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

ターゲット

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

定義

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

コメント

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

注:

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