オーディオ
オーディオファイル

オーディオの概要

ゲームは BGM や効果音など何かしらの音がなければ不完全なものです。Unity のオーディオシステムは柔軟でパワフルなものです。それは、ほとんどの標準的なオーディオファイルをインポートし、3D 空間でエコーやフィルタリングのようなエフェクトが適用される高機能な音の再生を行うことが可能です。

基礎理論

実生活において、音は物によって立てられ、聞き手によって聞かれます。音が認知される方法はさまざまな要因に依存しています。聞き手は音がどの方角から聞こえるのか、大まかに言えますし、また、距離や音量、音質などを大まかに掴むかもしれません。素早く動く音源(落下爆弾や、警察車両の通行など)は、動きに応じて生じるドップラー効果により音の高さが変化します。また、環境は音の反響に影響しますので、洞窟内での声にはエコーがかかり、同じ声でも開かれた場所ではそうはなりません。

音源とリスナー
音源とリスナー

位置による効果をシミュレートするために、オブジェクトにアタッチされた Audio Sources から発生する音を必要とします。音が発生したあとは、他のオブジェクトにアタッチされた Audio Listener によって認識されます。大体の場合はメインカメラがその役を果たします。Unity はリスナーオブジェクトから音源との距離や位置関係による効果をシミュレートすることができ、ユーザーに応じてそれらを再生します。音源とリスナーオブジェクトの相対速度も、ドップラー効果をシミュレートして現実感を表現するのに利用できます。

Unity はシーン内に設置されているものを用いた純粋なエコーを演算することはできませんが、Audio Filters をオブジェクトに追加することでシミュレートすることはできます。例えば、洞窟内からの音を思わせるエコーフィルターを音に適用することができます。強いエコーがかかっていて、オブジェクトが出入りできる場所という状況では、シーンに Reverb Zone を追加することができます。例えば、あなたの開発しているゲームに、トンネルをくぐり抜けて走る要素が含まれているかもしれません。Reverb Zone をトンネルの内側に設定しておけば、車のエンジン音はトンネルに入ればエコーがかかり始め、反対側から出るとエコーが無くなるでしょう。

Unity オーディオミキサー はさまざまなオーディオソースにエフェクトを適用し、さらにミックスさせ、マスタリングを行うことができます。

マニュアル内の Audio SourceAudio Listenerオーディオミキサーaudio effects そして Reverb Zone ページには多くのオプションやパラメーターに関して、正しい効果を得られるより多くの情報が掲載してあります。

オーディオアセットを使用する

Unity は他のアセットと同じ方法で AIFFWAVMP3 そして Ogg 形式のオーディオファイルをインポートすることができます。インポートはプロジェクトパネルにファイルをドラッグするだけでできます。オーディオファイルをインポートすることで、オーディオクリップ( Audio Clip )が作成され、Audio Source コンポーネントにドラッグしたり、スクリプトから使用することができます。オーディオクリップのリファレンスページにはオーディオファイルで利用可能なインポートオプションについてより多くの詳細が掲載されています。

音楽においては、Unity は音を再生するために配置された「楽器」として、短いオーディオサンプルを使用するトラッカーモジュールもサポートしています。トラッカーモジュールは .xm.mod.it.s3m ファイルからインポートできますが一方で、多くの通常のオーディオクリップと同じように使用できます。

音声の録音

Unity はコンピューターのマイクにスクリプトからアクセスし、直接録音することでオーディオクリップを作成することができます。Microphone クラスは利用可能なマイクを見つけ、それらの機能を検索して録音を開始・終了させる簡単な API を提供します。スクリプトリファレンスの Microphone ではより多くの情報と音声録音のサンプルコードを掲載しています。

オーディオ
オーディオファイル