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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

ADX2 LE の音をスクリプトから鳴らす

Unity で ADX2 LE で作成した音をスクリプトから鳴らす方法です。

・Unity で ADX2 LE を使って BGM を再生する
http://kagring.blog.fc2.com/blog-entry-16.html

確か上記のページにも書いてあった気がしますが、
ADX2 LE を使う場合、GameObject を作ることになります。

その GameObject に対してこんな感じで書くことで音を自由に鳴らすことができます。

// 取得
GameObject gameObject = GameObject.Find("オブジェクト名");
CriAtomSource atomSource = gameObject.GetComponent< CriAtomSource>();
atomSource.Play();


これで音が鳴ります。
一つのゲームオブジェクトに複数の音のスクリプトを追加した場合は、
atomSource.cueName にキューの名前がはいっているので
これで判断して鳴らすのが良いのではないでしょうか。

それと、鳴らした音を個別に止めたかったり、再生中だったりを判断する場合はこんな感じに。

// Play() の返り値を取得
GameObject gameObject = GameObject.Find("オブジェクト名");
CriAtomSource atomSource = gameObject.GetComponent< CriAtomSource>();
CriAtomExPlayback playback = aSource.Play();
// CriAtomExPlayback を調べることで状態が分かる
// 音声再生中
if( playback.GetStatus() == CriAtomExPlayback.Status.Playing ){
}
// 停止することもできる
playback.Stop();


実際はローカル変数じゃないもので保持する感じになるのではないかと。
音が投げっぱなしでいいものはともかく、
ボイスなどを扱う場合はここらへんが必須になるのかなと思います。

まだここらへんは初歩だと思うのでいろいろ見ていこうかと。
スポンサーサイト

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

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/69-e748bb2a

TRACKBACK

PREV | PAGE-SELECT | NEXT