式 コントローラ

> MAXWrapper > コントローラ > 式 コントローラ

 

   

アニメーション コントローラ - クイック ナビゲーション

3ds Max 8 以降式コントローラは、以下に説明されている IExprCtrl インタフェースを介して MAXScript に完全に公開されています。

3ds Max 8 より前のバージョンでは、式コントローラでアクセスできるプロパティまたはメソッドはありませんでした。

使用できる式コントローラは次のとおりです。

Float_Expression : FloatController

Point3_Expression : Point3Controller

Position_Expression : PositionController

Scale_Expression : ScaleController

   

プロパティ:

<expression_controller>.ThrowOnError Bool default:true 	 

式でエラーが発生したときに放棄するかどうかをコントロールします。

インタフェース:

3ds Max 8 以降、すべての式コントローラによって IExprCtrl インタフェースが公開されます。このインタフェースでは、MAXScript でコントローラにアクセスするためのすべてのメソッドが提供されます。

IExprCtrl - Expression Controller Interface

メソッド:

<boolean>SetExpression <&TSTR>Expression   

Expression is In parameter 

参照によって渡される文字列に式文字列を設定します。成功した場合は true を返し、成功しなかった場合は false を返します。

   

<TSTR by value>GetExpression () 

式文字列を返します。

   

<integer>NumScalars () 

コントローラで定義されているスカラーの数を返します。

   

<integer>NumVectors () 

コントローラで定義されているベクトルの数を返します。

   

<boolean>AddScalarTarget <&TSTR>Name <value>Target Offset:<time> Owner:<maxObject> 
Name is In parameter 
Offset default value: 0f 
Owner default value: undefined 

スカラー ターゲットを追加します。最初の引数はスカラーの名前です。2 番目の引数は、スカラーに接続するターゲットです。

   

<boolean>AddVectorTarget <&TSTR>Name <value>Target Offset:<time> Owner:<maxObject> 

Name is In parameter 
Offset default value: 0f 
Owner default value: undefined 

ベクトル ターゲットを追加します。最初の引数はベクトルの名前です。2 番目の引数は、ベクトルに接続するターゲットです。

   

<boolean>AddVectorNode <&TSTR>Name <node>Node Offset:<time> 

Name is In parameter 
Offset default value: 0f 

ベクトル ノードを追加します。最初の引数はベクトルの名前です。2 番目の引数は、ベクトルに接続するノードです。

   

<boolean>AddScalarConstant <&TSTR>Name <float>Constant 

Name is In parameter 

スカラー定数を追加します。最初の引数はベクトルの名前です。2 番目の引数は、スカラーに割り当てる定数値です。

   

<boolean>AddVectorConstant <&TSTR>Name <point3>Constant 

Name is In parameter 

ベクトル定数を追加します。最初の引数はベクトルの名前です。2 番目の引数は、ベクトルに割り当てる定数値です。

   

<boolean>SetScalarTarget <value>Which <value>Target:<maxObject> 

Owner default value: undefined 

特定スカラー変数のターゲットを設定します。成功した場合は true を返し、成功しなかった場合は false を返します。ターゲットが複数のオブジェクトでインスタンス化されている場合は、オプションの Owner パラメータを指定してターゲット トラックの所有者を指定できます。

   

<boolean>SetVectorTarget <value>Which <value>Target Owner:<maxObject> 

Owner default value: undefined 

特定ベクトル変数のターゲットを設定します。成功した場合は true を返し、成功しなかった場合は false を返します。ターゲットが複数のオブジェクトでインスタンス化されている場合は、オプションの Owner パラメータを指定してターゲット トラックの所有者を指定できます。

   

<boolean>SetVectorNode <value>Which <node>Node 

特定ベクトル変数のノードを設定します。成功した場合は true を返し、成功しなかった場合は false を返します。

   

<boolean>SetScalarConstant <value>Which <float>Constant 

指定した定数値に特定スカラー変数の値を設定します。成功した場合は true を返し、成功しなかった場合は false を返します。

   

<boolean>SetVectorConstant <value>Which <point3>Constant 

指定した定数値に特定ベクトル変数の値を設定します。成功した場合は true を返し、成功しなかった場合は false を返します。

   

<boolean>DeleteVariable <&TSTR>Name 

Name is In parameter 

指定された名前を持つ変数を削除します。指定された名前を持つ変数を削除します。

   

<TSTR by value>GetDescription () 

コントローラの説明文字列を返します。

   

<boolean>SetDescription <&TSTR>Description 

Description is In parameter 

指定した参照文字列引数にコントローラの説明文字列を設定します。

   

<time>GetOffset <&TSTR>Name 

Name is In parameter 

特定変数のオフセットを返します。

   

<boolean>SetOffset <&TSTR>Name <time>Offset 

Name is In parameter 

指定した時間値に特定変数のオフセットを設定します。

   

<void>Update () 

コントローラを更新します。

   

<boolean>VariableExists <&TSTR>Name 

Name is In parameter 

指定した変数が存在する場合は true、存在しない場合は false を返します。

   

<float>GetScalarConstant <value>Which 

特定スカラー定数の値を返します。

   

<value>GetScalarTarget <value>Which asController:<boolean> 

asController default value: false 

特定スカラー変数のターゲットを返します。オプションの asController パラメータを true に設定すると、結果はコントローラ値になります。

   

<point3 by value>GetVectorConstant <value>Which 

特定ベクトル定数の値を返します

   

<value>GetVectorTarget <value>Which asController:<boolean> 

asController default value: false 

特定ベクトル変数のターゲットを返します。オプションの asController パラメータを true に設定すると、結果はコントローラ値になります。

   

<node>GetVectorNode <value>Which 

特定ベクトル変数のノードを返します。

   

<float>GetScalarValue <value>Which 

特定スカラー変数の値を返します。

   

<point3 by value>GetVectorValue <value>Which 

特定ベクトル変数の値を返します。

   

<fpvalue>GetValue <&TSTR>Name 

Name is In parameter 

指定した変数の値を返します。

   

<enum>GetScalarType <value>Which 

GetScalarType enums: {#unknown | #scalarTarget | #scalarConstant | #vectorTarget | #vectorConstant | #vectorNode} 

特定スカラー変数のタイプを返します。

   

<enum>GetVectorType <value>Which 

GetVectorType enums: {#unknown | #scalarTarget | #scalarConstant | #vectorTarget | #vectorConstant | #vectorNode} 

特定ベクトル変数のタイプを返します。

   

<enum>GetValueType <&TSTR>Name 

GetValueType enums: {#unknown | #scalarTarget | #scalarConstant | #vectorTarget | #vectorConstant | #vectorNode} 

name は In パラメータです。

特定変数の値のタイプを返します。

   

<TSTR by value>GetScalarName <index>Index 

そのインデックスが付いたスカラー変数の名前を返します。

   

<TSTR by value>GetVectorName <index>Index 

そのインデックスが付いたベクトル変数の名前を返します。

   

<index>GetScalarIndex <&TSTR>Name 

Name is In parameter 

指定したスカラー変数のインデックスを返します。

   

<index>GetVectorIndex <&TSTR>Name 

Name is In parameter 

指定したベクトル変数のインデックスを返します。

   

<TSTR by value>PrintDetails () 

説明文字列、式コード、スカラーとベクトルの詳細など、式コントローラの情報を出力します。

注:
  • 変数の既存の値を変更するには、 AddScalarTarget()、 AddVectorTarget()、 AddVectorNode()、 AddScalarConstant()、 または AddVectorConstant() の適切なメソッドを使用することもできます。これらのメソッドを使用すると、オフセット値を設定することもできます。
  • 変数のタイプ (スカラーかベクトル) を変更することはできません。変数を削除して新しいタイプで追加する必要があります。
  • AddScalarTarget()、 AddVectorTarget() 、および AddVectorNode() の「r ;<value> Target」引数は、コントローラか subAnim 値のどちらかにすることができます。コントローラにすると、メソッドは、Owner 値を指定した場合はその下でコントローラを検索し、Owner 値を指定しない場合は最初に見付かった所有者を使用します。
  • 引数「r: <value>Which」を取るメソッドの場合、Which の値は整数インデックスまたは文字列名にすることができます。
  • 式コントローラ変数の名前では、大文字と小文字が区別されます
  • すべての関数公開システムの操作では取り消しとやり直しがサポートされます。
  • 式コントローラの式は、 SetExpression() および Update() の呼び出しのみによって評価されます。
注:

[MAXScript デバッガ](MAXScript Debugger)ウィンドウ、関数公開システムで変数値を取得すること、式コントローラを評価することには一貫性がありません

  • [デバッガ](Debugger)ダイアログ ボックスで作業する場合、変数値は現在のスライダの時間に基づいて表示されます。
  • 関数公開システムでアクセスする場合、返される変数値は現在の MXS 時間に基づきます。
  • コントローラを評価する場合、結果は現在の時間値に基づきますが、コントローラの範囲、コントローラ用に設定された範囲外のタイプ、コントローラに適用されているイーズ カーブにも基づきます。

つまり、「NT」では[デバッガ](Debugger)ダイアログ ボックスに 1 つの値が表示されますが、評価におけるその値は異なることがあります。

関連事項