【要望】スクリプトからBGMなどの音量を変更したい

305 views
Skip to first unread message

hotarukanchou

unread,
Apr 16, 2017, 4:59:48 AM4/16/17
to 宴ユーザーグループ
宴のバージョン:3.05
Unityのバージョン:5.6.0f3
UnityのConsoleウィンドウのエラーメッセージ


お世話になっております。

特定のシーンだけBGMやSEの音量を下げる、または戻す…ということをやりたいです。
その際、ユーザーにバグの用に映るのを防ぐため、コンフィグの値は変更したくありません。
宴2の頃はSoundManagerクラスに音量補正用の変数を作って、カスタムコマンドから変数の値を変更、
GetMasterVolume()にあるそれぞれの返り値に音量補正(0.7倍など)を掛け合わせていました。
また、音量補正の変数はカスタムセーブデータとして保存していました。

この機能を公式で組み込んでいただけると嬉しいのですが、
あるいは実装が難しい場合、宴3ではどの関数に音量補正の関数を掛け合わせれば良いかご教示いただけますか。
(もしくはスクリプトからBgmコマンドなどを使うときに、鳴らす音量を指定させていただけると…)

マッドネスラボ

unread,
Apr 16, 2017, 7:10:11 AM4/16/17
to utag...@googlegroups.com
現状ですと、SoundManagerに、DefaultVolumeというのがあるのでそれを下げると、全体の再生ボリュームを落とせます。

ただし、
・再生する前に変更する必要があるので、既に鳴っているBGMなどの音量は変わらない
・(宴のサウンドマネージャーを使っている場合)ボタンのクリック音などのSEの音量も下がってしまう
ということになるので、ちょっと使いづらいかもしれません。


BgmやSEコマンドにボリューム設定を追加する場合は、
・Arg3などにボリューム値を設定可能にする
・個別に設定可能だが、すでに鳴っているものの音量は変更できない
とすればよいでしょうか?


ボリューム設定コマンドを新しく作るとする場合は、
・SoundVolume コマンドを新規作成
・SoundVolume コマンドは、 BGM、ボイス、環境音、SE、(もしくはすべて)の全体ボリュームを設定可能
・ボリュームの範囲は0~1(デフォルト値は1)
・マスターボリュームとは別に独立して設定可能
・SEを指定すると、ボタンのクリック音などのSEの音量も下がってしまう
・・・という感じになるかと思いますが、こっちのほうが良いでしょうか?

hotarukanchou

unread,
Apr 16, 2017, 7:45:29 AM4/16/17
to 宴ユーザーグループ
ご検討ありがとうございます。

既に鳴っているBGMや環境音の音量を調整できると演出の自由度が広がりますので、後者を希望します。
やっていたことも後者だったので…(投稿の最後の一行が余計でしたね、すみません。)
自作していたカスタムコマンドのサンプルを添付致します。

DefaultVolumeも併用してみようと思います、ありがとうございます。
音声変更スクリプトサンプル.xlsx

マッドネスラボ

unread,
Apr 16, 2017, 9:42:50 AM4/16/17
to 宴ユーザーグループ
了解しました。
ちょっと専用のパラメーターを追加しないといけないので、もう少しお待ちください。
次か、次の次のバージョンアップくらいに追加しようと思います。

Reply all
Reply to author
Forward
0 new messages