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

オーディオの概要

ゲームにバックグラウンドで流れる音楽やサウンドエフェクトはかかせません。Unity のオーディオシステムは柔軟かつパワフルです。多くの一般的なオーディオファイルファーマットをインポートでき、3D 空間でサウンドを再生するための洗練された機能、さらにエコーやフィルタリングのようなエフェクトを備えています。Unity はまた、ユーザーのマシンで使用可能なマイクから音声を録音することができ、ゲームプレイに使用したり、メッセージを送ることができます。

基礎理論

実生活では、音はオブジェクトから発され、人々に届きます。音が認識される方法は、多くの要因に依存します。リスナーは音がどの方向から聞こえるのか、その音からおおよその距離を音の大きさと質から測ることができます。動きの速い音源(落下する爆弾や通り過ぎるパトカーなど)はピッチを変えてドップラー効果を起こします。また、サラウンド効果は音の反射方法に影響します。洞窟内では声にエコーがかかりますが、野外では同じ声でもエコーがかかりません。

Audio Sources と Listener
Audio Sources と Listener

位置の影響をシミュレートするために、Unity は Audio Sources のついたオブジェクトから発生する音が必要になります。発生した音は Audio Listener のついた他のオブジェクト(主にメインカメラ)にひろわれます。Unity はリスナーオブジェクトからソースまでの距離と位置の影響をシミュレートし、それに応じて再生された音をユーザーに届けます。ドップラー効果によるリアリズムを加えるため、ソースとリスナーオブジェクトの相対速度もシミュレートされます。

Unity はシーンのジオメトリから正確なエコーを計算することはできませんが、オブジェクトに Audio Filters を付けることによってシミュレートすることができます。例えば、エコーフィルターを洞窟の中から聞こえるであろう音に付けることができます。オブジェクトが大きなエコーのある場所を出入りするような状況では、 Reverb Zone をシーンに加える事ができます。例えば、ゲーム内で車を運転してトンネルを抜けるような状況です。reverb zone をトンネル内に配置するとトンネルに入った時点で車のエンジン音がエコーし始め、出口に向かうにつれてエコーが小さくなっていきます。

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

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

オーディオアセットでの作業

Unity は AIFFWAVMP3Ogg 形式のオーディオファイルを他のアセットのように、プロジェクトパネルにドラッグしてインポートすることができます。オーディオファイルをインポートすることでオーディオクリップが作成され、オーディオソースやスクリプトによって使用されます。オーディオクリップのリファレンスページには、オーディオファイルで使用可能なインポートオプションについての詳細がのっています。

Unity は短いオーディオサンプルを“楽器”として使用し曲を演奏する、トラッカーモジュールもサポートしています。トラッカーモジュールは .xm.mod.it.s3m ファイルからインポートすることができ、通常のオーディオクリップとほぼ同じ用途で使用されています。

録音

Unity はスクリプトからコンピューターのマイクにアクセスでき、直接レコーディングすることでオーディオクリップを作成できます。 Microphone クラスは使用可能なマイクを見つけそれらの機能を照会し、レコーディングセッションを開始および終了する API を供給します。Microphone のスクリプトリファレンスページにさらなる情報と録音のサンプルコードがあります。

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