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" |