
Unity の 3D オーディオ
Tutorial
Beginner
+10XP
20 mins
Unity Technologies

Unity エディターでは、3D 環境で音声がどのように知覚されるかをシミュレートするために、高忠実度のオーディオを設定することができます。サウンドを含むシーンの要素は、スピーカー空間に分散された 3D ポジションで表現されます。ボリュームのロールオフとピッチは、動くオブジェクトにも反映されます。例えば、電車が近づいてくる音を考えてみましょう。電車が近づくと音が大きくなるように感じますが、同時にピッチつまり音程の認識も大きくなります。しかし、電車が 「ヒューッ」と通過した直後には、おなじみのドップラー効果とボリュームのロールオフにより、音量とピッチが低下します。
1. セットアップしよう
本チュートリアルでは、空間的な環境で有効な 3D ステレオサウンドのデモを行います。3D Game Kitに同梱されているテンプレートシーンを簡略化して変更したシーンをサンプルとして説明します。3D Game Kit のテンプレートの詳しい説明は、Audio Setup のチュートリアルを参照してください。
ただし、このチュートリアルでは、大容量の 3D Game Kit のテンプレートパッケージをダウンロードする必要はありません。ご自分のプロジェクトのアセットを使って、キャラクターや乗り物、オーディオソースなどで自由に練習してください。また、サウンドファイルが収録された追加リソースも多数用意されていますので、ぜひご活用ください。セットアップするには:
1. シーンに Audio Listener コンポーネントがあることを確認してください。これは、デフォルトカメラからのものか、キャラクターにアタッチされたものです。
2. 乗り物などのゲームオブジェクトを入れます。このチュートリアルのシーン例では、宇宙船が 3 人称キャラクターのプレハブ 「Ellen」の前を通過するようにアニメーションしています。3D Game Kit のテンプレートからスペースシッププレハブを追加するには、Project ウィンドウで 3DGamekit > Prefabs > Environment > Dropship フォルダーに移動し、Dropship プレハブをシーンにドラッグアンドドロップします。
3. スペースシップをアニメーションさせることで、シーン内を移動する際に 3D オーディオの設定をプレビューできるようになります。ゲームオブジェクトをアニメーションさせるには、チュートリアルの「Working with Animations and Animation Curves」を参照してください。

2. 3D オーディオの使用
まず、Audio Source を追加する必要があります。Audio Source コンポーネントは、ゲームオブジェクトにアタッチされるとサウンドクリップを再生します。それでは、スペースシップにサウンドクリップを追加してみましょう。
1. Hierarchy ウィンドウで「Dropship」というタイトルの Spacehip Vehicle ゲームオブジェクトを選択した状態で、Inspector の Add Component ボタンを選択します。「audio」と入力して検索し、Audio Source を選択します。

2. Project ウィンドウでオーディオファイルを選択します。ここでは、Project ウィンドウの 3DGamekit > Audio > Environment > Dropship フォルダー内にある「Dropship_Stereo_Loop_01」というオーディオファイルを選択します。このクリップを Audio Source コンポーネントの AudioClip フィールドへドラッグします。

3. Spatial Blend 値スライダーをデフォルトの 0 (2D) からプラスの最大値 1 (3D) まで上げます。

4. Play ボタンを選択してプレイモードにすることで、3D オーディオをプレビューすることができます。

5. 選択して Inspector の Audio Source コンポーネントの 3D Sound Settings を展開し、さらに調整します。

- Doppler Level 値を設定することで、リスナーと音源との相対速度に応じて、ドップラーによるピッチシフトエフェクトをどの程度変化させるかを指定します。
- Spread の値を設定することで、スピーカー間の 3D サウンドの配分に影響を与えます。デフォルトの設定である 0 度では、3D サウンドは対応するスピーカーにパンされます。 最大分散値 360 度では、3D サウンドは反対側のスピーカーにパンされて必ずしも実用的でない場合があります。180 度の半分の値では、3D サウンドが均等に広がります。実用的には、広がりを 45 度以下に抑えることで、空間的な位置の影響を多少なりとも受ける環境音を作ることができます。
- Volume Rolloff フィールドのオプションは、リスナーが音から遠ざかるときに使用するロールオフの種類を設定します。オプションには、Logarithmic Rolloff カーブ、Linear Rolloff オフカーブ、または Custom Rolloff カーブが含まれます。
- Min Distance の値は、音源からの最小距離をメートル単位で設定します。この距離内では、ボリュームは最大レベルで再生されます。リスナーがこの値の外にいる場合、音声は減衰し始め、または音量は下がっていきます。
- Max Distance は、音源が減衰を停止する距離をメートル単位で指定します。
3. 次のステップ
Unity で 3D オーディオを扱う場合、3D の音環境に統合することで、音に空間的な品質を与えるツールを使用します。練習すれば、ボリュームレベルのロールオフやピッチ操作によるドップラー効果など、オーディオクリップに特定の 3D サウンド調整を適用するなど、自信を持ってクリエイティブな判断を下すことができるようになります。シーンのオーディオ要素がオーディオリスナーにどのように認識されるかによって、没入感のある空間指向の聴覚体験を作り出すことができます。シーンのオーディオ要素がオーディオリスナーにどのように知覚されるかによって、没入感のある空間指向の聴覚体験を作り出すことができます。