投稿記事

パーティクルの記事 (32)

all対象・タグによる一括制御【TRP_Particle】

←MV版マニュアルトップ
←MZ版マニュアルトップ


MV版ではV1.09(20年5月16日)より「all」対象・「tag」対象が追加され、各種コマンドの一括操作が可能になりました。

一括操作が可能なのは、set/play/edit以外の管理IDを対象するコマンドです。
(clear、on、off、exceed、update、animate、repeatなど)

「all」全ての管理ID

対象をallとすることで全てのエミッターに対して操作することができます。

例:particle clear all
└全てのエミッターをクリア


「all:対象タイプ」

対象を「all:対象タイプ」とすることで指定する対象タイプのエミッター全てに対して操作することができます。また、「,(カンマ)」つなぎで複数の対象タイプを指定可能です。

例:particle clear all:character,attach
└character、attach対象のエミッタ全てをクリア

対象タイプ一覧

ここで指定する対象タイプは、set/play/editで指定する対象タイプと分類が一部異なっているので注意

  • character : player/follower/event対象全て
  • attach:attach:player/attach:follower/attach:event対象全て
  • displayObject : スクリプトでDisplayObjectを対象としたもの

「tag:タグ名」

対象を「tag:タグ名」とすることで指定するタグがつけられたエミッター全てに対して操作することができます。また、「,(カンマ)」つなぎで複数のタグをして可能です。

例:particle clear tag:タグ1,タグ2
└タグ1、タグ2がつけられたエミッター全てをクリア

タグの設定

エミッターにタグを設定するにはset/play/editコマンド実行時に「tag:タグ名」の形でタグパラメータを付与してください。

例:particle set 管理ID this tag:タグ1
例:particle play 管理ID this def above tag:タグ1

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

スクリプトからの呼び出し<上級者向け>【TRP_Particle】

←MV版マニュアルトップ
←MZ版マニュアルトップ

TRP_Particleの各コマンドはスクリプトから呼び出すことができるほか、PIXI.SpriteやPIXI.Containerといったスクリプトで生成したDisplayObjectをパーティクルの表示対象とすることも可能です。

基本的には$gameScreen._particle.particleコマンド名(パラメータ)の形で呼び出すことができます。

例えばclearコマンドであれば、「$gameScreen._particle.particleClear(管理ID,quitフラグ);」といった感じです。

いくつかのコマンドは上記の引数形とならないので、例外のコマンドから先に紹介していきます。

記事内容

  • set/play/editコマンドの呼び出し
    └DisplayObjectsの対象指定
  • update/animateコマンドの呼び出し
  • その他コマンドの呼び出し

set/play/editコマンドの呼び出し

『particleSet(呼び出し元イベントID,管理ID,対象,設定名,Z軸値)』
└例:$gameScreen._particle.particleSet(0,'parId','player','def','above')
└コマンド:particle set parId player def above

play、editコマンドも同様の引数です。

引数の1つ目に呼び出し元イベントIDが入り、対象がthisの場合はこのイベントIDがセットされます。
イベント対象でない場合は0をセットしてください。

DisplayObjectsの対象指定

スクリプト内で生成したSpriteにパーティクルを表示したい場合は、対象引数にそのままスプライトなりコンテナを渡してください。
パーティクルのコンテナが対象の親階層に貼り付けられ、エミット位置が対象座標に追従します。

例)
var sprite = new Sprite(ImageManager.loadPicture('ピクチャ名')); SceneManager._scene.addChild(sprite); $gameScreen._particle.particleSet(0,'parId',sprite,'def','above');

DisplayObjectsを対象とする場合にはいくつか注意点があります。
spriteは呼び出し直後にaddChildされてparentが存在している必要
parentから切り離された瞬間にclearされる
* parentが切り替わる、またはparent.parentが切り替わると座標追従が無効化


update/animateコマンドの呼び出し

『particleUpdate([管理ID,パラメータ名,設定値1,設定値2,...]』
└例:$gameScreen._particle.particleUpdate(['parId','pos',10,20]);
└コマンド:particle update pos 10 20;

『particleAnimate([管理ID,フレーム数,パラメータ名,設定値1,設定値2,...]』
└例:$gameScreen._particle.particleAnimate(['parId',30,'pos',10,20]);
└コマンド:particle animate 30 pos 10 20;

注意点は、引数を配列内に入れて与えることです。

その他のコマンド

その他のコマンドは素直にサブコマンド以下を引数として与えてください。

『particleClear(管理ID,中断フラグ)』
└例:$gameScreen._particle.particleClear('parId');
└コマンド:particle clear parId;

『particleExceed(管理ID,秒数)』
└例:$gameScreen._particle.particleExceed('parId',0.5);
└コマンド:particle exceed parId 0.5;

などなど。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

TRP_Particleレビューキャンペーン実施中!

レビューツイートで拡張パッチプレゼント中!

TwitterにてTRP_Particleのレビューキャンペーンを行ってます!

参加プレゼントとしてパーティクル再生速度の変更・タイムラプス再生を行える拡張パッチを配布してますので、購入済みの方はぜひご参加を!!

https://twitter.com/thiropGames/status/1258705582304813056

セール情報

先月より先行版の販売をしてましたパーティクルプラグイン「TRP_Particle」ですが、先日大幅な機能追加アップデートを行い、改めて完成版となりました!

5月末までセールも行ってますので購入を検討中の方はこの機会にぜひ!
https://thirop.booth.pm/items/1940649
https://twitter.com/thiropGames/status/1258703280248549377

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

パッチノート【TRP_Particle】

←マニュアルトップへ戻る

最新版のデータはBoothの購入履歴よりダウンロード可能です。
不具合の可能性もあるため必ずプロジェクトをバックアップした上でアップデートをしてください。


V1.12(20年6月29日)

  • メニュー呼び出し時にマップ上のパーティクル画像が背景画像に残るよう修正

V1.10(20年5月20日)

  • Windowsで@キーが使えない不具合修正
  • テンキー入力に対応
  • 移動ルートのスクリプトでのコマンド実行に対応(プラグインコマンドと同じ形式)
  • 任意のシーンでの表示に対応
    └対象としてタイトル:Scene_TItle、メニュー:Scene_Menu、ショップ:Scene_Shop
     ゲームオーバー:Scene_Gameoverなど
    └editコマンドでの編集は付加。事前にマップ上などで編集してください
  • 上級者向けプラグイン設定「シーン対象登録」を追加
    └『-(ハイフン)』つなぎで設定するとグループ化されて自然に遷移
    └一度設定を開いてデフォルト値が登録されたらOKで設定保存を
    └デフォルト値は["Scene_Menu-Scene_Save-Scene_Item-Scene_Equip-Scene_Actor-Scene_Skill-Scene_Status","Scene_Title","Scene_Load","Scene_Options","Scene_Shop","Scene_Gameover"]
  • プラグイン設定のカテゴリー整理

V1.09(20年5月16日)

  • チートシートの更新
  • ステート付加時のパーティクル表示機能
  • 戦闘時の対象attach:party:パーティー順、attach:enemy:敵グループ順を追加
    └attach:this、スキルではattach:targetも有効
  • イベントページの注釈でパーティクル設定(コマンドと同じ形式)
  • ID末尾に「-EID」で実行中のイベントIDと置き換え(イベントコピペ可能に)
    └例:particle set smoke_c-EID this smoke_c。実際の管理IDはsmoke_c-イベントIDに置き換えられます。
  • 天界マップ、戦闘ステートのプリセットデータ追加
  • 画面外イベントのエミッター再生制御機能(設定「キャラ対象の画面外幅」)
  • set/play/editコマンドで、パラメータ末尾に「tag:タグ名」でタグの付加
  • set/play/edit以外のID指定コマンドの一括操作。詳しくはチートシート参照
  • 対象:battleWeatherとした際のエラーを修正
  • 設定「戦闘終了時に戦闘関連クリア」を削除し、「戦闘終了時に戦闘Screen対象クリア」と「戦闘終了時に戦闘キャラ対象クリア」を追加
  • 競合回避策として設定「ステート表示無効」「スキル表示無効」を追加

V1.08(20年5月8日)

  • MadeWithMVとの競合修正
    └TRP_ParticleはMadeWithMVより下に配置すること

V1.06~V1.07(20年5月7日)

  • attach対象でキャラがいない場合の不具合修正
  • 微細な内部処理の変更

V1.05(20年5月6日)

アニメーションピッカーの追加

エディタにアニメーション画像を選択するピッカーの追加。
アニメーション画像はピッカーを閉じた際に使用するフレームのみを切り抜いた画像をparticlesフォルダ内に「_ANIM_画像名_フレーム番号.png」の名前で自動的に保存されます。

TRP_ParticleList.jsの必須化

プラグインファイルTRP_ParticleList.jsの導入が任意から必須となりました。
このファイルの役割は以下のとおりです

  • プラグインヘルプで保存したデータ一覧の確認
  • デプロイメント時に使用しているパーティクル画像が除かれないよう登録
  • トリムされたアニメーション画像の情報保存

TRP_ParticleEditorプラグイン設定の変更

以下の設定項目が削除されました。

  • 画像名リスト:自動でparticlesフォルダ内の画像を走査するよう変更
  • ヘルプ作成:TRP_ParticleList.jsの導入が必須となったため変更

最大数制限の厳密化

maxコマンドでのパーティクル発生最大数の能力制限をより厳密化しました。
再生停止中のパーティクル設定も発生キャラパシティが計上されるため、しばらくの間再生されることのない設定はclearコマンドで消去することを推奨します。(寿命がある設定の場合で1回のみの再生の場合はplayコマンドの使用を)

最大数制限オプション用パッチ「TRP_ParticleExOption」の追加

追加パッチプラグインファイルTRP_ParticleExOption.jsをmaterialsフォルダに追加しました。
プラグイン設定で登録しておいた制限レベルをゲーム中のオプションから選択できるようになります。

angleTypeパラメータをangleに変更

imageOptionのangleTypeパラメータをangleに変更しました。
angleTypeを1にするとランダムな角度となっていましたが、V1.05からangleを-1にすることで同様の効果となります。(既存データは自動的に変換されます。)

また、angleを1以上とすると画像を任意の角度で回転させることができます。
進行方向に影響を与えず角度を変更したい場合に設定してください。

敵のパーティクル設定の対象名変更

敵のノート欄に記述するパーティクル設定において、対象パラメータは「enemy:1」から「this」に統一されました。

すでにこの機能を使用している場合は「this」への変更をお願いします。
例:修正前)particle:set parID1 enemy:1
例:修正後)particle:set parID1 this

スキルでの表示対応

スキル使用時にパーティクルを表示できるになりました。
詳しくは戦闘中シーンでの表示【TRP_Particle】を御覧ください。

マップのループへの対応

マップの縦・横ループ設定時にループの境界で正しくパーティクルが表示されない仕様を修正しました。

画像の追加・修正

パーティクル画像の追加・修正を行いました。
一部の画像は名前を変更したり、画像自体を修正しております。
詳しくはVer1.05でのパーティクル画像修正内容【TRP_Particle】にまとめてますのでご確認ください。

変更前の画像はparticles/_oldフォルダ内に退避してますので、必要に応じて画像を差し戻しての使用をお願いします。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

戦闘シーンでの表示【TRP_Particle】

←マニュアルトップへ戻る

戦闘シーンでパーティクルを表示する方法を解説していきます。
- スキルで表示させる
- 敵に永続的に表示する
- ステートに対応させて表示

戦闘中のイベントコマンドではパーティクルの「対象」にとしてparty,enemy,battle,battleWeatherが使用可能です。
詳しくは再生対象の種類とZ軸【パーティクルプラグイン】をご参照ください。

以下、スキルで表示させる場合と、敵に常時表示させる場合の解説をします。

スキルで表示させる

スキルで表示させるにはスキルのメモ欄にmetaタグを埋め込みます。

例えば以下のパーティクルコマンドを順に設定するには

  • particle play buff_b this
  • particle play attack_b target

メモ欄には次のmetaタグを埋め込みます。
<particle1:play buff_b this>
<particle2:play attack_b target>

particle1から順にparticle2,particle3のコ


敵に永続的に表示する

敵キャラのメモ欄にメタ設定を行うことでパーティクルを設定できます。
対象はthisに設定してください。アップデートenemy:1から変更されました。)

例えば以下のパーティクルコマンドを順に設定するには

  • particle set static_aura1 this def below
  • particle update static_aura1 pos -24 0

メモ欄には次のmetaタグを埋め込みます。
<particle1:set static_aura1 this def below>
<particle2:update static_aura1 pos -24 0>

コマンドの順番ごとに<particle1:〜〜>、<particle2:〜〜>、<particle3:〜〜>という形に書き換えてください。

注意点1:内部でのID変換

同じ敵が複数登場する場合に管理IDが被らないように、内部で自動的にIDに末尾がつけ加わります。
上記ではstatic_aura1というIDを指定していますが、自動的にstatic_aura1:enemy1、2番目の敵にはstatic_aura1:enemy2といった形に変更されるのでイベントコマンドなどでパーティクルを操作するときに管理IDの指定に注意してください。

注意点2:編集時にはイベントコマンドで

editコマンドで編集する場合はmetaタグに埋め込まずに、戦闘グループのイベントコマンド上で実行してください。(metaタグに埋め込んでも正しく編集開始できません)


マンドが実行されます。
particle1を飛ばしてparticle2を実行することはできないので注意。

また、対象としてthisは使用者、targetは攻撃対象となります。
(this、targetを含む設定ID、設定名は使用できないので注意)


ステートに対応させて表示

ステートのメモ欄にメタ設定を行うことでステートにかかったときだけ表示するパーティクルを設定できます。
設定方法は敵への永続的な表示と同じ方法です。

例えば以下のパーティクルコマンドを順に設定するには
particle set static_aura1 this def below
particle update static_aura1 pos -24 0
メモ欄には次のmetaタグを埋め込みます。
<particle1:set static_aura1 this def below>
<particle2:update static_aura1 pos -24 0>

注意点1:内部でのID変換

管理IDが被らないように、内部で自動的にIDに末尾がつけ加わります。
上記ではstatic_aura1というIDを指定していますが、1番目の敵の場合は:enemy:1が付け加わります。

注意点2:自動クリアの無効

アクターにステートで表示されるパーティクルは「戦闘終了時にキャラ対象クリア」設定をONにしてもクリアされません。ステートが切れたときのみ解除されます。

注意点3:設定での無効

設定「ステート表示の無効」がONになっているとステートでの表示が反映されません。
この設定はステート関連の他プラグインと競合時にONにして回避する際に設定します。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5 6 7

月別アーカイブ

記事を検索