当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
NRP PixiのエフェクトをDynamic系プラグインから呼び出す - NRP_DynamicPixiFilter.js
シェア用テキスト:
▼NRP PixiのエフェクトをDynamic系プラグインから呼び出す(砂川赳様作) - NRP_DynamicPixiFilter.js
https://plugin-mz.fungamemake.com/archives/6019
DynamicAnimation&Motionプラグインから、Pixiのフィルターエフェクト機能を呼び出します。最も扱いやすいエフェクトは『shockwave(衝撃波)』です。
ふりがな:PixiのえふぇくとをDynamicけいぷらぐいんからよびだす
機能概要: DynamicAnimation&Motionプラグインから、Pixiのフィルターエフェクト機能を呼び出します。最も扱いやすいエフェクトは『shockwave(衝撃波)』です。
利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認
作者:砂川赳
作者サイト:https://newrpg.seesaa.net//
解説ページ:https://newrpg.seesaa.net/article/487983241.html
ファイル名:NRP_DynamicPixiFilter.js
プラグインのヘルプ:
/*:ja * @target MZ * @plugindesc v1.00 PixiのエフェクトをDynamic系プラグインから呼び出します。 * @author 砂川赳(http://newrpg.seesaa.net/) * @base FilterControllerMZ * @base NRP_DynamicAnimationMZ * @orderAfter NRP_DynamicAnimationMZ * @url http://newrpg.seesaa.net/article/487983241.html * * @help DynamicAnimation&Motionプラグインから、 * Pixiのフィルターエフェクト機能を呼び出します。 * ※PixiとはツクールMV~MZの標準で使用しているライブラリのことです。 * * FilterControllerMZ.js(Tsukimi様)の機能を経由しているため、 * こちらのプラグインも必須となります。 * https://forum.tkool.jp/index.php?threads/4306/ * * ------------------------------------------------------------------- * ■使用方法 * ------------------------------------------------------------------- * 適用すれば、DynamicAnimationおよびMotionプラグインから * 簡単に呼び出せるようになります。 * * 最も扱いやすいエフェクトは『shockwave(衝撃波)』です。 * ……というか、それ以外を戦闘に組み込むのは難しいので、 * 以降の解説もそれを前提にします。 * * ◆DynamicAnimation * 例えば、以下でアニメーションと同時に衝撃波のエフェクトが表示されます。 * ※アニメーションが不要なら画像を設定しなければOKです。 * ※標準ではアニメーションの始点にエフェクトを表示します。 * ------------------------------------------------------------------- * <D-Animation> * filterType = shockwave * </D-Animation> * ------------------------------------------------------------------- * * ◆DynamicMotion * DynamicMotionの場合も同じです。 * ※標準ではモーション実行者側にエフェクトを表示します。 * ------------------------------------------------------------------- * <D-Motion> * filterType = shockwave * </D-Motion> * ------------------------------------------------------------------- * * ------------------------------------------------------------------- * ■パラメータ * ------------------------------------------------------------------- * パラメータを指定することでエフェクトを調整できます。 * 大半のパラメータはFilterControllerMZ.jsに準じますので、 * 詳細はそちらの解説をご確認ください。 * * パラメータは以下のように指定します。 * ------------------------------------------------------------------- * <D-Animation> * filterType = shockwave // エフェクトの種類 * filterTarget = Battlers // エフェクト対象 * filterX = b.width / 2 // X座標 * filterY = b.height / 2 // Y座標 * filterParameters = [0,0,-1,30,160,1] // X,Y,半径,振幅,波長,明るさ * filterId = 1 // ID * </D-Animation> * ------------------------------------------------------------------- * 詳細は下をご覧ください。 * * ◆filterType * フィルターエフェクトの種類です。 * 基本的には『shockwave』を使っていけばよいと思います。 * * ◆filterTarget * エフェクトをかける対象です。 * 標準では全画面を対象としますが、その他にも以下が使用できます。 * * ・Battlers:バトラーのみ * ・Battleback:戦闘背景のみ * ・FullScreenWithWindow:全画面(ウィンドウ含む) * * ※BattlersおよびBattlebackの指定は、当プラグインで追加した機能です。 * ※Battlersを指定した場合は原点が、バトラーの左上になります。 * 座標を変更する場合はご注意ください。 * * ◆filterSpeed * エフェクトの速度です。 * shockwaveの場合は衝撃波が広がる速度になります。 * shockwaveの標準値は『0.01』なので、その辺りを基準にしてください。 * うっかり『1』などを入力すると、早すぎて見えなくなります。 * * また『0』にした場合はその場に残りますので、 * 後で削除を行う必要があります。 * * ◆filterX * ◆filterY * エフェクトを表示するX座標、Y座標です。 * 標準ではアニメーションの始点(もしくはモーション実行者)に * 表示されるため省略しても構いません。 * * ◆filterParameter * FilterControllerMZ.jsおよびPixiに渡すパラメータですが、 * 少し上級者向けかもしれません。 * * 例えば、shockwaveの場合、以下のように6つのパラメータを渡しています。 * * > filterParameters = [0,0,-1,30,160,1] * ※値はFilterControllerMZの標準値 * * ……が、それぞれの値の意味は、FilterControllerMZ.jsの実装と、 * Pixiのドキュメントを照らし合わせないと分からないと思います。 * https://filters.pixijs.download/main/docs/PIXI.filters.ShockwaveFilter.html * * 実際には以下の順番で対応していますので、お好みで調整してください。 * * ・center(1):X座標補正 * ・center(2): Y座標補正 * ・radius:最大半径(0以下で無制限) * ・amplitude:振幅(揺らぎの強さ) * ・wavelength:波長(揺らぎの大きさ) * ・brightness:明るさ * * 上2つは『filterX』『filterY』を指定すればよいので基本は変更不要です。 * * ちなみに未入力の場合も標準値が使用されるため、 * 不要な項目は以下のように空白にしても構いません。 * > filterParameters = [,,,,,0] * * ◆filterId * フィルターエフェクトを操作するためのIDです。 * IDは数値でも文字列でも構いませんが、文字列の場合は””で囲ってください。 * * なお、以下の削除などの操作を行わない場合は不要です。 * ※shockwaveについては、速度が0の場合を除いて、 * 時間経過で自動的に消滅します。 * * ◆filterErase * 指定した『filterId』のエフェクトを削除します。 * 例えば、以下のような流れになります。 * ------------------------------------------------------------------- * <D-Animation:wait> * filterId = 1 * filterType = godray * </D-Animation> * * <D-Animation> * filterErase = 1 * </D-Animation> * ------------------------------------------------------------------- * また『filterErase = true』にすると、全てのエフェクトを削除します。 * FilterControllerMZ.jsで呼び出した全てのエフェクトが * 対象になるので、ご注意ください。 * * ------------------------------------------------------------------- * ■利用規約 * ------------------------------------------------------------------- * 特に制約はありません。 * 改変、再配布自由、商用可、権利表示も任意です。 * 作者は責任を負いませんが、不具合については可能な範囲で対応します。 * * @------------------------------------------------------------------ * @ プラグインパラメータ * @------------------------------------------------------------------ */