Expression Editor を開かずに、パラメータのエクスプレッションを追加したり変更したりします。 実行中に Expression Editor を開きたい場合は、代わりに AddExpr コマンドを使用します。
エクスプレッションは、オブジェクト、パラメータ名、算術演算子、および関数や定数を表すトークンを含む文字列です。 たとえば、オブジェクト A の Y 軸回転をオブジェクト B の X 軸方向の移動に拘束するには、文字列 B.kine.local.posx を含むエクスプレッションを A.kine.local.roty に設定します。
エクスプレッションは、移動、回転、スケーリング、マテリアル、テクスチャなどアニメーション化が可能な任意のパラメータを制御するために使用する、算術式です。 パラメータ間には、単純な "A = B" のような関係から、定義済みの変数、標準数学関数、乱数ジェネレータなどを使用した非常に複雑な関係まで、必要に応じたほぼすべての関係を作成することができます。
エクスプレッションの詳細については、「アニメーション」を参照してください。
注: このコマンドは、出力引数を使用します。C# および一部のスクリプト言語(JScript、PerlScript、Python など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。
スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。
C# の場合は、XSIApplication.ExecuteCommand メソッドを使用してこのコマンドを呼び出すことができます。ExecuteCommand は、出力引数を C# の System.Object (出力引数の Array を含む)にパック化します(詳細については、「C# からのコマンドの呼び出し」を参照)。
SetExpr( [InputObj], [ExprStr], [ExprObj] ); |
| パラメータ | タイプ | 説明 |
|---|---|---|
| InputObj | 文字列 |
パラメータのリスト (例: cone*/kine.local.pos)。 デフォルト値:現在選択され、マーキングされているパラメータ |
| ExprStr | 文字列 |
エクスプレッション デフォルト値:現在のパラメータ値 (例: a.kine.global.posx = 3.5) |
| ExprObj | XSICollection | エクスプレッション オブジェクトのリストを戻します。 |
'
' This example sets an expression on a parameter using the SetExpr
' command and then uses the EditExpr command to open the Expression
' Editor to inspect the new expression.
'
' Create the object on which to set the expression
set oDonut = CreatePrim( "Torus", "NurbsSurface" )
' Make sure the last frame will be set to 100
SetValue "PlayControl.Out", 100
' Set a key frame at frame 1, with XPos = -30
SaveKey oDonut & ".kine.local.posx", 1, -30
' Set another key frame at frame 100, with XPos = 30
SaveKey oDonut & ".kine.local.posx", 100, 30
' Animate the YPos parameter with an expression
SetExpr oDonut & ".kine.local.posy", _
"5*sin(" & oDonut & ".kine.local.posx * 15)"
' Now display the Expression Editor to see the results
EditExpr oDonut & ".kine.local.posy" |