ルームやポータルに関するチュートリアル
このチュートリアルでは、Spatial Audioでルームやポータルを使う方法を説明します。チュートリアルの手順内容が、以下のセクションに詳しく書かれています。
注: このチュートリアルの前提として、 Spatial Audioチュートリアルの事前準備 を完了しておいてください。一方、 サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル とは独立しているので、終了していなくても問題ありません。もし サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル を実施してあり、続けてこのチュートリアルを行う場合は、オプション手順の C.2. 別の方法: 新しいボリュームを作成する を元に戻せばシーンのほかの部分を変更する必要はありません。最初から始めたくて、すでに サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル を実施してある場合は、シーンを維持することも可能で、Ak Surface Reflectorコンポーネントだけを削除します。
A. Wwise Project
ルームとポータルのチュートリアルを行う前に、エミッターが視界から消えた時にポータルを通して回折が聞き取れるように、Reverbエフェクトを追加してObstructionカーブを編集する必要があります。
- Master Audio Busの下に、Auxiliary Busを2つ追加して、SmallRoomとLargeRoomという名前にします。Auxiliary Bus Property Editorを開いて
- Effectsタブで、Wwise RoomVerbエフェクトを追加します。私が選んだのは2つのファクトリープリセットで、SmallRoomにはRooms/Room_Mediumを選択して、LargeRoomにはCathedrals/Mediumを選択しました。
ルームの、Auxiliary Bus Property EditorのEffectsタブ
- Positioningタブで、ポジショニングを有効にして、3Dを選択します。
ルームの、Auxiliary Bus Property EditorのPositioningタブ
- Effectsタブで、Wwise RoomVerbエフェクトを追加します。私が選んだのは2つのファクトリープリセットで、SmallRoomにはRooms/Room_Mediumを選択して、LargeRoomにはCathedrals/Mediumを選択しました。
- Project > Project Settings > Obstruction/Occlusion
- 以下に従い、カーブを変更します:
Curve Point 1 Point 2 X Y X Y Obstruction Volume 0 0 100 -3 Obstruction LPF 0 0 100 60 - Obstruction Volumeカーブは、このようになります:
Wwise Project Settingsの、Obstruction/Occlusionカーブ
- 以下に従い、カーブを変更します:
- プロジェクトを保存する。
B. Spatial Audio Emitter
新たに作成したリフレクトAuxバスを使うには、スペーシャルオーディオのエミッターを調整する必要があります。
- Wwise PickerでWwiseプロジェクトをリフレッシュします: Windows > Wwise Picker
- サウンドバンクを生成します
Wwise Picker
- サウンドバンクを生成します
- 各ボタンの、Ak Spatial Audio Emitterコンポーネントを変更します。
- Room Reverb Aux Bus Gainパラメータで、ゲインを1にします。
- Debug Drawの下のDraw Sound Propagationにチェックを入れて、ほかのチェックを全て外します。
RoomやPortal用のAk Spatial Audio Emitter
- 次のセクションでルームを使用するので、Ak Game Objコンポーネントの警告メッセージに従い、エミッターにRigidbodyコンポーネントを追加する必要があります。
- Add Rigidbodyをクリックします
Ak Game Objコンポーネント
- Add Rigidbodyをクリックします
C. Rooms
それぞれのルームに、それぞれのリバーブを設定します。これを行うには、Ak Roomコンポーネントを使います。
- Cubeを使って、レンダリングされていないメッシュを作成します: GameObject > 3D Object > Cube
Object Name Position Rotation Scale Small Room Interior (-2, 2.875, -6) (0, 0, 0) (11, 5.25, 7.5) Large Room Interior (11.5, 2.875, 3.25) (0, 0, 0) (15, 5.25, 21) - Mesh Rendererコンポーネントを除きます。
- Box Colliderコンポーネントの、Is Triggerにチェックを入れます。
- Small RoomとLarge RoomのInterior Volumeに、Ak Roomコンポーネントを追加します。
- Reverb Aux Bus用に、該当するSmallRoomまたはLargeRoomのAuxバスを選択します
- エミッターにRigidbodyを追加してある場合は、ここでは不要です。していない場合は、Add Rigidbodyをクリックします。
Ak Roomコンポーネント
- ゲームをスタートさせてWwiseに接続してから、Game Object Profilerレイアウトを開きます
- 全てのエミッターとリスナーをウォッチします。
- Game Object 3D Viewerビューを開きます。エミッターが、各々のルームにあるはずです。下図は、シーンを上から見たビューです。リスナーとButton Outsideはルーム内にないので、デフォルトで"Outdoors"ルームに入れられます。全てがそれぞれのルーム内でなく屋外にある場合は、スペーシャルオーディオが無効になっていることを示します。リスナーにAk Spatial Audio Listenerコンポーネントを追加するのを忘れていませんか。手順3.Bを行います。
設定された部屋にあるエミッターと、屋外のリスナー
- リスナーを1つの部屋に移動して、Game Object 3D Viewerで、リスナーゲームオブジェクトの下の室名が変わるのを確認します。下図では、リスナーが大きい方の部屋にいます。
設定された部屋にあるエミッターと、Large Room Interiorにいるリスナー
- 1つの部屋のボタンを押して、リバーブを聞きます。
- 小さい方の部屋のボイスグラフは、このようになるはずです:
Button Small Roomのリバーブ付きVoice Graph
- リスナーがエミッターと違う部屋にいるときは、音のオクルージョンが完全です。ほかの部屋の音を特定の開口部を通して聞くには、ポータルを追加する必要があります。
- 小さい方の部屋のボイスグラフは、このようになるはずです:
![]() | 注記: 屋外にリバーブを追加するには、エリア全体の周りにルームを追加します。このルームのプライオリティは、必ずSmall Room InteriorやLarge Room Interiorよりも低くします。 |
D. Portals
部屋をほかのエリアに接続するには、ポータルが必要です。2つのポータルが必要ですが、それは小部屋から外へ続くドアの上と、2つの部屋の間の、2ヶ所です。
- Ak Room Portalコンポーネントを2つ作成します: GameObject > Wwise > Room Portal
Object Name Position Rotation Scale Outside Portal (0, 2, -10) (0, 0, 0) (2, 4, 2) Inside Portal (3.75, 2, -4.5) (0, 90, 0) (3.5, 4, 2) - Ak Room Portalコンポーネントで:
- Open On Start.
- Close On Nothing.
- Back RoomとFront Roomに表示されたAk Roomコンポーネントが正しいことを確認してください。
- InsideポータルのAk Room Portalコンポーネントは、このようになるはずです:
Ak Room Portalコンポーネント
- Sceneウィンドウで、ポータルの周りに黄色い帯が表示され、ポータルの大きさと配置する時の向きを示します。赤線が、ポータルの表と裏のエリアの境界線を示します。前は、ローカルのZ軸と同じ方向です。
Sceneウィンドウの、Ak Roomポータル
- ゲームをスタートする。Draw Sound Propagation図面に、ポータル経由の音がどこからくるのかが、すでに出ているはずです。左の球体は小部屋のエミッター、右の球体は大部屋のエミッターからくるものです。後者は、実際には大小の部屋をつなぐポータルからきています。音の伝播は球体で表され、赤がウェットディフラクション(wet diffraction)角度、青がドライディフラクション(dry diffraction)角度で、角度によって大きさが変化します。
スタート時のゲームウィンドウ
- Wwiseに接続する。
- Button Outsideを再生して、小部屋に入ります。
- 同じSound Propagation図面が、屋外につながるポータルを通して屋外エミッターからくるのが分かります。
リスナーがSmall Room Interiorにいるときの、Button OutsideからのSound Propagation図面
- 視界に入ったり出たりしてみて、音に適用されたディフラクション(回折)を耳で確認します。リスナーとポータルの間の角度によって、ディフラクションが多く聞こえたり少なく聞こえたりします。下図は、リスナーとButton Outsideをウォッチしたときの様子です。シーンを上から見たビューが、Game Object 3D Viewerに表示されます。濃い赤色がポータルです。中央にあるのがOutside Portalで、ポータルより上がSmall Room Interior(小部屋内)、ポータルより下がOutside(屋外)です。リスナーはSmall Room Interior内にいて、再生中のエミッターはButton Outsideです。図では、リスナーとエミッターの間の音の伝播が緑で表示されています。ディフラクション角度(Diffraction angle)は、103.3です。また、Button Outsideエミッターのバーチャルポジションが右にあります。聞こえてくる音がポータルを通過するのは、ここです。
Portal diffraction angle on Game Object 3D Viewer
- 同じSound Propagation図面が、屋外につながるポータルを通して屋外エミッターからくるのが分かります。
E. ポータルと、リバーブ
ポータルから出る音に、リスナーが現在いる部屋のリバーブを適用することもできます。
- SmallRoom Auxiliary BusをProperty Editorで開いて、General SettingsタブのUse game-defined auxiliary sendsにチェックを入れます。これで、小部屋のリバーブが、同じシーンのほかのリバーブに送られます。
ルームリバーブをほかのリバーブに送るときの、Auxiliary Bus Property EditorのGeneral Settingsタブ
- 小部屋のエミッターを再生中に大部屋に入ると、小部屋のリバーブが、大部屋のリバーブに送られるのが分かります。
Voices Graphで、Button Small Roomリバーブが、Large Room Interiorのルームリバーブに送られる
F. サーフェスリフレクタと、リバーブ
アーリーリフレクションを部屋のリバーブに送ることもできます。このシーンにサーフェスリフレクタを追加してみます。
- セクション サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル に続いて、
- Reflectエフェクトを適用したAuxiliary Busを追加します。
- 各Ak Spatial Audio Emitterを、新しいReflect Auxiliary Busにリンクします。
- Ak Surface Reflectorコンポーネントを全ての壁や床に追加します。
- Wwiseプロジェクトで、Reflectエフェクトを適用したAuxiliary Busを開きます。
- General Settingsタブで、Use game-defined auxiliary sendsにチェックを入れます。
Auxiliary Bus Property EditorのGeneral Settingsタブで、ルームリバーブにアーリーリフレクションを送る
- General Settingsタブで、Use game-defined auxiliary sendsにチェックを入れます。
- シーンを再生して、小部屋のボタンを押します。プレイヤーが小部屋にいると、Voices Graphには以下のように表示されます:
Voices Graphで、小部屋のアーリーリフレクションを、小部屋のリバーブに送る
Wwise Unity Integrationに対してThu Feb 1 09:40:26 2018に生成されました。
