バージョン
menu_open
警告:あなたのメジャーリリース ( 2019.1.11.7296 ) に該当する最新ドキュメンテーションが表示されています。特定バージョンのドキュメンテーションにアクセスするには、Audiokinetic Launcherでオフラインドキュメンテーションをダウンロードし、Wwise AuthoringのOffline Documentationオプションにチェックを入れてください。
Wwise Unreal Integration Documentation
UnrealでWwise Spatial Audioを使う

このチュートリアルでは、Wwise 2017.1に導入された新機能や、Unrealプラグインに新しく導入されたSpatial Audio機能について紹介します。ゲームにスペーシャルオーディオのコンポーネントを実装するためのワークフローを説明し、スペーシャルオーディオ機能(例えば3Dバス、3Dスペーシャリゼーションされたサウンドエフェクト、Reflect Effectプラグインなど)の初期化をWwisオーサリングツールで行ったり、Unreal Engineを使いスペーシャルオーディオコンポーネントをゲームにインポートしたりするための、技術的情報を提供します。

WwiseやUnreal Engineを使いこなすための、基本的な知識のある方を対象としています。とはいえ、このドキュメントは、どのような経歴のユーザーでもチュートリアルを完了できるように詳しく書かれています。更に詳しい情報が必要な場合は、Unrealドキュメンテーションも参照してください。

このチュートリアルを通して4つのバーチャル音響ゾーンを作成しますが、それぞれのバーチャル音響ゾーンが、新Spatial Audioプラグインの1つの機能のデモとなっています。各エリアの中心にアンビエントサウンドが配置され、これがエミッタ―の役割を果たします。リスナーがデフォルトとして設定され、リスナーはこの場合はカメラに対応して、カメラは様々な音響環境を探索できるように、自由に動かせます。

セクション A、セクション B、セクション Cは、正しく作業できる環境を準備するための必須の手順で、この順番通りに完了させるべきです。続くセクション(主に DEFG)は全て、最初の3セクションが完了すれば、別々に、順不同で完了させることができます。

注記: Reflectプラグインを使うセクションを完了させるには、適切なライセンスが必要です。

A - プロジェクトの設定

WwiseとUnrealの最新バージョンを使い、以下の手順に従い、自分の作業環境を準備します。

  1. Epic Launcherから、Unrealを起動する
  2. 新規Unreal Project C++ Blank プロジェクト(スターターコンテンツなし)を作成して、名前をTestSpatialAudioとする。
  3. Unrealを閉じる
  4. Wwise Launcherを起動する。
  5. Wwise をインストールする。
  6. Unreal Engineタブを選択する。
  7. Integrate Wwise into Project...ボタンをクリックする。
  8. Open in Wwiseボタンを使ってWwiseを起動する。
  9. Open in Unrealボタンを使って、Unrealを起動する。

B - 事前準備

このセクションで、床を敷いたり壁やポータル(開口部)を設置したりして、4つの異なるエリアに分けてから、4つの音響環境にして、その中にスペーシャルオーディオのコンポーネントを配置します。

  1. 床を選択して、新Transformを設定する。
    • Locationを、(x=0.0, y=0.0, z=0.0) に設定する。
    • Scaleを、 (x=2.0, y=2.0, z=1.0) に設定する。
  2. 8つのCubeを使って壁を作成して、以下の座標と場所にする:
    • Location (x=775.0, y=0.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0).
    • Location (x=225.0, y=0.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0).
    • Location (x=-225.0, y=0.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0).
    • Location (x=-775.0, y=0.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0).
    • Location (x=0.0, y=-775.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0) Rotation (x=0.0, y=0.0, z=90.0).
    • Location (x=0.0, y=-225.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0) Rotation (x=0.0, y=0.0, z=90.0).
    • Location (x=0.0, y=225.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0) Rotation (x=0.0, y=0.0, z=90.0).
    • Location (x=0.0, y=775.0, z=100.0) Scale (x=4.5, y=0.25, z=2.0) Rotation (x=0.0, y=0.0, z=90.0).
  3. Playerスタートを、以下に移動する:
    • Location (x=-500.0, y=-500.0, z=100.0).
  4. 部屋同士が見分けられるように、以下のPointLightを、指定された場所に、Intensityの設定を50,000として、追加する:
    • Red, Location (x=-500.0, y=-500.0, z=500.0).
    • Blue, Location (x=500.0, y=-500.0, z=500.0).
    • Green, Location (x=500.0, y=500.0, z=500.0).
    • Yellow, Location (x=-500.0, y=500.0, z=500.0).
  5. "NewMap"として保存する。
    Build working environment

C - Unrealでレファレンスサウンドを追加

最初のゾーンで、3Dポジションのサウンドを導入して、これは、ソース周りでリスナーが動き回るのに従ってパンニングさせたり、オクルージョン・オブストラクションを適用させたりします。オクルージョンやオブストラクションが起きるのは、リスナー(主にメインカメラ)がエリア外に移動して、壁、床、天井などの不透明なコンポーネントの裏に隠れた場合です。

  1. Wwiseプロジェクトで、Actor-Mixer HierarchyのDefault Work Unitに、新Sound SFXを作成して、名前をReferenceSoundとして、インパルスサウンドをインポートする。
    Sound SFXを作成する
  2. 必ず Use game-defined auxiliary sends と Listener Relative Routingを有効にし、3D Spatializationを Position に設定します。
    3D SpatializationをPositionに設定
  3. 関連するEventの"PlayReferenceSoundTest"を作成して、そこに"ReferenceSound"ボイスをドラッグ&ドロップする。
    サウンドEventを作成する
  4. プロジェクトを保存する。
  5. Unrealで、Window > Wwise Pickerを開いて、Content Browserに"PlayReferenceSoundTest" Eventをドラッグする。
    Wwise PickerからContent Browserへドラッグする
  6. "PlayReferenceSoundTest"をダブルクリックして、SoundBankリストから直接、新SoundBankを作成して、名前を "TestSpatialAudioBank" とする。
    SoundBankを作成する
    SoundBankを選択する
  7. "PlayReferenceSoundTest" Eventをシーン内にドラッグすることで、新 AkAmbientSound を作成する。
    • Locationを (x=-500.0, y=-500.0, z=100.0) に設定する。
      AkAmbientSoundを作成する
  8. BlueprintsメニューでLevel Blueprintを開き、"Event BeginPlay"と"Event Tick"を削除する。
  9. 新しく作成された"PlayReferenceSoundTest"アイテムを、World OutlinerからBlueprintにドラッグする。
  10. Blueprintバックグランドを右クリックして、"Left Mouse Button"を探す。
  11. もう一度Blueprintバックグランドを右クリックして、"Post Event"を探す。
  12. Pressed outletを、Post Event Execに接続して、"PlayReferenceSoundTest"コンポーネントを、Actor inletに接続する。
  13. Post Eventで、"PlayReferenceSoundTest" AkEventを選択する。
    アンビエントサウンドをトリガーするために、ユーザーインプットを追加する
  14. 上部メニューで、Build > Generate SoundBanks....を選択して、Windows用にSoundBankを生成する。
    ビルドメニューからSoundBanksを生成する
  15. SoundBankの生成が成功したことを、必ずOutput Logで確認すること。
    SoundBank生成用Output Log
  16. シーンをスタートする。これで、マウス左ボタンを押すと、3Dにスペーシャル化されたサウンドの再生が聞こえるはず。

D - 後期リバーブの追加

2つ目のエリアのデモは、限定されたエリア内で AkAmbientSound に適用したLate Reverbを入れるために、 AkSpatialAudioVolume を使った例です。

  1. WwiseプロジェクトのMaster Audio Busの下にAuxiliary Busを作成して、名前を "TestReverbAuxBus" とする。
    リバーブ用にAuxiliary Busを作成する
  2. Wwise RoomVerb Effectを追加して、事前に定義したShareSetのCathedrals > Holy を使う。
  3. 2つ目のEventを作成して、名前を"PlayLateReverbTest" として、その上に"ReferenceSound" Sound SFXをドラッグする。
    Play Eventを作成する
  4. プロジェクトを保存する。
  5. Unrealで、シーン内で AkSpatialAudioVolume ボリュームをVolumes選択肢からドラッグする。
    • Locationを (x=500.0, y=-500.0, z=100.0) に設定する。
    • Scaleを (x=5.0, y=5.0, z=1.0) に設定する。
      新スペーシャルオーディオボリュームを作成する
  6. 必ずEnable Late Reverbだけが有効であることを確認して、Enable Surface ReflectorsEnable Roomが、このAkSpatialAudioVolumeに関して無効のままであることを確認すること。
    「Enable Late Reverb」を選択する
  7. 新しいTestReverbAuxBusとPlayLateReverbTestを、Wwise PickerからContent Browserへドラッグする。
    Wwise Pickerから、Auxiliary BusとEventをドラッグする
  8. PlayLateReverbTestをダブルクリックして、TestSpatialAudioBankにアサインする。
    バスとEventをBankに追加する
  9. 新しいAkSpatialAudioVolumeを選択して、Late Reverbセクションで、Auxiliary BusをTestReverbAuxBusに設定する
    レイトリバーブAuxiliary Busを選択する
  10. "PlayLateReverbTest" Eventをシーン内にドラッグすることで、AkAmbientSoundを作成する。
    • Locationを (x=500.0, y=-500.0, z=100.0) に設定する。
      シーン内にEventを追加する
  11. 手順 C-11から C-13までを、PlayLateReverbTest用に再現して、音をトリガーする。(マウスボタンの代わりに、キーボードのキーを割り当てることも可能。)
  12. SoundBanksを再生成する。
  13. シーンをスタートして、ボリュームの中に入る。PlayReferenceSoundTestをトリガーした結果、リバーブを適用した音となるはずである。
注記: もしEnable RoomAkSpatialAudioVolumeでチェックされている場合は、 リバーブが入っているAuxiliary Busの3Dポジショニングも、有効にしておく必要があります。

E - Surface Reflectorの追加

3つ目のエリアのデモは、音響環境における音の伝播によるアーリーリフレクションをシミュレーションするために使う、Surface Reflectorを使った例です。波の伝播をモデル化するためにイメージソース方式を使い、ゲームのジオメトリから適切なタイムディレイ(距離)、振幅、フィルターのパラメータなどを引き出して、リアルな音響環境の再現を試みます。リアルタイムの演算で、音波が音のエミッタ―から、相対的な位置にあるリスナーに届くまでの様々なパスを、検証します。結果として、音響環境の空間を強力に感じ取ることができるエフェクトが得られます。実際に、Wwise Reflect Effect Editorで反射を見ることができ、各反射の距離や振幅が表示されます。

  1. Wwiseで3つめのEventを作成して、名前を "PlayReflectTest" として、その上に "ReferenceSound" Sound SFXをドラッグする。
    Wwiseで新Eventを作成する
  2. Master Audio BusにAuxiliary Busを作成して、名前を "TestReflectAuxBus" として、それにReflectプラグインを設定する。
    Wwiseで新Eventを作成する
  3. 必ず Use game-defined auxiliary sends を選択し、Listener Relative Routingを有効にし、3D Spatializationを None に設定します。
    Auxiliary Busの3D SpatializationをNoneに設定
  4. ReflectのMax Distanceを10,000に設定して、Speed of Soundを34,500に設定する。
    Reflect Speed of SoundとMax Distanceを設定する
  5. プロジェクトを保存する。
  6. Unrealで、PlayReflectTestとTestReflectAuxBusを、Wwise PickerからContent Browserにドラッグ&ドロップする
  7. PlayReflectTest Eventをダブルクリックして、TestSpatialAudioBankにアサインする。
  8. シーン内にPlayReflectTestをドラッグ&ドロップすることで、AkAmbientSoundを作成する:
    • Locationを (x=500.0, y=500.0, z=100.0) に設定する。
  9. AkSpatialAudioVolumeをシーン内にドラッグ&ドロップする。
    • Locationを (x=500.0, y=500.0, z=100.0) に設定する。
    • Relative scaleを (x=5.0, y=5.0, z=1.0) に設定する。
  10. 必ず "Enable Surface Reflectors" が有効であることを確認して、"Enable Late Reverb"や"Enable Room"が、このAkSpatialAudioVolumeに関して無効のままであることを確認すること。
    スペーシャルオーディオボリュームをシーンに追加する
  11. PlayReflectTest AkAmbientSound が、AkSpatialAudioVolume内にあるはずである。
  12. PlayReflectTest AkAmbientSoundを選択して、Spatial Audioの選択肢として"Early Reflection Aux bus"を"TestReflectAuxBus"に設定する。
  13. また、Debug Drawを有効にして、1次リフレクションを、この AkAmbientSound (Ak Component > Spatial Audio > Debug Draw) に関して表示することができる。
    反射のDebug drawオプション
  14. 手順 C-11から C-15までを、PlayReflectTest用に再現して、音をトリガーする。(マウスボタンの代わりに、キーボードのキーを割り当てることも可能。)
    音をトリガーするための、ユーザーインプット
  15. SoundBanksを再生成する。
  16. シーンをスタートして、ボリュームの中に入る。反射が描かれ、音が、PlayReflectTestをトリガーするとReflectプラグインを使ったAuxiliary Busにルーティングされるのが分かります。

F - 部屋やポータルの追加

リアルな音響環境では、ポータル(窓などの開口部分)が、発信された音の音量外にいるリスナーに対する新たな音源の役割を果たします。このような状況をモデル化するのに便利な AkAcousticPortals は、Auxiliary Busを使ってボリュームの聞こえる部分をルーティングして、新たな3D音源として隣接する音響空間で露出させます。

  1. Wwiseプロジェクトで新Auxiliary Busを作成して、名前を "TestPortalAuxBus" とする。
  2. 必ずUse game-defined auxiliary sendsを選択して、3Dポジショニングを有効にすること。
    3D SpatializationのAuxiliary Busを新しく作成
  3. Wwise RoomVerb Effectを、Room_Mediumパラメータ付きで、追加する。
    リバーブをAuxiliary Busに追加する
  4. 4つ目のEventを作成して、名前を "PlayPortalTest" として、その上に "ReferenceSound" Sound SFX をドラッグする。
    新Play Eventを追加する
  5. プロジェクトを保存する。
  6. Unrealで、PlayPortalTestを、Wwise PickerからContent Browserにドラッグ&ドロップする。
  7. TestPortalAuxBusを、Content Browserにドラッグ&ドロップする。
    EventとAuxiliary Busを、Content Browserに追加する
  8. "PlayPortalTest" Eventをダブルクリックして、TestSpatialAudioBankにアサインする。
    EventのSoundBanksを選択する
  9. 新しいAkSpatialAudioVolumeを追加する。
    • Locationを (x=-500.0, y=500.0, z=100.0) に設定する。
    • Absolute Scaleを (x=5.0, y=5.0, z=1.0) に設定する。
  10. "TestPortalAuxBus"を、Auxiliary Busとして、Late Reverbセクションで選択する。
    シーンにスペーシャルオーディオボリュームを追加して、後期リバーブAuxiliary Busを選択する
  11. 必ずEnable Late ReverbEnable Roomの両方が有効であることを確認して、Enable Surface Reflectorsが、このAkSpatialAudioVolumeに関して無効のままであることを確認すること。
    必ず部屋を有効にする
  12. 手順 F-1から F-7までを再現して、"TestReferenceAuxBus"という別の後期リバーブAuxiliary Bus(RoomVerbプリセット付き)を追加する。
    3D SpatializationのAuxiliary Busを新しく作成
    リバーブをAuxiliary Busに追加する
  13. 別のAkSpatialAudioVolumeを追加する。
    • Locationを (x=-500.0, y=-500.0, z=100.0) に設定する。
    • Absolute Scaleを (x=5.0, y=5.0, z=1.0) に設定する。
  14. 必ずEnable Late ReverbEnable Roomの両方が有効であることを確認して、Enable Surface Reflectorsが、このAkSpatialAudioVolumeに関して無効のままであることを確認すること。
    2つめのオーディオボリュームを追加して、部屋を有効にする
  15. "TestReferenceAuxBus"を、Auxiliary Busとして、Late Reverbセクションで選択する。
    レイトリバーブAuxiliary Busを選択する
  16. 3つAkAcousticPortalを追加する。
    • Location (x=-500.0, y=0.0, z=100.0) Scale (x=0.5, y=0.5, z=1.0).
    • Location (x=0.0, y=-500.0, z=100.0) Scale (x=0.5, y=0.5, z=1.0) Rotation (x=0.0, y=0.0, z=90.0).
    • Location (x=-500.0, y=0.0, z=100.0) Scale (x=0.5, y=0.5, z=1.0) Rotation (x=0.0, y=0.0, z=90.0).
      新acoustic portalをシーン内へドラッグする
  17. 新しいPortalを選択して、"Ak Acoustic Portal"セクションで初期ステートをOpenに設定する。
    ポータルを必ず開けておく
  18. PlayPortalTestをシーン内にドラッグ&ドロップする。
    • Locationを (x=-500.0, y=500.0, z=100.0) に設定する。
      新Eventをシーン内へドラッグする
  19. 手順 C-11 から C-13までを、PlayPortalTest用に再現して、音をトリガーする。(マウスボタンの代わりに、キーボードのキーを割り当てることも可能。)
  20. SoundBanksを、Windows用に再生成する。
  21. シーンをスタートして、スタート位置から動かない。PlayPortalTestをトリガーすると、ポータルから音が聞こえてくるはずです。
注記: AkAcousticPortalの向きは、それが接続する部屋同士が、ローカルのY軸方向に沿って配置されている必要があります。ポータルを選択する時に、分かりやすいようにポータル周りに黄色い帯が表示されます。黄色い線が、フロントエリアとバックエリアの間の境界線を示します。部屋同士が重なり合っている場合は、優先順位が最も高い部屋を選択します。
注記: もしワールドにスペーシャルオーディオの部屋が1つ以上ある場合は、このスペーシャルオーディオ部屋が提供する追加情報が取り込まれるので、オクルージョン・オブストラクションのアルゴリズムが変化します。エミッタ―とリスナーの間のラインオブサイト(直線)テストが失敗した場合は:
  1. リスナーとエミッタ―が同室にある場合は、Wwiseのオブストラクションフィルター(ドライパスのみ)が設定される。
  2. エミッタ―とリスナーが別室にある場合は、Wwiseのオブストラクションフィルター(ウェットパスとドライパスの両方)が設定される。
  3. スペーシャルオーディオの部屋がない場合、アルゴリズムは、リスナーに対するラインオブサイト(直線)が成立していない音が全てオクルージョンで遮られているものと解釈して、Wwiseオクルージョンフィルター(ウェットパスとドライパスの両方)が設定される。
注記: セクションFの部屋を追加すると、今までのセクションで作成した音で、新しい部屋の外にあるものは、リスナーが室内にいるときにオクルージョンの対象となるのが分かります。同様に室内の音も、リスナーが室外にいるときはオクルージョンが適用されます。

Wwiseでポータルのシャドウリージョンのフィルターレスポンスを微調整するには、Project SettingsのObstruction/Occlusionタブを開きます。

オブストラクションボリュームのカーブ
オブストラクションLPFのカーブ
オクルージョンボリュームのカーブ
オクルージョンLPFのカーブ

G - Spot Reflectorの追加

Spot reflectorは、今回のチュートリアルで最後に紹介する機能で、主に単一の音の反響のモデル化に使われます。遠くにある仮想の人工または自然の地理的要素をモデル化して、単一の特徴的な反響音を作り出すために使えます。例えば、山脈や大きな壁面などです。エミッターがリスナーのときに、最もよく作用します。Spot reflectorを環境内に落とし込むだけで、エンジンがエミッタ―とリスナー間の適切な音響ディレイを、それぞれの相対的位置や点対象を基に計算します。

  1. Wwiseプロジェクトで新Auxiliary Busを作成して、名前を "TestSpotReflectorAuxBus" として、それにReflectプラグインを設定する。
    Reflect付きの新Auxiliary Busを追加する
  2. 必ず Use game-defined auxiliary sends とListener Relative Routingを有効にし、3D Spatializationを None に設定します。
    必ず3D SpatializationをNoneに設定
  3. ReflectのMax Distanceを10,000に設定して、Speed of Soundを34,500に設定する。
    Reflect's Speed of SoundとMax Distanceを必ず設定する
  4. プロジェクトを保存する。
  5. Unrealで、Wwise Pickerから、TestSpotReflectorAuxBusをContent Browserにドラッグ&ドロップする。
  6. Level Blueprintを開いて:
    • Spot Reflectorをプレイヤーエミッター上で有効にする。
    • "PlayReferenceSoundTest" イベントをプレイヤーエミッターからポストする。(マウスボタンの代わりに、キーボードのキーを割り当てることも可能。)
      プレイヤーコンポーネントでSpot Reflectorを有効にして、そこからPlayReferenceSoundTestをポストする
  7. 新しい AkSpotReflector オブジェクトをシーンにドラッグする。
    • Locationを (x=-150.0, y=-150.0, z=100.0) に設定する。
  8. AkSpotReflector Object上で、Aux Busの選択肢を"TestSpotReflectorAuxBus"に設定する。
    新spot reflectorをシーン内へドラッグする
  9. SoundBanksを再生成する。
  10. シーンをスタートする。新しいイベントをプレイヤーエミッターからトリガーするときに、エミッターとspot reflectorfが同じ部屋にあれば、spot reflectorからのリフレクションが聞こえます。"TestSpotReflectorAuxBus" Auxiliary BusでReflectプラグインのEffect Editorを開くと、リストやグラフにリフレクションが表示されます。

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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう