アクションのインタフェースは、すべての パーティクル フロー アクション クラスで公開されます。
メソッド:
<boolean>init <IObject>container <object>particleSystem <node>particleSystemNode <&object array>actions <&node array>actionNodes
actions is In and Out parameter
actionNodes is In and Out parameter
アクションを初期化します。
Script_Operator オペレータの on Init... ハンドラの内部からアクションの Init メソッドを呼び出せます。
例については、「[スクリプト オペレータ](Script Operator)サンプル内の Speed オペレータ」を参照してください。
<boolean>release <IObject>container
特定のパーティクル コンテナを解放します。
Script_Operator オペレータの on Release... ハンドラの内部からアクションの Release メソッドを呼び出せます。
例については、「[スクリプト オペレータ](Script Operator)サンプル内の Speed オペレータ」を参照してください。
<interval by value>activityInterval ()
アクティビティの間隔を返します。
<boolean>isFertile()
子を作成(パーティクルを生成)できるアクションの場合、True を返します。
<boolean>isNonExecutable()
アクションが実行可能でない場合、True を返します。
<boolean>supportRand()
アクションがランダム化をサポートしている場合、True を返します。
<integer>getRand()
現在のランダム シード値を返します。
<void>setRand <integer>randomSeed
指定された 整数値をランダム シードに設定します。
<integer>newRand()
新しいランダム シードを生成し、その値を返します。
<boolean>isMaterialHolder()
アクションがマテリアル ホルダである場合、True を返します。
<material>getMaterial()
アクションがマテリアル ホルダである場合、マテリアルを返します。
このメソッドは、.isMaterialHolder()
によって False の返されるアクションではサポートされません。
<boolean>setMaterial <material>material
マテリアルを設定し、成功したら True を返します。
このメソッドは、.isMaterialHolder()
によって False の返されるアクションではサポートされません。
<boolean>supportScriptWiring()
アクションがスクリプト ワイヤリングをサポートしている場合、True を返します
<void>setUseScriptWiring <boolean>useState
アクションの右クリック メニューにエクスポーズされた[スクリプト ワイヤを使用](Use Script Wiring)オプションを設定します。
.supportScriptWiring()
が True を返す場合に限り使用可能です。
True に設定すると、追加のコントロールがアクションのユーザー インタフェースに表示され、スクリプトのパーティクル チャネル データを使用して特定のオペレーションをコントロールするように MAXScript によって設定することができます。
False に設定すると、追加のコントロールは非表示になり、スクリプト チャネルは使用されません。
<void>makeUnique()
インスタンス化したアクションをそのイベントで固有のコピーに変換します。
例と結果
--Create a Find_Target action ft = find_target() --> $Find_Target:Find Target 01 @ [0.000000,0.000000,0.000000] --Create a Birth_Script action bs = birth_script() --> $Birth_Script:Birth Script 01 @ [0.000000,0.000000,0.000000] --Create a Material_Dynamic action md = material_dynamic() --> $Material_Dynamic:Material Dynamic 01 @ [0.000000,0.000000,0.000000] --Create a Force action fc = force() --> $Force:Force 01 @ [0.000000,0.000000,0.000000] --Does it create particle? --No, Find_Target doesn’t ft.isFertile() --> false bs.isFertile() --> true --Are they non-executable? ft.isNonExecutable() --> false bs.isNonExecutable() --> false --Do they support randomization? ft.supportRand() --> true --Does this Action support Randomization? Yes! bs.supportRand() --> true --Get the current random seed of the Find_Target ft.getRand() --> 12345 --Set a new random seed ft.setRand 23456 --> OK --Get the new random seed ft.getRand() --> 23456 --Generate new random seed ft.newRand() --> 30642 --Get the new random seed ft.getRand() --> 30642 --Check if the action is a material holder - This one isn’t... ft.isMaterialHolder() --> false --...But this one is md.isMaterialHolder() --> true --This one doesn’t have a material assigned yet &endash; -- nothing to get yet. md.getMaterial() --> undefined --Assign a new material md.setMaterial (standard name:"PF") --> true --Now try to get the material again - It is there now! md.getMaterial() --> PF:Standard --Does Find_Target support Wiring? --No, it doesn’t. ft.supportScriptWiring() --> false --Does Force support Wiring? --Yes, it does! fc.supportScriptWiring() --> true
このインタフェースは下記で使用できます。