バージョン

menu_open
Wwise Unity Integration Documentation
Surface Reflectorチュートリアル

このチュートリアルでは、UnityでReflectプラグインとSpatial Audioを使う方法を、手順を追いながら説明します。SoundBankを生成するのにReflectプラグインのライセンスが必要ですが、Wwise Authoringに接続した状態で試すことはできます。

注記: このチュートリアルの前提として、 Spatial Audioチュートリアルの事前準備 を完了しておいてください。

A. Wwiseプロジェクト

Wwiseプロジェクトを更新して、Reflectプラグインとアコースティックテキスチャが入ったAuxバスを入れる必要があります。

  1. ファクトリアセットをインポートして、Auxiliary Busプリセットや、ファクトリAcoustic Textureにアクセスできるようにします。
    1. Project > Import Factory Assets... に移動します。
    2. Reflect と、 Acoustic Textures を選択し、OKを押します。
  2. Acoustic Texturesは、 Project Explorer ビューのShareSets タブにある、 Virtual Acoustics フォルダの中にあります。
    Project ExplorerのShareSetsタブにある、Factory Reflect Acoustic Textures
    1. (オプション)カスタム設定のアコースティックテキスチャは、Default Work UnitVirtual Acousticsフォルダに追加できます。
  3. アーリーリフレクション用にAuxiliary Busを追加します。
    1. Master Audio Bus を右クリックし、 New Child > Presets へ移動し、Early Reflection Auxiliary Busを選択します。
  4. Spatial Audioチュートリアルの事前準備 に追加したSoundを編集します
    1. General Settingsタブで、新しく作成したReflect付きのAuxiliary Busを、 Early Reflections ボックスに追加します。
      Reflect Auxiliary Busを、Sound Property EditorのGeneral Settingsタブで指定
  5. プロジェクトを保存する。

B. Unity Project

AkSurfaceReflector コンポーネントを使い、面(サーフェス)のアーリーリフレクションをシミュレーションできます。サーフェスリフレクタコンポーネントを、ゲームの既存メッシュに追加するのが、1つの方法です。形状が複雑すぎると、Spatial Audio APIに大量の三角形を送り込むことになり、ゲームが遅くなってしまう可能性もあります。その場合 AkSurfaceReflector コンポーネント自体に、コリジョンメッシュなど、別のメッシュを追加することができます。反射面を追加するには、新GameObjectを作成するという方法もあります。Wwise Unity Demo Sceneの中のシーンでは、新しいオブジェクトをサーフェスリフレクタに設定しています。ルームは立方体(キューブ)なので、キューブを使い、メッシュレンダラは使用していません。

  1. キューブを作成します: GameObject > 3D Object > Cube
    1. Mesh Rendererコンポーネントを除きます
    2. Box Colliderコンポーネントの、Is Triggerにチェックを入れます
    3. AkSurfaceReflector コンポーネントを追加します。
      1. MeshFilterコンポーネントのメッシュを使う予定であれば、meshパラメータをNoneのままにすることもできます。そうでなければ、希望するメッシュをここで追加できます。
      2. Acoustic Textures アレイで、各サブメッシュのアコースティックテキスチャを選択するか(キューブにはサブメッシュが1つしかありません)、フィルタなしのリフレクションにするために None とします。
      3. Transmission Loss Values アレイで、各サブメッシュの面の透過損失値を設定できます。これは、メッシュを通るサウンドに適用するフィルタに使います。詳細は D. Transmission(透過) セクションを参照してください。
      4. Diffraction(回折)を有効にするには、 Enable Diffraction チェックボックスを使います。詳細は E. ルームをSurface Reflectorと関連付ける(非推奨) を参照してください。
      5. 最後に、Associated RoomNoneのままにしてください。詳細は E. ルームをSurface Reflectorと関連付ける(非推奨) のセクションを参照してください。
        AkSurfaceReflectorコンポーネント
  2. リフレクションの次数は、Spatial Audio Settingsの下の AkWwiseInitializationSettings で設定します。
    1. デフォルトのリフレクションOrderは、1です。最大4まで設定できます。
      Spatial Audioの初期設定
  3. リフレクションパスをシーン内で描写させたい場合は、エミッタに AkSpatialAudioDebugDraw コンポーネントを追加します。
    1. 描写したいリフレクション次数に、チェックを入れます。
      AkSpatialAudioDebugDraw コンポーネント

C. 設定の検証

  1. Wwise Pickerで、 Windows > Wwise Picker と進みます
    1. サウンドバンクを生成します
      Wwise Picker
  2. ゲームをスタートし、エミッターの1つを再生します。
    1. Wwiseでゲームに接続して、Profilerレイアウトを開きます。下図と似たグラフが、表示されるはずです:
      ReflectエフェクトのあるVoice Graph
    2. グラフでAuxiliary Busノードの下にある、ハイライト表示されたWwise Reflectをダブルクリックし、リフレクトのEffect Editorを開きます。音が再生されると、進行中のリフレクションが、グラフとリストで確認できるはずです。Texture(s)列の下にテキスチャが2つ表示されている場合は、セカンドオーダーのリフレクションです。
      1. この画面で、リフレクションの減衰カーブを調整できます。
      2. リフレクションが全く表示されない場合は、エミッターとリスナーの間のリフレクションの距離に対し、Max Distanceが低すぎないかを確認してください。
        ReflectのEffect Editorビュー
    3. Game Object Profilerレイアウトに移動します(ショートカットはF12)
      1. すでに設定されていなければ、Game Object 3D Viewer Settingsで、Reflection Pathsと、Reflection Image Sourcesを、有効にします。
        Game Object 3D Viewer Settingsにある、リフレクションの設定
      2. Game Object 3D Viewerを見ると、サーフェスリフレクタや、再生中のエミッターからスペーシャルオーディオのリスナーへのリフレクションパスが、表示されるはずです。
        Game Object 3D Viewer
注記: もしGame Object 3Dビュアーにジオメトリが全く表示されなければ、Initialization SettingsでMonitor Queue Pool Sizeを増やす必要があるかもしれません。次ページ Wwise Initialization Settingsを調整する を参照してください。
注記: 立方体のサーフェスリフレクタが建物を覆っているので、エミッターを再生中でも、リスナーが屋外にいれば建物の中のエミッターから出るリフレクションパスを取得できず、その逆でも同じです。これは、建物の開口部も、反射面の一部となっているからです。これを直すには、ビルのメッシュだけをサーフェスリフレクタとして利用するか、開口部にポータルを配置します。Portalの詳細については、 ルームやポータルに関するチュートリアル を参照してください。
参照

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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう