
オーディオのセットアップ
Tutorial
Beginner
+10XP
60 mins
Unity Technologies

Unity エディターでは、カスタマイズに特化した機能を使って、忠実度の高いオーディオを扱うことができます。Unity のオーディオで作業する場合、複数のソース、BGM、サウンドエフェクトを含む高品質なサウンドスケープを効率的にデザインすることができます。
本チュートリアルでは、シーンにオーディオを設定する方法と、特定のオーディオツールやテクニックを使ってサウンドをカスタマイズする方法を学びます。学習内容は:
- プロジェクトに音声ファイルを設定する
- シーンにオーディオソースを追加し、カスタマイズする
- オーディオミキサー (Audio Mixer) を使う
- オーディオフィルターとサウンドエフェクト
本チュートリアルを終える頃には、オーディオの汎用性の高さと、複数のオーディオクリップや追加のエフェクトフィルターを使ってカスタマイズしたサウンドスケープを簡単に作成できることをしっかりと理解していることでしょう。
1. プロジェクトの準備
Unity でオーディオファイルを扱うことは、他のタイプのメディアアセットを扱うのと同様に簡単です。Unity では、.wav、.mp3、.ogg ファイルなど、ほとんどの標準的なオーディオファイル形式に対応しています。Unity でサウンドファイルを扱う際には、外部のオーディオエディターでサウンドファイルを準備し、レベルが一定でノーマライズされていることを確認しておくとよいでしょう。その上で、オーディオクリップをプロジェクトの Assets フォルダーに直接インポートする必要があります。
本チュートリアルでは、「3D Game Kit」という 3D アクションゲームのテンプレートに用意されているオーディオクリップを使ってデモを行います。Unity のアセットストアでダウンロードできる 3D Game Kit のテンプレートには、.ogg ファイル形式のオーディオのサウンドエフェクトが含まれています。また、より小さなファイルサイズのテンプレートをダウンロードしたい場合は、3D Game Kit Lite には音声ファイルも含まれていますので、シーンに組み込んでお楽しみいただけます。
ただし、このチュートリアルのために大容量の 3D Game Kit のテンプレートパッケージをダウンロードする必要はありません。ご自分のプロジェクトのアセットを使って、外部のオーディオソースで試してみてください。また、サウンドファイルが収録された追加リソースも多数用意されていますので、ぜひご活用ください。
3D Game Kit のテンプレートをダウンロードするには、以下の手順に従ってください。そうでない場合は次のセクションに進んでください。
1. ウェブブラウザから Unity Asset Store にアクセスし、Open in Unity ボタンを選択して 3D Game Kit Package を開きます。

2. ポップアップウィンドウから Open Unity.app ボタンを選択します。

3. Unity エディターの Package Manager ウィンドウで Import ボタンを選択します。

4. 3D Game Kit には、Cinemachine などの追加のパッケージの依存関係が含まれているため、ポップアップの警告ダイアログウィンドウから Install/Upgrade ボタンを選択して、Package Manager の依存関係がインストールされていることを確認してください。

5. Import Unity Package ウィンドウの下部にある Import ボタンを選択します。

6. Project ウィンドウの Assets/3DGamekit/Scenes フォルダーに移動し、「_TemplateScene」というタイトルのシーンを開いて、3D Game Kit のテンプレートシーンを開きます。

7. わかりやすくするために、Hierarchy ウィンドウでシーンのゲームオブジェクトを削除し、以下に示す環境のゲームオブジェクトだけを残します。

2. オーディオリスナーの追加
Audio Listener コンポーネントは、シーンのカメラに自動的に含まれます。これは、カメラのリスニングポジションの視点から、ゲーム環境に伝わってくる音を耳で聞いているのと同じです。
1. トップメニューのドロップダウンから、GameObject > Camera と選択します。これでシーンに新しいカメラが追加され、Audio Listener コンポーネントが自動的に含まれるようになります。

Audio Listener コンポーネントは設定することができず、1 つのシーンに 1 つだけ存在する必要があります。別々のカメラを持つゲームキャラクターを追加する場合は、シーン内に Audio Listener コンポーネントが 1 つだけ存在するようにしてください。
3. プロジェクト内でのオーディオの準備とプレビュー
オーディオファイルの設定は、シーンやエクスポートしたビルドにロードされることを想定して行います。まず、Inspector でオーディオファイルをプレビューします。
1. プロジェクトの Assets フォルダーから直接オーディオファイルを選択した状態で、Inspector ウィンドウの右下、オーディオ波形のすぐ上にある Play (再生) ボタンを選択すると、オーディオが再生されます。

シーン内でのオーディオデータの扱いに影響を与える設定もあります。
- Force to Mono:このチェックボックスを選択すると、マルチチャンネル音声がモノラルトラックにミックスダウンされます。ステレオの音声クリップを高品質のまま保存したい場合は、このチェックボックスのチェックを外してください。
- Load in Background:この機能は、複数のサウンドクリップや非常に大きなオーディオファイルなど、シーンの最初に再生することが重要でないものをロードするときに使用するとよいでしょう。これにより、ゲームのロード時間を短縮することができます。シーンの開始時には、オーディオクリップはメモリにロードされています。この機能は、デフォルトで有効になっている Preload Audio Data チェックボックスと連動しています。
- Ambisonic:マルチチャンネルのサラウンドサウンドオーディオファイルを読み込む場合には、このチェックボックスを有効にしますが、そうでない場合はデフォルトではチェックを外したままです。
2. プロジェクトのニーズに合わせて設定を変更または修正した場合は、必ず Apply ボタンを選択して設定を適用してください。そうでない場合は、すべての設定をデフォルト値のままにしておきます。

4. オーディオソースの追加
Audio Source (オーディオソース) コンポーネントは、シーンの中で実際に音を再生するもので、オーディオクリップのスピーカーと考えてもよいでしょう。まず、シーンの開始時に自動的に再生される環境音として、バックグラウンドのサウンドクリップを追加してみましょう。
1. トップメニューのドロップダウンから選択して、Empty ゲームオブジェクトを作成します:
GameObject > Create Empty と選択し、新しく作成したゲームオブジェクトの名前を 「Background_Sound」に変更します。
2. Project ウィンドウでオーディオファイルを選択します。ここでは、3D Game Kit の Audio フォルダーに入っている 「Atmos_Overground_01」というオーディオファイルを選択します。クリップを Scene ウィンドウや Hierarchy ウィンドウにドラッグして、シーンに Audio Source を追加します。この新しいゲームオブジェクトを、Background_Sound ゲームオブジェクトの子にします。

3. オーディオソースを再生するには、Play モードに入るか、Scene ウィンドウの上部にある Toggle Audio ギズモボタンを選択します。

4. Audio ゲームオブジェクトの Audio Source コンポーネントにある Play On Awake のチェックボックスがデフォルトで有効になっているため、Play モードを開始すると、大気中のバックグラウンドサウンドクリップが自動的に再生されます。オーディオクリップをループさせるには、Loop チェックボックスを選択します。

Audio Source は、コンポーネントとして他のゲームオブジェクトに追加することもできます。ここでは、まずキャラクターのモンスターをシーンに追加してみましょう。
5. Project ウィンドウでキャラクターファイルを選択します。ここでは、3DGame Kit の Prefabs/Characters/Enemies/Chomper フォルダーに用意されている 「ChomperRagdoll」というキャラクターを選択します。このモンスターをシーンに配置します。
6. Chomper の動作は Play モードに入ってから数分後に消えるように設定されているので、Dissolve (Script) コンポーネントの横にあるチェックボックスを選択解除して、この機能を無効にします。

7. Hierarchy ウィンドウでモンスターゲームオブジェクトを選択し、Inspector で Add Component ボタンを選択し、検索してから Audio Source を選択します。

8. オーディオファイルを Inspector の AudioClip フィールドにリンクするには、まず Inspector の AudioClip プロパティの横にある Object Loader Circle ボタンを選択してから、サウンドクリップを選択します。または、Project ウインドウでオーディオファイルを選択し、AudioClip フィールドにドラッグアンドドロップすることもできます。

9. Play ボタンを選択してプレイモードにすると、音声をプレビューできます。

10. 再生中に Chomper の音をループさせるには、Loop の横にあるチェックボックスを選択します。

5. オーディオミキサーの使い方
Unity オーディオミキサー (Audio Mixer) は、様々なオーディオソースを柔軟にミックスすることができます。ミキサーでは、オーディオのマスタリング、オーディオチャンネルのルーティング、エフェクトの追加などを行うことができます。
1. トップメニューのドロップダウンから、Window > Audio > Audio Mixer の順に選択します。

2. Mixers の下にある ResonanceAudioMixer (Audio Listener) - Inactive を選択すると、Groups サイドパネルが表示され、Master に含まれる Music、Spatial、FX Groups が表示されます。

3. オーディオを Mixer に送るには、まず Hierarchy で Audio ゲームオブジェクトを選択する必要があります。ここでは、バックグラウンドの周囲の音を選択します。次に、Inspector で Output フィールドのオブジェクトローダーの丸いボタンを選択します。Select AudioMixerGroup のポップアップウィンドウで ResonanceAudioMixer を Music グループに設定して、周囲の音を BGM として分類します。

4. Play ボタンを選択して Play モードに入ります。Audio Mixer の Music グループと Master グループの両方で、音声信号をプレビューすることができます。

5. Play モードでプレビューしながらレベルを調整するには、Edit in Play Mode ボタンを選択します。Music Mixer Group コントローラーのレベルスライダーを上にドラッグして音量を上げます。

6. また、Master Levels スライダーをドラッグすることで、全体のサウンドに影響を与えることができます。レベル調整後に Play モードを終了すると、新しい値が変更されたままになります。
6. ミキサーを使ったオーディオエフェクトの適用
エフェクトフィルターを適用することで、オーディオクリップを強化することができます。例えば、Normalize Effect は、音声信号のレベルを一定に保つためのエフェクトです。このエフェクトは、オーディオソースのボリュームレベルにばらつきがあり、それを均一にしたい場合に適用します。さらに、Flange Effect を適用して、リスナーが閉ざされた空間からオープンな場所に移動するような音響環境をシミュレートすることもできます。また、ソースオーディオにもっと低音が欲しい場合は、ParamEQ エフェクトを使ってオーディオのイコライザーを調整します。
これらのエフェクトやその他のエフェクトを Audio Mixer ウィンドウで追加していきます。まず、周囲の音のバックグランドの Music Group に ParamEQ エフェクトを追加してみましょう。
1. Audio Mixer ウィンドウで、Music Group 列の下部にある Add ボタンを選択し、ドロップダウンメニューから ParamEQ を選択します。

2. ParamEQ エフェクトを有効にすると、Inspector ウィンドウで調整を開始することができます。

3. グラフ上でマウスをクリックしたままカーブを上方向にドラッグして、特定の周波数帯域を強調したい場所で選択します。Center freq のスライダーをドラッグして、カーブを左右に調整し、周波数を低くしたり高くしたりします。オクターブ範囲のスライダーを調整して、カーブの範囲を狭くしたり広くしたりします。Frequency gain スライダーを調整して、カーブを上下させます。下の例では、低音域が強調されているので、カーブを合わせて何度か実行してみてください。

4. Play モードに入り、オーディオトラックを再生します。Audio Mixer ウインドウまたは Inspector ウインドウで Edit in Play Mode ボタンを選択すれば、オーディオエフェクトの微調整をリアルタイムで続けることができます。

5. ここでは、モンスターキャラクターの音声を、Audio Mixer の独自のグループに割り当てます。まず Hierarchy でキャラクターを選択し、Inspector で Output フィールドのオブジェクトローダーの丸いボタンを選択します。Select AudioMixerGroup ポップアップウィンドウで ResonanceAudioMixer を FX グループに設定します。

現実の環境では、地形や周囲のオブジェクトが音の伝わり方に影響を与えます。様々な環境は、音を減衰させたり、反射させたり、増幅させたりして、音の感じ方に影響を与えます。例えば、モンスターの咆哮は、半密閉された岩の多い峡谷の中と、広い丘の上とでは質が異なります。このような状況を再現するために、様々な方法でリバーブエフェクトを適用して、音に空間的な質感を与えることができます。
6. Audio Mixer ウィンドウで、FX Group 列の下部にある Add ボタンを選択し、ドロップダウンメニューから SFX Reverb を選択します。

7. SFX Reverb エフェクトを適用した状態でプレイモードに入り、音声をプレビューします。SFX Reverb エフェクトをリアルタイムに調整するには、まず、Inspector ウィンドウまたは Audio Mixer ウィンドウの Edit in Play Mode ボタンを選択して有効にし、Inspector で SFX Reverb の値のスライダーをドラッグして目的のエフェクトに設定します。

7. Inspector を使ったオーディオエフェクトの適用
Audio Effect (オーディオエフェクト) のフィルターを適用し、その値を Inspector から直接調整することができます。例えば、Audio Reverb コンポーネントというサウンドエフェクトには、オーディオミキサーの SFX Reverb フィルターにはない機能が含まれています。
1. ここでは Reverb Effect を独立したコンポーネントとして適用するので、2 つの Reverb Filter が重ならないように、まず Audio Mixer ウインドウで作成した先に追加した Reverb Effect を無効(またはバイパス)にする必要があります。エフェクトをバイパスするには、FX ミキサーグループの Bypass ボタンを選択します。

また、エフェクトをバイパスする代わりに、Audio Mixer ウィンドウの SFX Reverb フィールドを右クリックし、ドロップダウンメニューから Remove を選択することで、エフェクトを完全に削除することができます。

2. Hierarchy ウィンドウでモンスターキャラクター 「ChomperRagdoll」のゲームオブジェクトを選択した状態で、Inspector の Add Component ボタンを選択し、「audio 」と入力して、Audio Reverb Filter を選択します。

2. Inspector の Audio Reverb Filter コンポーネントの設定で、Reverb Preset オプションの User と書かれたフィールドを選択し、ドロップダウンメニューオプションのリストから選択します。

3. プレイモード中にプリセットを選択すると、リバーブの 3D 空間エフェクトをリアルタイムに確認することができます。なお、Livingroom や Stoneroom のような微妙な Reverb Presets では、その違いがわかりにくい場合があります。Reverb Presets を Cave や Concerthall のようなよりドラマチックなオプションに変更して、その違いを試してみてください。モンスターキャラクターのサンプルシーンでは、Stone Corridor を選択すると、岩場の囲いの中から聞こえてくるような音声効果を得ることができます。

4. 追加のオーディオエフェクトは別のコンポーネントとして用意されています。リズミカルなサウンドにしたい場合は、エコーフィルターを追加すると、スタイルに合ったユニークな効果が得られます。Inspector ウィンドウの Add Component ボタンを選択し「audio」と入力して検索し、Audio Echo Filter を選択します。

4. プレイモードで Echo Filter の値を調整すると、リアルタイムで効果を微調整することができます。

8. 次のステップ
Unity でオーディオを扱う際には、音環境の中で複数のサウンドをミックスして微調整することができます。繰り返し実行すれば、サウンドクリップや BGM、さらには生き物の声などに特定の調整を加えるなど、自信を持ってクリエイティブな判断ができるようになります。また、このツールを使って練習や実験をすることで、きめ細かな高品質のオーディオサウンドスケープ環境を作ることができるようになります。