導入とパーティクル表示【TRP_ParticleMZ】
TRP_ParticleMZはRPGツクールMZ向けのパーティクルを再生・編集するプラグインです。
このプラグインはRPGツクールMV向けのTRP_ParticleをベースとしてMZ用のプラグインコマンドへの対応の他、グループエディタやサブエミッターといった新規機能が追加されています。
ここではプラグインの導入から使い始め方までを順を追って説明していきます。
少し長くなりますが、スクリーンショットも多めに用意してますのでパラメータの打ち間違いなどがないように確認しながら進めてみてください!
プラグインの導入
通常のプラグインと同様に、RPGツクールMZにプラグインを導入しましょう。
解凍したフォルダの中のmaterials→pluginsフォルダ内のファイル全てをプロジェクトフォルダ内のjs→pluginsフォルダ内にコピペします。
ツクールMZを立ち上げてプラグイン管理から以下の画像のようにプラグインを順に登録すればOKです。少し多いですが1つずつインポートしていきましょう(順番によってはエラーが出るので注意!)
画像ファイルのインポート
パーティクルとして表示する画像をプロジェクトにインポートします。
materialsフォルダ内のparticlesフォルダをコピーし、プロジェクトフォルダのimgフォルダ内にペーストしてください。
(※この他に、自分で作成したパーティクル設定データTrpParticles.jsonはdataExフォルダに保存されますが、このフォルダはテストプレイ時に自動で生成されます)
これでプラグインの準備は整いました。
さっそくパーティクルを表示してみましょう!
1番簡単なエミッター再生方法
パーティクルを表示させるには、パーティクル(粒)を生み出すエミッター(射出器)を生成する必要があります。
エミッターはプリセットデータや自分で編集したパーティクル設定のルールにしたがってパーティクルを射出します。
エミッターを生成する方法はいくつかありますが、ここでは簡単な方法でプリセットのパーティクル設定を再生してみます。
プリセットのリストから選択して再生
プラグインコマンドから「TRP_ParticleMZ_Preset」を選び、コマンドから好みのカテゴリを選びます。
「set/表示のカテゴリ」と「play/1回再生」のカテゴリに分かれますが、setは永続的に再生される設定であり、playは寿命があり1度だけ再生されるアニメーションのような設定のための再生コマンドです。
ここでは実行しているイベントからパーティクルを発生させるので、キャラクターを対象とした「set/表示 > キャラ対象」カテゴリを選んでみましょう。
次に、「《データ名》:《呼び出す設定を選択》」のパラメータをダブルクリックするとプルダウンでプリセットの該当カテゴリの設定一覧がプルダウンで表示されるので適当に選んでみましょう。
ここでは「fire_c」を選択します。
(選んだ設定名はのちの説明で使うので覚えておきましょう)
OKを押してイベント編集を終えてテストプレイで確認してみましょう。
イベントを調べると選んだ設定のパーティクルが再生されます!
(※自分で作成した設定データは同様にTRP_ParticleList.jsプラグインから設定名を選択して再生することができます。)
パーティクルの停止
play系のコマンドは再生が終わればそれきりですが、set系のコマンドを手動で止めるには「offコマンド」、または「clearコマンド」を使います。
offコマンドは一時停止をするものでonコマンドで再開が可能です。
一方、clearコマンドはエミッターの完全な消去を行います。
先程のように設定名を選んで再生するにはプリセットプラグイン「TRP_ParticleMZ_Preset」のコマンドを使用しましたが、基本的なコマンド操作は本体プラグインである「TRP_ParticleMZ」のコマンドを使用します。
プラグインコマンドから「TRP_ParticleMZ」を選び、コマンド「clear/クリア」を呼び出します。
対象の管理IDに、先程選んで再生したパーティクル設定の設定名を指定します。
(※本来は管理IDと設定名は別々のパラメータなのですが、詳しい説明は後述します。)
再生コマンドとの間にウェイトを挟み、再生後にしばらくしてから再生停止するのを確認してみましょう。
サンプルプロジェクトの活用
このように、プラグインコマンドを活用してパーティクルの再生/停止をはじめいろんな操作を行うことができます。
まずはサンプルプロジェクトを一通り確認してどんな演出ができるのか確認し、気になった演出はイベント内容を覗いてどのように操作しているのか確かめてみると良いでしょう。
そのままイベントをコピペしてご自身のプロジェクトに取り込んでももちろんOKです。
さらに使いこなすには……
TRP_ParticleMZは多様な機能を備えていますが、全ての機能を使うには「MV形式のプラグインコマンド」も覚える必要があります。
MV形式の入力方法を覚えれば、以下の機能が使えるようになります
・グループエディタの使用(サブエミッターの活用にはほぼ必須)
・戦闘中のスキルやステートでの表示
・イベントの注釈を利用した設定
また、「PluginCommandMVInScriptArea.js」プラグインを導入することで、スクリプトコマンドを使ってMV形式のプラグインコマンドを実行することも可能です。
(↑スクリプトコマンドにMV形式のプラグインコマンドを記述。慣れれば行数が抑えられてイベントコマンドもスッキリ見えます。)
パーティクルプラグインを使っていくにあたって、MV形式のコマンド入力に慣れていくことを強くおすすめします。
以下は、MV版プラグインの導入解説の記事の内容と同じものです。
MV版から使ってた方へ
MV版から使ってた方は読み飛ばしてOKです。
MV版から追加された機能をまとめた以下の記事をざっと確認すると良いでしょう。
とりあえずMZ形式のコマンドを試したい方へ
また、MV形式のコマンドを覚えるのは後回しにしたいという方も、「管理IDについて」と「設定名について」の項目までは読んでおくことをおすすめします。
管理IDと設定名の違いはこのプラグインを扱うにあたって一番重要な部分といって良いでしょう。
この違いが別ればMZ形式のプラグインコマンドのヘルプテキストを見ながらでもある程度操作ができるはずです。
自分でパーティクル設定を作成・編集したい場合は、その後にこちらの記事を読み進めてみてください。
基本の使い方②〜エディタ編【TRP_Particle】
以下、MV版マニュアルの導入記事から
(プラグインコマンドのかわりに、スクリプトコマンドに入力してください)
パーティクルの再生
適当なイベントを作成してイベントコマンドのプラグインコマンドで、次のコマンドを実行してみましょう。
「particle play fireworks_c this」
(メモ:「このイベント(this)にfireworks_cというIDでパーティクル(particle)を再生(play)」という意味になります。)
実行してみると・・・?
イベントを実行するたびに花火っぽいパーティクルエフェクトが再生されました!
表示位置の調整
さて、どうせなら画面上の夜空に表示させたいところです。
パーティクルの発生位置を調整してみましょう。
先程のプラグインコマンドの直後に次のコマンドを打ち込んでみましょう。
「particle update fireworks_c pos 0 -350」
(メモ:「fireworks_cというIDのパーティクルのパラメータを更新(update)。位置(pos)をx=0、y=-350に変更」という意味になります。)
もう1度再生すると、イベントの頭上(350ピクセル上)に表示されました!
このように、updateコマンドを使って様々なパラメータを変更させることができます。
(メモ:細かな設定は設定データの編集で行いますが、位置の調整などはイベントごとにupdateコマンドで細かく調整することが多いです)
管理IDについて
さて、画面の左右にも同じ花火を打ち上げようと思います。
先程のコマンドをコピペでしたに2回複製し、updateコマンドでの位置調整でそれぞれxを-300と+300に変更します
パーティクルが1つしか再生されてません!
ここで、一度再生コマンド(playやset)のパラメータについて説明します。
playコマンドのパラメータは↓のような順番になっています。
「particle play 内部管理ID 対象 設定データ名 Z軸値」
「particle play fireworks_c this」というコマンドはでそれぞれのパラメータは↓
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
初めのうちは、内部管理IDと設定データ名がどう違うのか少し戸惑うかもしれません。
内部管理IDは自由な名前をつけることができますが、表示対象ごとに異なる名前をつけなければなりません。
今回はfireworks_cというIDを設定しており、パラメータを変更するupdateコマンドでもfireworks_cというIDに対して位置(pos)の変更を行っております。
このように、このパーティクル発生源(エミッターと言います)に対する操作はすべて、fireworks_cというIDを指定して命令することになります。
(メモ:パーティクル(particle)とは日本語で微粒子=小さい粒のことを指します。そして、このパーティクルを発生させる発生源をエミッター(emitter)と呼びます。同じ対象であっても、異なる種類のパーティクルを発生させるには複数のエミッターが設定されて、エミッターごとにIDを名付ける必要があります。また、同じ対象に同じ種類のエミッターを複数設定することもでき、その場合もIDを変える必要があります。)
設定名について
さて、次に設定名についてですが、これはパーティクルの発生の仕方や動き方の設定データの名前を指します。
ここでもう1度設定名を見直すと、
「particle play fireworks_c this」
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
設定名が省略されてますね!
どういうことかというと、設定データ名を省略すると内部管理IDがそのまま設定名として使用されます。(というより、内部管理IDを設定名と同じにすることで設定データ名を省略できます。)
なので、「particle play fireworks_c this fireworks_c」と同じコマンドということにまります。
ちなみに設定名fireworks_cは予め収録されているプリセットデータのうちの1つです。
プリセットに登録されている設定はプラグインヘルプから確認できます。
(プリセットデータはTRP_ParticlePreset、自作したデータはTRP_ParticleListから確認できます)
さて、先程の花火を複数表示するにはどこを修正すればよいか気づいでしょうか?
- 同じIDを使ってはいけない
- 設定名と違うIDを使うときは設定名(fireworks_c)は省略できない
という2点を抑えてプラグインコマンドをそれぞれ修正しましょう。
今回はfireworks_c_2、fireworks_c_3というIDに変更してみます。
(updateコマンドでの対象IDの変更も忘れずに!)
テストプレイで実行すると・・・↓
3つ並んで表示できました!めでたし!
ずっと表示するタイプのパーティクル
さて、先程の花火のパーティクルは1度再生するとそれっきりでした。
パーティクル設定にはこのように寿命(lifetime)が終わるとパーティクルの発生を終えて止まるものと、寿命がなくてずっと表示されるタイプのものがあります。
マップ右側にイベントを新しく作り、このイベントに吹き出し花火のパーティクルを表示させてみましょう!
このイベントを自動実行にしてパーティクル表示コマンドを打ち込んでも良いのですが、今回は解説のために先程のイベントの一番下に新しいコマンドを付け足します。
まずはそのコマンドを見てみましょう。
「particle set fireworks_dragon_c1 event:3」
今ままでの再生コマンドと2つ違う部分があります。
まず1つめ、サブコマンドのplayがsetに変わってます。
基本的には寿命があって1度表示させるだけの場合はplay、それ以外の場合はsetと使い分けて下さい。
今回はずっと表示されるタイプなのでsetコマンドを使っています。
そして、もう1つの異なる点は、対象をthisではなくevent:3と指定していることです。
実行しているイベント以外のイベントにパーティクルを表示するにはこのように、「event:イベントID」の形で指定することができます。
(メモ:この他にもpleyerでプレイヤーに、region:リージョンIDで指定のリージョンタイルから表示、walk:player:1でプレイヤーがリージョンID1を歩いたときに表示、などなど様々な対象を設定できます。詳しくは
再生対象の種類とZ軸【パーティクルプラグイン】](https://ci-en.net/creator/2170/article/230025)を読んでみてください)
さて、実行してみますと・・・
終わり無く延々とパーティクルが吹き出し続けてますね!
(メモ:一時的に止めるにはparticle offコマンド。再開するにはparitcle onコマンド。完全に止めて削除するにはparticle clearコマンドを使いましょう)
ついでに魔法陣の中央から吹き出るように、updateコマンドで位置(pos)を調整してみましょう。
バッチリです!
画面全体に表示するパーティクル
さて、続けてもう1つパーティクルをサクッと表示させてみます。
今度は特定のイベントに対してではなく、画面固定で表示するタイプのものです。
中央のイベントに次のコマンドを追加してください。
(常時表示するタイプなのでsetコマンドを使います)
「particle set light_leak_s screen」
- ID:light_leak_s
- 対象:screen
- 設定名:省略(IDと同じlight_leak2)
画面全体に淡い光の演出が表示されました!
表示対象として今回はscreen(スクリーン)を使いました。これは画面に固定表示させて表示する対象設定です。
screenをweather<天候>に変えると発生したパーティクルがマップスクロールに連動して移動するようになります。
(メモ:他にも特定のリージョンのタイル上に表示するregionや、歩行時に表示するwalkなど様々な対象があります。)
パーティクル再生方法について慣れてきたでしょうか?
次は、いよいよエディタを使って設定データを自作してみましょう!
演出を仕上げる(おまけ)
今回作った花火会場にもう少しだけ演出を付け加えて見ましょう!
(早く自作パーティクル設定を作りたい方はスキップして↑のエディタ編を読んで大丈夫です!)
打ち上げ花火をリピートさせる
寿命が設定されているパーティクルは再生後に再度コマンドで命令しないと繰り返し再生されませんが、repeatコマンドを使うことで自動で繰り返すことができます。
ID:fireworks_cをplayコマンドで再生後に↓のrepeatコマンドを付け加えてみましょう。
「particle repeat fireworks_c 120」
最後の120は待機フレーム数を指します。
再生終了後に120フレーム(2秒)の間隔をあけて自動で再生されるよになります!
続けて夜っぽさを出すために色調変更コマンドで全体を少し暗くしてみましょう。
花火の見え具合をチェックしてみると・・・
よく見ると全体が暗くなってるのに引きづられて花火の見え方も暗くなってます。
つまり、花火のパーティクルも色調変更の影響を受けてしまってます。
パーティクルの重なり順を変更
さて、打ち上げ花火のパーティクル表示コマンドをおさらいしましょう。
「particle play fireworks_c this」
- 内部管理ID:fireworks_c
- 対象:this(このイベント)
- 設定データ名:省略
- Z軸値:省略
今まで説明を省いてきましたが、一番最後の省略されたZ軸値というのが画面上の重なり順を設定するパラメータとなります。
(キャラクターが対象の場合には)省略された状態だとZ軸値にはaboveという値が適用されます。
aboveは「〜〜より上」という意味の単語であり、対象の上に重ねて表示させる設定です。
逆にキャラクターの下(裏側)に表示したいときは「〜〜より下」という意味のbelowという値を設定します。
さて、キャラクターに表示させる場合は基本的にはこのaboveとbelowを使い分けるのですが、今回は色調変更の影響を受けないようにaboveよりさらに上側(手前側)に表示しなければならず、spritesetという値を設定します。
(メモ:spriteset<スプライトセット>とはシステム上でキャラクター画像が表示されるtilemap<タイルマップ>の更に上の階層、マップ上の画像表示の基盤部分を指します。)
playコマンドを↓のように修正してみてください。
パラメータの順番に気をつけて、省略していた設定名の指定も忘れずに!
「particle play fireworks_c this def spriteset」
(defとはデフォルト値を使うという意味で、設定名を省略してIDのfireworks1を設定名に使用しています。)
同じように左右の打ち上げ花火についてもZ軸値をspritesetに設定します。
変更前(右側)と比べて色調の影響を受けずに花火が明るく輝いて見えますね!
(吹き出し花火もZ軸値を変更してます)
お疲れさまでした!
これで、パーティクルプラグインの使い方基礎〜操作編が終わりました。
エディタ編がまだの方はぜひ、続けて挑戦してみて下さい!