CustomOperator.Code operator

導入

v4.0

詳細

ランタイムカスタムオペレータの実装で使用されるスクリプトコードをStringとして設定したり、戻したりします。

注:このプロパティは、ランタイムカスタムオペレータ(カスタムオペレータがシーンに含まれていてファイルに保存されていない場合)またはランタイム以外SPDL ベースのスクリプトオペレータのいずれかで使用できます。ただし、コンパイルされているカスタムオペレータでこのプロパティを使用すると、空の文字列が戻されます。このプロパティは、自己インストールカスタムオペレータでは特に意味を持ちません。

注:このプロパティはカスタムオペレータのアップデート関数から読み取れますが、プロパティの設定はできません。

JScript の例

NewScene( null, false );
var null1 = GetPrim("null");
var sop = null1.posx.AddScriptedOp( MyExpr_Update.toString(), null1.posy, "MyExpr", "JScript" );
// Log the evaluated of posx
val = GetValue(null1.posx,1);
Application.LogMessage( "first evaluated value " +  val );
var code = sop.code;
// Change the code
var re = /ctx.CurrentFrame/g;
sop.Code = code.replace( re, "2" );
// Change the input value
SetValue( null1.posy, 100 );
// Log the new evaluated of posx
val = GetValue( "null.kine.local.posx" );
Application.LogMessage( "new evaluated value " +  val );
function MyExpr_Update(ctx,out,in1)
{
        Application.LogMessage( "MyExpr_Update: " + out.name );
        out.Value = ctx.CurrentFrame;
}

関連項目

CustomOperator.FileName