当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
SAN キャラクター陽炎エフェクトフィルター - SAN_ShaderFilterCharaHeatHaze.js

▼SAN キャラクター陽炎エフェクトフィルター(サンシロ様作) - SAN_ShaderFilterCharaHeatHaze.js
https://plugin.fungamemake.com/archives/1621
キャラクターの周囲に陽炎のエフェクトを表示するフィルター
ふりがな:きゃらくたーかげろうえふぇくとふぃるたー
機能概要: キャラクターの周囲に陽炎のエフェクトを表示するフィルター
利用規約(ライセンス): MITライセンス
作者:サンシロ
作者サイト:https://x.com/rev2nym
ダウンロードページ:http://store.tkool.jp/a/rpgmaker/mv
ファイル名:SAN_ShaderFilterCharaHeatHaze.js
備考:準公式プラグイン:Magic_and_SFPack(for_v1.6)
プラグインのヘルプ:
/*:ja
* @plugindesc キャラクター陽炎エフェクトフィルター 1.0.0
* キャラクターの周囲に陽炎のエフェクトを表示するフィルターです。
* @author Sanshiro https://github.com/rev2nym
* @help
* ■概要
* キャラクターの周囲に陽炎のエフェクトを表示するフィルターです。
* このプラグインはシェーダーフィルターシステムのサブプラグインです。
*
* ■前提のコアプラグイン
* このプラグインは前提のコアプラグインとして
* 併せて配布される「SAN_ShaderFilter.js」を使用します。
* あらかじめ導入してください。
*
* ■シェーダーコードファイル
* このプラグインはシェーダーコードファイルとして
* 「SAN_CharaHeatHazeFrag.txt」を使用します。
* 「glsl」フォルダにあらかじめ配置してください。
*
* ■基本的な仕組み
* 基本的な仕組みはコアプラグインのヘルプを参照してください。
*
* ■パラメータの作成
* 次のスクリプトコマンドでパラメーターを作成します。
* 例:
* new GLSLCharaHeatHazeFilterParam({
* speed: 1.0, // エフェクトスピード
* fadeFrame: 60, // フェードフレームカウント
* fadeState: 'fadedOut', // フェード状態
* charaType: 'player', // キャラクタータイプ
* charaId: 1, // キャラクターID
* pitch: 1.0, // エフェクトピッチ
* innerRadius: 24.0, // エフェクト内径
* outerRadius: 72.0, // エフェクト外径
* strength: 1.0, // エフェクト強度
* color: {r: 2.0, g: 1.0, b: 1.0} // エフェクト色
* });
*
* それぞれの項目は順不同かつ省略可能です。
* また設定値ごと省略することもできます。
* 例:
* new GLSLCharaHeatHazeFilterParam();
*
* ・エフェクトスピード:speed
* エフェクトのスピードです。
* 数値が0.0に近づくほど遅くなります。
* マイナスの値も設定できます。
* 省略可能です。省略した場合は 1.0 が設定されます。
*
* ・フェードフレームカウント:fadeFrame
* フェードイン、フェードアウトに要するフレーム数です。
* 省略可能です。省略した場合は 60 が設定されます。
*
* ・フェード状態:fadeState
* フェードの状態を表します。
* 'fadingIn'(フェードイン中)、'fadedIn'(フェードイン完了)、
* 'fadingOut'(フェードアウト中)、'fadedOut'(フェードアウト完了)の
* 4つの状態を取り得ます。
* 'fadingIn' を設定した場合は即座にフェードインを開始します。
* 省略可能です。省略した場合は 'fadedOut' が設定されます。
*
* ・キャラクタータイプ:charaType
* エフェクトの中心となるキャラクターのタイプを指定します。
* 'player'(プレイヤー)、'follower'(フォロワー)、'event'(イベント)の
* 3つのタイプから指定することが可能です。
* 省略可能です。省略した場合は 'player' が設定されます。
*
* ・キャラクターID:charaId
* エフェクトの中心となるキャラクターのIDを指定します。
* キャラクタータイプで 'follower' を指定した場合は
* フォロワーインデックス(パーティの2人目のIDが1)が
* 'event' を指定した場合はイベントIDが対応します。
* 省略可能です。省略した場合は 1 が設定されます。
*
* ・エフェクトピッチ:pitch
* エフェクトのピッチを指定します。
* この数値が大きくなるほどエフェクトの紋様が細かくなります。
* 省略可能です。省略した場合は 1.0 が設定されます。
*
* ・エフェクト内径:innerRadius
* エフェクトの内径をピクセル単位で設定します。
* この数値より小さい範囲はドーナツの穴のようにエフェクトが表示されません。
* 省略可能です。省略した場合は 24.0 が設定されます。
*
* ・エフェクト外径:outerRadius
* エフェクトの外径をピクセル単位で設定します。
* この数値より大きい範囲はエフェクトが表示されません。
* 省略可能です。省略した場合は 72.0 が設定されます。
*
* ・エフェクト強度:strength
* エフェクトの強度を設定します。
* この数値が大きくなるほどエフェクトによる画面の歪みが強くなります。
* 省略可能です。省略した場合は 1.0 が設定されます。
*
* ・エフェクト色:color
* エフェクトの色をRGBで設定します。
* 省略可能です。省略した場合は {r: 2.0, g: 1.0, b: 1.0} が設定されます。
*
* ■パラメーターの登録
* 次のスクリプトコマンドでパラメーターマップへパラメーターを登録します。
* 例:
* $gameScreen.glslFilterParamMap().set(
* 'playerHeatHaze', // フィルターID
* new GLSLCharaHeatHazeFilterParam() // フィルターパラメーター
* );
*
* その他のパラメーターマップの操作はコアプラグインのヘルプを参照してください。
*
* ■パラメーターの操作
* ・エフェクトのフェードイン:fadeIn()
* 例:
* $gameScreen.glslFilterParamMap().get(
* 'playerHeatHaze' // フィルターID
* ).fadeIn();
*
* ・エフェクトのフェードアウト:fadeOut()
* 例:
* $gameScreen.glslFilterParamMap().get(
* 'playerHeatHaze' // フィルターID
* ).fadeOut();
*
* ・エフェクトの即時表示:show()
* 例:
* $gameScreen.glslFilterParamMap().get(
* 'playerHeatHaze' // フィルターID
* ).show();
*
* ・エフェクトの即時非表示:hide()
* 例:
* $gameScreen.glslFilterParamMap().get(
* 'playerHeatHaze' // フィルターID
* ).hide();
*
* ■利用規約
* MITライセンスのもと、商用利用、改変、再配布が可能です。
* ただし冒頭のコメントは削除や改変をしないでください。
* これを利用したことによるいかなる損害にも作者は責任を負いません。
* サポートは期待しないでください><。
*/