衝突イベント発生時にイベント プロシージャを実行させるには、そのプロシージャを含む MEL スクリプトを次の書式と引数リストにする必要があります。
global proc (string
, int
, string
) {
Type MEL statements here;
}
この場合:
- myEventProc は、MEL プロシージャとスクリプトの名前です。
- $particleObject は、ジオメトリと衝突するパーティクル オブジェクトの名前です。
- $particleId は、衝突するパーティクルのパーティクル IDです。
- $geometryObject は、ジオメトリの名前です。
イベント プロシージャを作成する場合は、次の点に注意してください。
- プロシージャの引数の内容を使用する必要はありませんが、引数はプロシージャ定義に存在していなければなりません。
- MEL ファイルにプロシージャと同じ名前を付けて、スクリプトをソースとして指定した時にプロシージャがメモリにロードされるようにします。
- Maya を起動したときに必ずスクリプトとそのプロシージャがソースになるようにするには、MEL スクリプトを Maya プロジェクトの scripts フォルダ内に置きます。たとえば、maya¥2014¥scripts¥ となります。
スクリプト プロシージャをパーティクルの衝突イベントに追加するには
- を選択してを開きます。
- で、を選択して、プロシージャを含んだスクリプトをソースとして指定します。
注:
プロシージャを使ってオブジェクトを作成した場合、シミュレーションを巻き戻してもそのオブジェクトは除去されません。プロシージャを含むスクリプトを読み込まなくても、プロシージャをメモリに読み込み使用することができます。スクリプトおよびプロシージャの詳細については、「MEL とエクスプレッション」を参照してください。
- パーティクルのタイプに応じて、次のいずれかを実行します。
が表示されます。
- で、次の操作を行います。
- ボタンをクリックします。
- (任意)衝突後にソース パーティクル オブジェクトを消滅させたい場合は、をオンにします。
- フィールドに、イベント プロシージャの名前を入力します。