見出し画像

RPG Developer BAKIN用 C#プラグイン BGM・SEのフェードイン・アウト

RPG Developer BAKIN用のC#プラグインです。
イベントでBGMやSEをフェードイン、フェードアウトします。標準のイベントコマンドではできないSEのフェードイン、フェードアウトが可能になるほか、BGMをフェードアウトしつつ次のBGMのフェードイン(クロスフェード)が可能になります。
RPGの制作でフィールドマップから町や村に入る際にBGM変更をスムーズにしたい場合などにお使いください。


ダウンロード

使い方

イベントウィンドウ左下のC#プログラムの割り当てで「SoundControl.cs」を追加して選択した後にOKボタンを押下してください。
その状態でイベントのコマンド選択で「C#プログラムの呼び出し」を選ぶと下記の7つのC#メソッドが使えるようになります。
GetSoundID      再生するBGM・SEのIDを取得します
PlaySound       BGM・SEを再生します
StopSound       BGM・SEの再生を停止します
ChangeSoundVolume  BGM・SEの音量を指定秒数で変化させます
PlaySoundFeadin    BGM・SEをフェードイン再生します
PauseSound      BGM・SEの再生を一時停止します
ResumeSound     BGM・SEの再生を再開します

BGM・SEの再生手順

  1. 再生するBGM名 あるいはSE名を文字列変数に代入

  2. GetSoundIDで上記の文字列変数からIDを取得

  3. PlaySoundを上記のID、音量、テンポを指定して実行

再生手順

再生をフェードアウトする手順

本C#プラグインでBGM・SEを再生中の場合、以下の手順でフェードアウトできます

  1. ChangeSoundVolumeを、再生中のBGM・SEのID、フェードアウト後の音量、フェードアウトにかける秒数を指定して実行

フェードアウト手順

フェードインで再生する手順

  1. 再生するBGM名 あるいはSE名を文字列変数に代入

  2. GetSoundIDで上記の文字列変数からIDを取得

  3. PlaySoundFeadinで上記のID、フェードイン後の音量、フェードインにかける秒数、テンポを指定して実行

フェードインで再生する手順

2つの曲をクロスフェードする手順

  1. 次に再生するBGM名 あるいはSE名を文字列変数に代入

  2. GetSoundIDで上記の文字列変数からIDを取得

  3. PlaySoundFeadinで上記のID、フェードイン後の音量、フェードインにかける秒数、テンポを指定して実行

  4. ChangeSoundVolumeで先に再生されていたBGM・SEのID、フェードアウト後の音量、フェードアウトにかける秒数を指定して実行

クロスフェード手順

再生を中断する手順

  1. PauseSoundを、再生中のBGM・SEのIDを指定して実行

再生の中断手順

再生中断から再開する手順

  1. ResumeSoundを、PauseSoundで中断したBGM・SEのIDを指定して実行

再生中断からの再開手順

マップ移動時のBGMクロスフェード実装例

下記のようなコモンイベントを用意し、マップ上のイベントでマップの移動を行う際に先ほどのコモンイベントを呼び出すと比較的楽に実現できると思います。

マップ移動時にBGMをクロスフェードするイベントの例

下の動画のような動作になります。

注意事項

標準の「BGMを再生」「効果音を再生」コマンドで再生したBGM、効果音を本C#プラグインでフェードイン・アウト、一時停止・再開することはできません。


いいなと思ったら応援しよう!