実際の音響環境では、閉ざされた空間からくる音は壁を透過して聞こえ、ドアや窓などの開口部からも聞こえてきます。Spatial Audioは、ルームやポータルというジオメトリのハイレベルな抽象化を使い、このエフェクトをシミュレーションします。
Wwise Project
- Wwiseプロジェクトで、各部屋に新しいAuxiliary Busを作成します。
- 子Auxiliary Busを追加する場所を右クリックします
New Child > Presets を選択し、Room Auxiliary Busを選択します。
- Effectsタブで、RoomVerb Effectを調整できます。
- Save the project and generate SoundBanks.
Unrealプロジェクト
- In Unreal, drag and drop the new Auxiliary Busses from the Wwise Browser to the Content Browser.
- まだ別のチュートリアルでやっていなければ、建物の2つのルーム用に、2つの AkSpatialAudioVolume オブジェクトをドラッグ&ドロップします。2つのルームに配置するのに、Fit To Geometryを使います。
- それぞれの
AkSpatialAudioVolume
のDetailsパネルで、 Fit To Geometry を有効にします。
- もし最初の形が適していなければ、トランスフォームギズモを使って新しい場所に
AkSpatialAudioVolume
を変えます。AkSpatialAudioVolumeを変えていくと黄色いプレビューアウトラインが表示されるので、注目してください。満足できる形が見つかったときにマウスボタンを離せば、AkSpatialAudioVolumeがこの場所にスナップします。
- Fit To Geometryを使って
AkSpatialAudioVolumes
を配置していく方法について、詳しくは Fit to Geometry を参照してください。
- Enable Room と Enable Late Reverb が、2つの
AkSpatialAudioVolume
オブジェクトで有効になっていることを確認します。
- あなたが Reflect チュートリアルをやっていなければ、 Enable Surface Reflectors のチェックは外したままにしてください。
- In the Late Reverb Section, uncheck Auto Assign Aux Bus and drag and drop the newly imported Auxiliary Bus from the Content Browser to the Aux Bus parameter.
2つの AkAcousticPortal オブジェクトを追加します
- 建物の開口部付近に配置します。
- AkAcousticPortalの配置を簡単にするために、Detailsパネルの Fit To Geometry を有効にします。
- Fit To Geometryを有効にすると、Integrationが、周囲のジオメトリを利用してポータルの合理的な場所を見出そうとします。トランスフォームギズモを使って、
AkAcousticPortal
を適切な開口部の近くにドラッグすると、黄色いプレビューアウトラインが表示されます。納得のいく配置場所が見つかったら、マウスボタンを離せばAkAcousticPortalがこの場所にスナップします。
- Fit To Geometryを使って
AkAcousticPortals
を配置していく方法について、詳しくは Fit to Geometry を参照してください。
- どの戸口にも
AkAcousticPortal
が配置できたら、希望するクロスフェード距離になるようにスケールギズモを使って各ポータルの奥行を調整します。ポータルが(ローカルのX軸に沿って)深ければ深いほど、AkComponent
がそこを通ってトランジションするときのクロスフェード距離が長くなります。これは、リバーブのセンドとスプレッドトランジションの両方に当てはまります。
- Select the portals and set their Initial State to Enabled in the Ak Portal Component section. In the Obstruction Occlusion section, set the Initial Occlusion and Obstruction Refresh Interval to 0.0.
| 注記: An AkAcousticPortal must be oriented in a way that the rooms to which it connects are positioned on its local Y axis. ポータルを選択すると、そのポータルの周りに黄色い帯が表示され、選択対象が分かりやすくなります。黄色い線が、フロントエリアとバックエリアの間の境界線を示します。If the rooms overlap, the room with the highest priority is chosen. When working with rooms and portals in the level editor, be sure to set the viewport to Realtime so that the portal visualisations are updated correctly as you move portals.
|
設定を検証する
- シーンをスタートして、スタート位置から動かない。ルームの中のエミッター上でイベントを再生すると、音が聞こえるはずです。
Wwise Authoringに接続してから、Game Object Profilerレイアウトに移動します(ショートカットはF12)。Game Object 3D Viewerに以下が表示されます:
- 灰色に可視化されたルーム(AkSpatialAudioVolumeでSurface Reflectorsを有効にしていない場合)。
- 緑色に可視化されたポータル。
- ポータルのエッジを回折する音の伝播パスと、そのエッジの回折角度に基づいた回折値。
- ルームの壁を通過する音の伝播パスと、それに関連付けられた透過損失値。
- サウンドにスプレッドカーブがある場合は、回折パスや透過パスのスプレッドコーン。
[fuzzy][fuzzy]
| 注記: Diffraction and transmission loss attenuate the sound using the Diffraction and Transmission curves in the sound's Attenuation ShareSet. When these curves are set to Use Project Obstruction/Occlusion, they use the curves in the Obstruction/Occlusion tab of the Project Settings in the Authoring application.
|
Portalとリバーブ
Portalから出てくるサウンドは、反響して、リスナーが現在いる部屋に入ってくることがあります。These steps show how to configure it.
- Wwiseプロジェクトで、
Room Reverbに使うAuxiliary Busを探します。このRoomは、ほかの部屋のリバーブに送るサウンドが出ている部屋です。
- Auxiliary Bus Property EditorのGeneral Settingsで、Use game-defined auxiliary sendsが有効になっていることを確認します。
- SoundBankを生成し、シーンをスタートし、Wwise Authoringに接続します。
Auxiliary sendsが有効になっているRoomでサウンドを再生してから、つながっている別のRoomに移動します。
- 出されたサウンドのウェット部分が、リスナーのいるRoomのリバーブにも送られることが、分かります。
ルームのトーン
部屋には、エアコンの稼働音など、特定のアンビエント音があることがあります。これを再現するために、Spatial Audio Roomというゲームオブジェクトにイベントをポストすることができます。リスナーがこのRoom(部屋)にいると、サウンドのポジションはその位置にあります。When in a different room, the listener will hear the room tone from the connecting portals and through the walls.
- Wwiseプロジェクトで、
- Room Tone用に新しいSound SFXを作成します。
- In the General Settings tab, enable Use game-defined aux sends if you want the sound to send to reverb.
- In the Positioning tab:
- Add an attenuation for distance attenuation, diffraction, and transmission curves.
- Enable Diffraction and Transmission
- このRoom toneでPlayイベントを作成するために、このSound SFXを右クリックし、 New Event > Play を選択します。
- Save the project and generate SoundBanks.
- Unrealで、
- Drag the Event created in the previous section from the Wwise Browser to the Content Browser.
あなたのRoomの1つで、このイベントをAk Eventセクションの下にあるAk Audio Eventパラメータに追加します。
- Aux Send Levelを調整し、このサウンドの一部を、Roomのリバーブに送るように設定します。
- You can choose to check the Auto Post box to post the room tone event on BeginPlay, or you can call the same Blueprint functions usually used to post events on game objects.
In the Spatial Audio Tutorial map, we used Blueprint functions in the Level Blueprint to activate and deactivate the room tone.
- World Outlinerで、Room ToneのあるAkSpatialAudioVolumeを選択してから、Level Blueprintで右クリックしてReferenceを作成します。
- Referenceからコネクションをドラッグし、"Post Associated Ak Event"を検索します。
- 同様に、Stopファンクションを検索します。
- インプットノードとしてKeyプレスを追加します。
- シーンをスタートし、Wwise Authoringに接続します。
Room ToneのあるRoomまで移動し、キーを押してRoom Toneをスタートします。音が聞こえることを確認します。
- Advanced Profilerビューに、再生中のイベントが表示されます。
Advanced Profilerビューの、再生中のRoom Tone
3D Game Object Viewerでリスナーを動かしながら、Roomゲームオブジェクトを観察します。
- リスナーがこのRoomにいると、Roomが音を出すのは、リスナーの位置からです。Roomゲームオブジェクトが、リスナーのゲームオブジェクトのあとをついていくのが分かります。
- リスナーが別のルームにいる場合は、
- 回折したサウンドの位置を示すために、ルームゲームオブジェクトがポータルに置かれ、それとリスナーゲームオブジェクトの間にパスが描写されます。
- ルームゲームオブジェクトが、ダイレクトパス上のルームの境界に置かれ、送信された音のポジションを示します。
- これら2つのポジションに、スプレッドコーンが描写されます。
[fuzzy][fuzzy]
- 参照
-