グループ機能【TRP_ParticleMZ】
TRP_ParticleMZでは新たにグループ機能が追加されました。
グループ機能は「複数のプラグインコマンドを1まとまりに実行」することができ
・複数のパーティクルを合わせた演出
・時間差のある演出
・update/animateコマンドのパラメータ調整
を画面上で確認しながら設定するのに便利です。
なお、グループの編集は中上級者向けとなっており、MV形式のプラグインコマンド入力が必須となるため、MV形式コマンドでのパーティクル操作に慣れてから試してみることをおすすめします。
導入方法
「TRP_ParticleMZ_Group.js」「TRP_ParticleMZ_GroupEditor.js」プラグインを対象プロジェクトに導入してください。(TRP_ParticleMZ.js、TRP_ParticleMZ_Editorよりも下に配置)
グループの編集開始
プラグインコマンドより「TRP_ParticleMZ_Group.js」→「set」コマンドを選択します。
通常のパーティクル設定のset/playコマンドと同じ要領で「管理ID」「対象」「設定名」を設定します。
(※MV形式では「particle group set 管理ID 対象 設定名」)
- 管理ID:他と被らないもの。グループ用の管理IDなので、通常のパーティクル設定の管理IDとは被ってもOK
- 対象:パーティクルのset/playコマンドで指定するものと同じ。
- 設定名:グループの設定名。省略、またはdefとすると管理IDと同じ。
また、EditモードパラメータをON/trueにするとテストプレイ時に、編集画面が表示されます。
今回は試しにプリセット「闇」マップ中のモンスター登場演出をグループ機能で再現してみます。
グループのsetコマンドで以下のパラメータで実行してみましょう。
管理ID:monster(任意)
対象:this
_Editモード:true
(※MV形式では「particle group edit monster this」)
グループの編集画面
グループの編集画面の基本操作は、通常のパーティクル設定の編集画面と同様で、
マウス・キーボードを使い各行のパラメータを設定していきます。
一番上の「repeat」パラメータはグループの繰り返し再生に関するパラメータです。
0以上とするとコマンドを全て実行し終わってから指定フレーム待機した後に繰り返します。
デフォルトの-1では繰り返さずに一回だけ再生されます。ただし、編集中は-1としても即座に繰り返されてしまうので、60など適当な値を入れて編集用に再生間隔を調整しておくと良いでしょう。
次に、下の「command1」パラメータにはじめに実行するプラグインコマンドを入力していきます。
まずは設定名「monster_cp」のパーティクル設定を再生します。
「play monster_cp target
」とコマンドを入力してEnterキーを押すと反映されます。
「target」対象について
注意点として、play/setコマンドでパーティクル設定を再生する際には対象としてグループ内専用の「target」の使用を推奨します。
targetとすることで、グループ呼び出し時コマンドで対象パラメータを「player」とすると内部で再生されるエミッターの対象をプレイヤーに、「event:1」とするとイベントID1のイベントに…といった具合にグループ呼び出し時に柔軟に変更させることができます。
コマンド行の追加
続けて30フレームだけウェイトを挟んでから、設定名「monster_cp2」を再生させていきます。
まずは、新しいコマンド行を追加してみましょう。Altキー(Macの場合はOptキー)を押しながら↓を押すことで新しいコマンド行を下に追加することができます。(↑キーで上に追加)
waitコマンド
ウェイトを挟むのに、グループ中でのみ使用可能な「wait」コマンドを使用します。
ここでは「wait 30
」を入力し、30フレームだけ待機させます。
再度「alt(opt)+↓」を押してコマンド行を追加し、今度は「play particle target
」としてEnterキーを押してみましょう。
そのまま管理IDにmonster_cp2を入力しても良いのですが、グループエディタには設定名の読み込み機能が備わってるのでそれを使って設定名を変更してみます。
「shift+ctrl(opt)+Pキー」を押すとプリセットの一覧が表示されます。(Pの代わりにLキーで自分で登録した設定名の一覧を呼び出し)
ここでは一覧から「monster_cp2」を選択。
escキーで設定名ピッカーを終了すると、「play particle target
」としていたコマンドが「play monster_cp2 target
」と置き換わっており、設定名(ここでは管理ID)が自動で変更されています。
このように、グループエディタでは実際の演出を見ながら設定名や各種パラメータの変更が可能です。
イベントコマンドでは調整しずらいanimateコマンドなどで動きをつけても面白い演出が出来上がるかも。
パーティクル設定の編集
グループエディタでは、内部で再生するパーティクル設定の編集もそのまま行うことができます。
編集したいplay/setコマンドの行にカーソルを合わせて「alt(opt)+Eキー」を押すとエディタを呼び出せます。
設定の編集が終わったら、必要に応じて保存してエディタを終わらせると再びグループの編集画面に戻ってきます。
グループの編集が全て終わったらctrl(Macはcmd)+Sキーでグループ設定の保存を忘れず行いましょう。
補足)グループ内で呼び出す管理IDについて
同じグループ設定を複数同時に呼び出すために、グループ内で再生しているパーティクル設定の管理IDは独自の接尾辞が付記されます。
例えば「particle play particle target
」のように管理ID「particle」をグループID「group1」内で呼び出すと、実際には「particle/GROUP:group1」の管理IDでパーティクルが再生されます。
もしグループ内で再生しているパーティクル設定をグループ外から操作したい場合にはこの点に注意してください。
また、グループはあくまでコマンドを実行しているだけで、たとえばgroup clearコマンドで再生しているグループ設定を消去しても、グループ内部で再生しているパーティクル設定は停止しないので注意しましょう。
グループ内で再生したパーティクル設定を外部からまとめて消去(clear)したい場合には、グループ内で自動的に付与されるタグを使うと便利です。
例えばグループの管理ID「test」内で再生されるパーティクル設定にはタグ「group:test」がつき、「particle clear tag:group:test
」のようにタグを指定してまとめて消去することが可能です。