バージョン
menu_open
Wwise Unity Integration Documentation
ルームやポータルに関するチュートリアル

このチュートリアルでは、Spatial Audioでルームやポータルを使う方法を説明します。チュートリアルの手順内容が、以下のセクションに詳しく書かれています。

: このチュートリアルの前提として、 Spatial Audioチュートリアルの事前準備 を完了しておいてください。一方、 サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル とは独立しているので、終了していなくても問題ありません。もし サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル を実施してあり、続けてこのチュートリアルを行う場合は、オプション手順の C.2. 別の方法: 新しいボリュームを作成する を元に戻せばシーンのほかの部分を変更する必要はありません。最初から始めたくて、すでに サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル を実施してある場合は、シーンを維持することも可能で、Ak Surface Reflectorコンポーネントだけを削除します。

A. Wwise Project

ルームとポータルのチュートリアルを行う前に、エミッターが視界から消えた時にポータルを通して回折が聞き取れるように、Reverbエフェクトを追加してObstructionカーブを編集する必要があります。

  1. Master Audio Busの下に、Auxiliary Busを2つ追加して、SmallRoomとLargeRoomという名前にします。Auxiliary Bus Property Editorを開いて
    1. Effectsタブで、Wwise RoomVerbエフェクトを追加します。私が選んだのは2つのファクトリープリセットで、SmallRoomにはRooms/Room_Mediumを選択して、LargeRoomにはCathedrals/Mediumを選択しました。
      AuxBusPropertyEditorEffectsLargeRoom.png
      ルームの、Auxiliary Bus Property EditorのEffectsタブ
    2. Positioningタブで、 Listener Relative Routing を有効にし、3D Spatializationの Position + Orientation を選択します。
      AuxBusPropertyEditorPositioningLargeRoom.png
      ルームの、Auxiliary Bus Property EditorのPositioningタブ
  2. Project > Project Settings > Obstruction/Occlusion
    1. 以下に従い、カーブを変更します:
      Curve Point 1 Point 2
      X Y X Y
      Obstruction Volume 0 0 100 -3
      Obstruction LPF 0 0 100 60
    2. Obstruction Volumeカーブは、このようになります:
      ProjectSettingsObsOccCurves.png
      Wwise Project Settingsの、Obstruction/Occlusionカーブ
  3. プロジェクトを保存する。

B. Spatial Audio Emitter

新たに作成したリフレクトAuxバスを使うには、スペーシャルオーディオのエミッターを調整する必要があります。

  1. Wwise PickerでWwiseプロジェクトをリフレッシュします: Windows > Wwise Picker
    1. サウンドバンクを生成します
      WwisePicker.png
      Wwise Picker
  2. 各ボタンの、Ak Spatial Audio Emitterコンポーネントを変更します。
    1. Room Reverb Aux Bus Gainパラメータで、ゲインを1にします。
    2. Debug Drawの下のDraw Sound Propagationにチェックを入れて、ほかのチェックを全て外します。
      AkSpatialAudioEmitterRoomsAndPortals.png
      RoomやPortal用のAk Spatial Audio Emitter
  3. 次のセクションでルームを使用するので、Ak Game Objコンポーネントの警告メッセージに従い、エミッターにRigidbodyコンポーネントを追加する必要があります。
    1. Add Rigidbodyをクリックします
      AkGameObj.png
      Ak Game Objコンポーネント

C. Rooms

それぞれのルームに、それぞれのリバーブを設定します。これを行うには、Ak Roomコンポーネントを使います。

  1. 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)
    1. Mesh Rendererコンポーネントを除きます。
    2. Box Colliderコンポーネントの、Is Triggerにチェックを入れます。
    3. Small RoomとLarge RoomのInterior Volumeに、Ak Roomコンポーネントを追加します。
      1. Reverb Aux Bus用に、該当するSmallRoomまたはLargeRoomのAuxバスを選択します
      2. エミッターにRigidbodyを追加してある場合は、ここでは不要です。していない場合は、Add Rigidbodyをクリックします。
        AkRoom.png
        Ak Roomコンポーネント
  2. ゲームをスタートさせてWwiseに接続してから、Game Object Profilerレイアウトを開きます
    1. 全てのエミッターとリスナーをウォッチします。
    2. Game Object 3D Viewerビューを開きます。エミッターが、各々のルームにあるはずです。下図は、シーンを上から見たビューです。リスナーとButton Outsideはルーム内にないので、デフォルトで"Outdoors"ルームに入れられます。全てがそれぞれのルーム内でなく屋外にある場合は、スペーシャルオーディオが無効になっていることを示します。リスナーにAk Spatial Audio Listenerコンポーネントを追加するのを忘れていませんか。手順3.Bを行います。
      GameObject3DViewerRooms.png
      設定された部屋にあるエミッターと、屋外のリスナー
    3. リスナーを1つの部屋に移動して、Game Object 3D Viewerで、リスナーゲームオブジェクトの下の室名が変わるのを確認します。下図では、リスナーが大きい方の部屋にいます。
      GameObject3DViewerListenerRoom.png
      設定された部屋にあるエミッターと、Large Room Interiorにいるリスナー
  3. 1つの部屋のボタンを押して、リバーブを聞きます。
    1. 小さい方の部屋のボイスグラフは、このようになるはずです:
      VoiceGraphSmallRoom.png
      Button Small Roomのリバーブ付きVoice Graph
    2. リスナーがエミッターと違う部屋にいるときは、音のオクルージョンが完全です。ほかの部屋の音を特定の開口部を通して聞くには、ポータルを追加する必要があります。
注記: 屋外にリバーブを追加するには、エリア全体の周りにルームを追加します。このルームのプライオリティは、必ずSmall Room InteriorやLarge Room Interiorよりも低くします。

D. Portals

部屋をほかのエリアに接続するには、ポータルが必要です。2つのポータルが必要ですが、それは小部屋から外へ続くドアの上と、2つの部屋の間の、2ヶ所です。

  1. 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)
  2. Ak Room Portalコンポーネントで:
    1. Open On Start.
    2. Close On Nothing.
    3. Back RoomとFront Roomに表示されたAk Roomコンポーネントが正しいことを確認してください。
  3. InsideポータルのAk Room Portalコンポーネントは、このようになるはずです:
    AkRoomPortal.png
    Ak Room Portalコンポーネント
  4. Sceneウィンドウで、ポータルの周りに黄色い帯が表示され、ポータルの大きさと配置する時の向きを示します。赤線が、ポータルの表と裏のエリアの境界線を示します。前は、ローカルのZ軸と同じ方向です。
    AkRoomPortalScene.png
    Sceneウィンドウの、Ak Roomポータル
  5. ゲームをスタートする。Draw Sound Propagation図面に、ポータル経由の音がどこからくるのかが、すでに出ているはずです。左の球体は小部屋のエミッター、右の球体は大部屋のエミッターからくるものです。後者は、実際には大小の部屋をつなぐポータルからきています。音の伝播は球体で表され、赤がウェットディフラクション(wet diffraction)角度、青がドライディフラクション(dry diffraction)角度で、角度によって大きさが変化します。
    StartRoomsAndPortals.png
    スタート時のゲームウィンドウ
    1. Wwiseに接続する。
    2. Button Outsideを再生して、小部屋に入ります。
      1. 同じSound Propagation図面が、屋外につながるポータルを通して屋外エミッターからくるのが分かります。
        RoomsAndPortalsInSmallRoom.png
        リスナーがSmall Room Interiorにいるときの、Button OutsideからのSound Propagation図面
      2. 視界に入ったり出たりしてみて、音に適用されたディフラクション(回折)を耳で確認します。リスナーとポータルの間の角度によって、ディフラクションが多く聞こえたり少なく聞こえたりします。下図は、リスナーとButton Outsideをウォッチしたときの様子です。シーンを上から見たビューが、Game Object 3D Viewerに表示されます。濃い赤色がポータルです。中央にあるのがOutside Portalで、ポータルより上がSmall Room Interior(小部屋内)、ポータルより下がOutside(屋外)です。リスナーはSmall Room Interior内にいて、再生中のエミッターはButton Outsideです。図では、リスナーとエミッターの間の音の伝播が緑で表示されています。ディフラクション角度(Diffraction angle)は、103.3です。また、Button Outsideエミッターのバーチャルポジションが右にあります。聞こえてくる音がポータルを通過するのは、ここです。
        GameObject3DViewerOutsideDiffractionInSmallRoom.png
        Game Object 3D Viewerに表示された、ポータルのディフラクション角度

注: この時点でルームのポジションを変えたりポータルを一括編集したりすると、個別に全てのAkRoomPortalインスペクタを開かないとフロントルームとバックルームがアップデートされません。これではポータルが多数あるシーンで不便なので、このチュートリアルで例として提供されているAkRoomPortal Bakerウィンドウを使ってください。このウィンドウは、メニューから開けます: Wwise > AkRoomPortal Baker... Bakeボタンをクリックすると、シーン内の全てのポータルのフロントルームとバックルームをアップデートできます。

E. ポータルと、リバーブ

ポータルから出る音に、リスナーが現在いる部屋のリバーブを適用することもできます。

  1. SmallRoom Auxiliary BusをProperty Editorで開いて、General SettingsタブのUse game-defined auxiliary sendsにチェックを入れます。これで、小部屋のリバーブが、同じシーンのほかのリバーブに送られます。
    AuxBusPropertyGeneralSmallRoom.png
    ルームリバーブをほかのリバーブに送るときの、Auxiliary Bus Property EditorのGeneral Settingsタブ
  2. 小部屋のエミッターを再生中に大部屋に入ると、小部屋のリバーブが、大部屋のリバーブに送られるのが分かります。
    VoiceGraphSmallRoomButtonSend.png
    Voices Graphで、Button Small Roomリバーブが、Large Room Interiorのルームリバーブに送られる

F. サーフェスリフレクタと、リバーブ

アーリーリフレクションを部屋のリバーブに送ることもできます。このシーンにサーフェスリフレクタを追加してみます。

  1. セクション サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル に続いて、
    1. Reflectエフェクトを適用したAuxiliary Busを追加します。
    2. Ak Spatial Audio Emitterを、新しいReflect Auxiliary Busにリンクします。
    3. Ak Surface Reflectorコンポーネントを全ての壁や床に追加します。
  2. Wwiseプロジェクトで、Reflectエフェクトを適用したAuxiliary Busを開きます。
    1. General Settingsタブで、Use game-defined auxiliary sendsにチェックを入れます。
      AuxBusPropertyGeneralThirdPerson.png
      Auxiliary Bus Property EditorのGeneral Settingsタブで、ルームリバーブにアーリーリフレクションを送る
  3. シーンを再生して、小部屋のボタンを押します。プレイヤーが小部屋にいると、Voices Graphには以下のように表示されます:
    VoiceGraphReflectSend.png
    Voices Graphで、小部屋のアーリーリフレクションを、小部屋のリバーブに送る

このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう