式 コントローラ
         
         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 () 
 
         式文字列を返します。 
         
             
         
         
         コントローラで定義されているスカラーの数を返します。 
         
             
         
         
         コントローラで定義されているベクトルの数を返します。 
         
             
         
         <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 
 
         指定した時間値に特定変数のオフセットを設定します。 
         
             
         
         
         コントローラを更新します。 
         
             
         
         <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 つの値が表示されますが、評価におけるその値は異なることがあります。