v4.0
ランタイムカスタムオペレータの実装で使用されるスクリプトコードを String として設定したり、戻したりします。
注:このプロパティは、ランタイムカスタムオペレータ(カスタムオペレータがシーンに含まれていてファイルに保存されていない場合)またはランタイム以外SPDL ベースのスクリプトオペレータのいずれかで使用できます。ただし、コンパイルされているカスタムオペレータでこのプロパティを使用すると、空の文字列が戻されます。このプロパティは、自己インストールカスタムオペレータでは特に意味を持ちません。
注:このプロパティはカスタムオペレータのアップデート関数から読み取れますが、プロパティの設定はできません。
// get accessor String rtn = CustomOperator.Code; // set accessor CustomOperator.Code = String; |
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; } |