凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

ADX2 LE で BGM のフェードイン・フェードアウト

ADX2 LE で BGM のフェードイン、フェードアウトをする方法です。

画面遷移などで BGM のフェードアウトという機能はゲームをつくるのにあたって必須になります。
CriAtomSource の機能ではデフォルトではこの機能は提供されていなく、直ぐ停止してしまいます。
これをフェードアウトさせるための方法です。

が、調べてみると他の方法がみつからなかったのですが
処理が一番簡単そうなのは、どうも魔改造になるっぽいです。

・サウンド助け合い所 @ ウィキ - ADX2LE情報
AtomSourceからCriAtomExPlayerを得る(CriAtomExPlayerを呼び出す改良)
http://www53.atwiki.jp/soundtasukeai/pages/22.html#id_6c095b2d

CriAtomExPlayer を取得して設定するのが一番早いので
上記のとおりに CriAtomSource.cs に CriAtomExPlayer を取得するソースを追加します。

そして追加したソースで CriAtomSource から CriAtomExPlayer を取得して設定します。

CriAtomSource atomSource;
// フェードイン時間セット(ミリ秒)
atomSource.Player.SetEnvelopeAttackTime(2000.0f);
// フェードアウト時間のセット(ミリ秒)
atomSource.Player.SetEnvelopeReleaseTime(2000.0f);


CriAtomExPlayer の SetEnvelopeAttackTime が再生時のフェードインの時間で
SetEnvelopeReleaseTime が停止時のフェードアウトの時間の設定となります。
両方ともミリ秒での指定になります。

一応これでフェードインでの再生、フェードアウトしての停止が動いているようです。
が、魔改造ではあるので、公式にプレイヤーを使えるようにしてほしいなーと思う今日この頃です。
この方法凄く楽ですし…(苦笑
もしくは CriAtomSource で ReleaseTime が設定できるようになるといいなーと。

他にも方法があると思うのでまた調べてみようと思います。
スポンサーサイト

| Unity | 01:45 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/77-6a1da28f

TRACKBACK

PREV | PAGE-SELECT | NEXT