ゲームにバックグラウンドで流れる音楽やサウンドエフェクトはかかせません。Unity のオーディオシステムは柔軟かつパワフルです。多くの一般的なオーディオファイルファーマットをインポートでき、3D 空間でサウンドを再生するための洗練された機能、さらにエコーやフィルタリングのようなエフェクトを備えています。Unity はまた、ユーザーのマシンで使用可能なマイクから音声を録音することができ、ゲームプレイに使用したり、メッセージを送ることができます。
実生活では、音はオブジェクトから発され、人々に届きます。音が認識される方法は、多くの要因に依存します。リスナーは音がどの方向から聞こえるのか、その音からおおよその距離を音の大きさと質から測ることができます。動きの速い音源(落下する爆弾や通り過ぎるパトカーなど)はピッチを変えてドップラー効果を起こします。また、サラウンド効果は音の反射方法に影響します。洞窟内では声にエコーがかかりますが、野外では同じ声でもエコーがかかりません。
位置の影響をシミュレートするために、Unity は Audio Sources のついたオブジェクトから発生する音が必要になります。発生した音は Audio Listener のついた他のオブジェクト(主にメインカメラ)にひろわれます。Unity はリスナーオブジェクトからソースまでの距離と位置の影響をシミュレートし、それに応じて再生された音をユーザーに届けます。ドップラー効果によるリアリズムを加えるため、ソースとリスナーオブジェクトの相対速度もシミュレートされます。
Unity はシーンのジオメトリから正確なエコーを計算することはできませんが、オブジェクトに Audio Filters を付けることによってシミュレートすることができます。例えば、エコーフィルターを洞窟の中から聞こえるであろう音に付けることができます。オブジェクトが大きなエコーのある場所を出入りするような状況では、 Reverb Zone をシーンに加える事ができます。例えば、ゲーム内で車を運転してトンネルを抜けるような状況です。reverb zone をトンネル内に配置するとトンネルに入った時点で車のエンジン音がエコーし始め、出口に向かうにつれてエコーが小さくなっていきます。
Unity オーディオミキサー はさまざまなオーディオソースにエフェクトを適用し、さらにミックスさせ、マスタリングを行うことができます。
マニュアル内の Audio Source、Audio Listener、オーディオミキサー、audio effects そして Reverb Zone ページには多くのオプションやパラメーターに関して、正しい効果を得られるより多くの情報が掲載してあります。
Unity は AIFF、WAV、MP3、Ogg 形式のオーディオファイルを他のアセットのように、プロジェクトパネルにドラッグしてインポートすることができます。オーディオファイルをインポートすることでオーディオクリップが作成され、オーディオソースやスクリプトによって使用されます。オーディオクリップのリファレンスページには、オーディオファイルで使用可能なインポートオプションについての詳細がのっています。
Unity は短いオーディオサンプルを“楽器”として使用し曲を演奏する、トラッカーモジュールもサポートしています。トラッカーモジュールは .xm、.mod、.it、.s3m ファイルからインポートすることができ、通常のオーディオクリップとほぼ同じ用途で使用されています。
Unity はスクリプトからコンピューターのマイクにアクセスでき、直接レコーディングすることでオーディオクリップを作成できます。 Microphone クラスは使用可能なマイクを見つけそれらの機能を照会し、レコーディングセッションを開始および終了する API を供給します。Microphone のスクリプトリファレンスページにさらなる情報と録音のサンプルコードがあります。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.