Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

Unity サウンドを扱う際の基礎知識

今回はサウンドの勉強をしたので、ブログに書いておきます。

ぼんやりとしか把握していなかったのでとても勉強になりました。

 

まずサウンドを構成する基本三要素!この三要素について書いていきます。

 

AudioClip(サウンドの素材)

AudioSound(スピーカー、再生処理)

AudioLisner(ゲーム内の耳)

 

このような流れでUnityでは音が再生されます。

そして基本といいながらすでにAudioLisnerは初耳でした(汗)

AudioLisnerはゲーム内の耳でありパラメーターなどもないため基本的には触ることがないようです。ゲーム内の耳であることから基本的にはカメラに追従して、シーンの中にはひとつしかありません。

 

音源のAudioClipをインポートして、スピーカーであるAudioSoundで再生してAudioLisnerで聞く(音を鳴らす)という流れです。

 

また、スピーカーであるAudioSoundは2種類に大別されます。BGMのように均等に聞こえる音の再生と、銃声などキャラクターや物体などの位置により聞こえ方が変わる音の再生です。これはAudioSoundのInspectorパネル、SpatialBlendで操作することができます。

 

それではAudioSoundのInspectorの設定の大事な部分を見ていきます。

f:id:nabesi777:20180927221408j:plain

 

PlayOnAwake

ゲームオブジェクトが有効になった瞬間に再生する。ほとんどスクリプトから制御するためオフにすることが多い。

Loop

文字通りループするかどうかBGMなどはループして欲しいのでチェックする。

Priority

再生の優先順位。絶対に再生してほしいBGMなどへは0をいれます。0~255の間で設定します。ちなみにUnityでは32個の音が同時再生限度であり、それを超えると音が消えます。

Volume

音量設定0~1

SpatialBlend

先ほど言及した音の聞こえる方向をどのくらいの影響度にするか0~1の数値で設定します。

 

 

AudioClip(サウンドの素材)

f:id:nabesi777:20180927222840j:plain

 

ForceToMono

強制的にモノラルデータに変換する。効果音はモノラルでいいので活用する。BGMなどへはほとんどステレオ素材のため使用しない。

 

LoadinBackground

シーンロードの際にメモリに読み込むか、非同期的に読み込むかを設定する。サイズの大きいものに適用するとシーンロードが早くなる。しかしシーンロード直後に再生するものには適用しない。

 

LoadType

実行時にサウンドデータをどのように読み込むかの設定

・DecompressOnLoad・・メモリ消費大、CPU負担軽減、効果音で大量で短く再生されるものに向く。

・CompressedInMemory・・メモリ消費小、CPUやや負荷、SE(効果音)関係に使用。

・Streaming・・メモリに置かずストレージから直接読み込む。ボイスやBGMなど長いものに向く。

 

Quolity・・圧縮クオリティ。クオリティを下げるとファイルサイズは小さくなるが、クオリティも落ちる。

 

 

AudioLisner(ゲーム内の耳)

 

f:id:nabesi777:20180927222958j:plain

 

デフォルトでカメラにアタッチされている。操作する部分はないが1つのシーンに2つついてるとエラーとなる。固定カメラでカメラが切り替わるゲームなどは有効となっているカメラの位置と角度に常に追従させる必要がある。

 

今回は以上です!知らないことが多いですね。

サウンドも奥が深い!!