XSIFactory.CreateParamDef2

導入

v4.0

詳細

新しいカスタムパラメータ定義を作成します(ParamDefオブジェクト)。

ParamDef オブジェクトには、複数のプロパティセットまたはオペレータの新規パラメータを 1度の操作で作成できるパラメータの定義があります。たとえば、同じ最小値/最大値の範囲を複製して複数のプロパティセットで使用する場合や、スクリプトを使用してランタイムスクリプトオペレータにパラメータをすばやく追加する場合などに有効です。XSIFactoryオブジェクトから新しいParamDef オブジェクトを作成できます。

注:特性、分類、提示される最小値および最大値を指定する必要がある場合は、代わりにXSIFactory.CreateParamDefを使用します。

スクリプト 構文

oReturn = XSIFactory.CreateParamDef2( ScriptName, Type, [DefaultValue], [Min], [Max] );

戻り値

新しく作成されたParamDefオブジェクト

パラメータ

パラメータ タイプ 詳細
ScriptName String この引数はパラメータの ScriptName を指定します(Parameter.ScriptNameを参照)。引数のショート名またはロング名が指定されていない場合は、この名前がショート名および説明として使用されます。
siVariantType カスタムパラメータのタイプ。推奨タイプは siString、siBool、siInt4、siUByte、および SiDouble です。使用可能なタイプは、siString、siBool、siDouble、siFloat、siInt4、siInt2、siUInt4、siUInt2、siByte、siUByte です(Parameter.ValueTypeを参照)。
DefaultValue Variant カスタムパラメータのデフォルト値。ブール値および数値の場合のデフォルト値は 0で、文字列のデフォルト値は""です(Parameter.Defaultを参照)。
最小 Variant カスタムパラメータの最小値。siString タイプと siBool タイプでは Min値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、すべての未署名値には min=0が設定されます(Parameter.Minを参照)。
最大 Variant カスタムパラメータの最大値。siString タイプと siBool タイプでは Max値は不要です。その他の数値タイプでは、デフォルト値をそのタイプの最小値にすることができます。たとえば、siUByte の最大値は 255です(Parameter.Maxを参照)。

JScript の例

// This example illustrates how to add parameters to a custom operator
NewScene( null, false )
var null1 = GetPrim("null");
// Create the operator
var sop = XSIFactory.CreateScriptedOp( "MySOP", MySOP_Update.toString(), "JScript" );
// Add the ports
sop.AddOutputPort( null1.posx );
// Add the parameters
var param1 = sop.AddParameter( XSIFactory.CreateParamDef2("text", siString, "hello") );
var param2 = sop.AddParameter( XSIFactory.CreateParamDef2("bool", siBool, true) );
var param3 = sop.AddParameter( XSIFactory.CreateParamDef2("int", siInt4, 10, 0, 100) );
var param4 = sop.AddParameter( XSIFactory.CreateParamDef2("dbl", siDouble, 0.5, 0.0, 1.0) );
// List operator's parameters
var eParams = new Enumerator( sop.parameters );
for ( ; !eParams.atEnd(); eParams.moveNext() )
{
        var param = eParams.item();
         Application.LogMessage( param.Name + " = " + param.Value );
}
// Connect the operator
sop.Connect();
// Operator's update function
function MySOP_Update( ctx, out )
{
        out.Value = ctx.CurrentFrame;
}

関連項目

CustomOperator.AddParameter, ParamDef