SetExpr

詳細

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 エクスプレッション オブジェクトのリストを戻します。

VBScript の例

'

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

関連項目

Parameter.AddExpression EditExpr RemoveAnimation RemoveAllAnimation AddExpr