エクスプレッションを作成する

 
 
 

エクスプレッションは、スクリプト コマンド(Parameter.AddExpression メソッドまたは Parameter::AddExpression メソッド)を使用して作成できます。エクスプレッション関数を使用することで、SetExpr コマンドは、指定したパラメータ値の代わりに Expression または Expression オブジェクトを使用します(使用可能なエクスプレッション関数の詳細については、エクスプレッション リファレンスを参照)。

ヒント:

AddExpr コマンドは、基本的に SetExpr コマンドと同じ処理を実行しますが、新しいエクスプレッションを Expression Editor にも表示します。

Python の例: SetExpr コマンドを使ってのエクスプレッションの設定

以下は、上の例を Python で記述したものです。

from win32com.client import constants as c
n = Application.ActiveSceneRoot.AddNull( "Null4Expr" )
params = n.posx.FullName+","+n.posy.FullName+","+n.posz.FullName
Application.SetExpr( params, "RAND(17,2,7)" )
注:

この例のスレッドは、次に siSourceType enum が使用された、「Python の例: GetSource コマンドを使用する」内のエクスプレッションにアクセスします(定数モジュールがインポートされたのはこのため)。

JScript の例: Parameter.AddExpression メソッドを使ってのエクスプレッションの設定

以下のようにランダムなエクスプレッションを適用すると、優れたエフェクトを作成できます。

var n = Application.ActiveSceneRoot.AddNull( "Null4Expr" );
n.posx.AddExpression( "RAND(17,2,7)" );
n.posy.AddExpression( "RAND(17,2,7)" );
n.posz.AddExpression( "RAND(17,2,7)" );
注:

この例のスレッドは、次に「JScript の例: Source プロパティを使用する」内のエクスプレッションにアクセスします。

C++ API の例: Parameter::AddExpression メンバ関数を使ってのエクスプレッションの設定

以下のコードの断片は、前述の JScript の例と同等の C++ API です。

// Setup
Application app = Application();
Model root = app.GetActiveSceneRoot();
Null n; root.AddNull( L"Null4Expr", n );

// Get Parameters for names
Parameter posx = n.GetParameter(L"posx");
Parameter posy = n.GetParameter(L"posy");
Parameter posz = n.GetParameter(L"posz");

// Set the expression
posx.AddExpression( L"RAND(17,2,7)" );
posy.AddExpression( L"RAND(17,2,7)" );
posz.AddExpression( L"RAND(17,2,7)" );
注:

この例のスレッドは、次に「C++ の例: GetSource メンバを使用する」内のエクスプレッションにアクセスします。