目次

サーフェスリフレクタ(Surface Reflectors)に関するチュートリアル

このチュートリアルでは、新しいReflectプラグインをSpatial Audioで使う方法を、手順を追いながら説明します。プロジェクトを稼働させるには、Reflectプラグインのライセンスが必要です。

Note.gif
注記: このチュートリアルの前提として、 Spatial Audioチュートリアルの事前準備 を完了しておいてください。一方、 ルームやポータルに関するチュートリアル とは独立しているので、終了していなくても問題ありません。

A. Wwiseプロジェクト

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

  1. Auxiliary BusをMaster Audio Busの下に追加します。Auxiliary Bus Property Editorを開いて
    1. General Settingsタブで、Channel ConfigurationをMonoに変更します。バスをモノにしても、Reflectのアウトプットに影響しません。アウトプットの設定は、Reflect Effect Editorで行えます。
      AuxBusPropertyEditorGeneralSettingsThirdPerson.png

      Auxiliary Bus Property Editorの、General SettingsタブのReflect

    2. Effectsタブで、Wwise Reflectエフェクトを追加します。
      AuxBusPropertyEditorEffectsThirdPerson.png

      Auxiliary Bus Property EditorのEffectsタブのReflect

    3. Positioningタブで、 Listener Relative Routing を有効にし、3D Spatializationで None を選択します。減衰はここで追加せず、減衰のカスタマイズ設定はReflect Effect Editorで行います。
      AuxBusPropertyEditorPositioningThirdPerson.png

      Auxiliary Bus Property EditorのPositioningタブのReflect

  2. Reflect Acoustic Texturesをインポートします: Project > Import Factory Assets...
    1. インポートすると、Project ExplorerビューのShareSetsタブの、Virtual Acousticsフォルダに追加されます。
      ProjectExplorerShareSets.png

      Project ExplorerのShareSetsタブにある、Factory Reflect Acoustic Textures

    2. (オプション)カスタム設定のアコースティックテキスチャは、Default Work UnitVirtual Acousticsフォルダに追加できます。
  3. プロジェクトを保存する。

B. Spatial Audioエミッタ

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

  1. Wwise PickerでWwiseプロジェクトをリフレッシュします: Windows > Wwise Picker
    1. SoundBankを生成します。
      WwisePicker.png

      Wwise Picker

  2. 各ボタンの、 AkSpatialAudioEmitter コンポーネントを変更します。
    1. Reflect Aux BusにReflect Auxiliary Busをピックします。
    2. Reflection Max Path Lengthに100000を選択します。
    3. Reflections Aux Bus Gainに1を選択します。
    4. Reflections Orderに2を選択します。
    5. Debug Drawの下のDraw First Order ReflectionsDraw Second Order Reflectionsにチェックを入れます。
      AkSpatialAudioEmitterReflect.png

      Surface Reflectorの、AkSpatialAudioEmitter

C. Surface Reflectorコンポーネント

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

  1. キューブを作成します: GameObject > 3D Object > Cube
    1. Mesh Rendererコンポーネントを除きます
    2. Box Colliderコンポーネントの、Is Triggerにチェックを入れます
    3. AkSurfaceReflector コンポーネントを追加します。
      1. Acoustic Textureパラメータで、アコースティックテキスチャを選択するか、フィルタなしのリフレクションにする場合はNoneを選択します。
        AkSurfaceReflector.png

        AkSurfaceReflectorコンポーネント

D. 設定の検証

  1. ゲームをスタートし、エミッターの1つを再生します。
    1. セクション のDebug Drawでリフレクションの図示(drawing)を有効にしたので、Sceneウィンドウに、エミッターからリスナーに向かうレイ(光線)が表示されます。黄色のレイはファーストオーダーリフレクションで、1つの面に反射してからリスナーに到達するもので、オレンジ色のレイはセカンドオーダーリフレクションです。GameObjectの名前が入射点に表示されます。Gizmosを有効にすると、Gameウィンドウでレイが表示されます。
      DebugDraw2ndOrderTop.png

      上から見た、既存メッシュのサーフェスリフレクタのアーリーリフレクション図

    2. Wwiseでゲームに接続して、Profilerレイアウトを開きます。下図と似たグラフが、表示されるはずです:
      VoiceGraphReflect.png

      ReflectエフェクトのあるVoice Graph

    3. グラフでAuxiliary Busノードの下にある、ハイライト表示されたWwise Reflectをダブルクリックし、リフレクトのEffect Editorを開きます。音が再生されると、進行中のリフレクションが、グラフとリストで確認できるはずです。Texture(s)列の下にテキスチャが2つ表示されている場合は、セカンドオーダーのリフレクションです。
      1. この画面で、リフレクションの減衰カーブを調整できます。
      2. リフレクションが全く表示されない場合は、エミッターとリスナーの間のリフレクションの距離に対し、Max Distanceが低すぎないかを確認してください。
        ReflectEffectEditor.png

        ReflectのEffect Editorビュー

    4. Game Object Profilerレイアウトに移動します(ショートカットはF12)
      1. すでに設定されていなければ、Game Object 3D Viewer Settingsで、Reflection Pathsと、Reflection Image Sourcesを、有効にします。
        GameObject3DViewerSettingsReflectionPaths.png

        Game Object 3D Viewer Settingsにある、リフレクションの設定

      2. Game Object 3D Viewerを見ると、サーフェスリフレクタや、再生中のエミッターからスペーシャルオーディオのリスナーへのリフレクションパスが、表示されるはずです。下図で、サーフェスリフレクタは、不透明のティールブルー色で表されています(これはAcoustic Textureの色と同じ)。リフレクションパスや、イメージソースの色は、黄色がファーストオーダーリフレクションで、オレンジ色がセカンドオーダーリフレクションを表します。下図には、Button Outsideのリフレクションパスとイメージソースしか表示されていませんが、これが再生中のソースだからです。
        GameObject3DViewerReflect.png

        Game Object 3D Viewer

        Note.gif
        注記: 立方体のサーフェスリフレクタが建物を覆っているので、エミッターを再生中でも、リスナーが屋外にいれば建物の中のエミッターから出るリフレクションパスを取得できず、その逆でも同じです。これは、建物の開口部も、反射面の一部となっているからです。これを直すには、ビルのメッシュだけをサーフェスリフレクタとして利用するか、開口部にポータルを配置します。
Wwise Unity Integrationに対してWed Sep 18 17:39:01 2019に生成されました。  doxygen 1.6.3