タイトル画面のBGMをフェードイン・フェードアウトさせたい

95 views
Skip to first unread message

nunu

unread,
Oct 14, 2020, 6:42:14 AM10/14/20
to 宴ユーザーグループ
Unityの習熟度:基本操作ができる程度
宴のバージョン:3.9.2
UnityのバージョンとOS:unity2018.4.20f1 windows10


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

タイトル画面で流れるBGMについて、開始時にフェードイン再生と、いずれかのボタン(「はじめから」など)を押した後にフェードアウトで停止させたいのですが、仕様的に可能でしょうか。

また、上記のBGMの再生/停止処理ですが、どの プログラムで行われているのでしょうか?
「Utage/Scripts」フォルダ内のcsファイルを色々確認してみたのですが、それらしいものが見当たらなかった次第です。

お手数をおかけしますが、よろしくお願いいたします。

マッドネスラボ

unread,
Oct 14, 2020, 11:17:47 AM10/14/20
to 宴ユーザーグループ
タイトル画面の制御コンポーネントは、UtageUguiTitle.csになります。

開始時にBGMをフェードイン再生するだけあれば、BgmにAudioClipを設定してください。
ss_1281.png
なるべく、シナリオ中で使うBGM素材とは別のものを使ってください。
もし、ゲーム中でも同じBGMを使う場合は、ちょっとややこしいのですが、StaticAssetManagerにもそのAudioClipを設定してください。

Bgmを鳴らすのは、UtageUguiTitleが継承しているUguiViewというスーパークラス内で行っています。
画面を切り替えたときに、BGMが設定されていたらそれに変更する感じの処理をしています。

>いずれかのボタン(「はじめから」など)を押した後にフェードアウトで停止させたい
コンポーネントを独自に作成して、Bgmを止める処理を書いてください。
Bgmを止めるだけであれば、以下のように書けば可能です。

  SoundManager.GetInstance().StopBgm();

「BGMを止める」としたいButtonコンポーネントのOnClipから、作成したコンポーネントのBGMを止める命令を呼び出すように登録すれば可能だと思います。


2020年10月14日水曜日 19:42:14 UTC+9 nunu:

nunu

unread,
Oct 15, 2020, 5:54:29 AM10/15/20
to 宴ユーザーグループ
ご回答いただきありがとうございました。
ご教示いただいた箇所を確認しつつ、解決できました。

余談ですが、「SoundManager」を確認したところ「defaultFadeTime」のデフォルト値が0.2fと短めの値になっていましたので、それでフェードしていないと勘違いしていた節もあったようです。

「defaultFadeTime」を2.0fなどの長めの値に変更するだけでも、フェードアウト時などに違いが実感できました。
Reply all
Reply to author
Forward
0 new messages