Version: 2023.1
言語: 日本語
オーディオ
オーディオファイル

オーディオの概要

ゲームにバックグラウンドで流れる音楽やサウンドエフェクトはかかせません。Unity のオーディオシステムは、多くの一般的なオーディオファイルファーマットをインポートでき、3D 空間でサウンドを再生し、さらにエコーやフィルタリングのような任意の効果を適用することができます。Unity はまた、マシンの使用可能なマイクから音声を録音することができ、ゲーム中に使用したり、保存や送信を行うことができます。

基礎理論

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

Audio Sources と Listener
Audio Sources と Listener

位置の影響をシミュレートするために、Unity は、オブジェクトに設定された Audio Source から発生する音が必要になります。発生した音は、他のオブジェクト (大抵はメインカメラ) に設定された Audio Listener に取得されます。Unity はリスナーオブジェクトからソースまでの距離と位置の影響をシミュレートし、それに応じて再生された音をユーザーに対して再生します。また、ソースオブジェクトとリスナーオブジェクトの相対速度を使用して、ドップラー効果によるリアリズムを加えることができます。

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

Unity Audio Mixer を使うと、さまざまなオーディオソースをミックスしたり、効果を適用したり、マスタリングを行うことができます。

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

Unity は AIFFWAVMP3Ogg 形式のオーディオファイルを他のアセットと同様に、プロジェクトパネルにドラッグしてインポートすることができます。オーディオファイルをインポートしてオーディオクリップを作成し、Audio Source にドラッグしたり、スクリプトから使用することができます。オーディオクリップのリファレンスページでは、オーディオファイルで使用可能なインポートオプションについての詳細を説明しています。

音楽の場合、Unity はトラッカーモジュールもサポートしています。トラッカーモジュールは、節を演奏するためにアレンジ可能な “楽器” として短いオーディオサンプルを使用します。トラッカー モジュールは、.xm.mod.it.s3m ファイルからインポートして、他のオーディオクリップと同じように使用できます。

オーディオレコーディング

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

その他の参考資料

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