このチュートリアルでは、Spatial Audio Geometryを使ってReflectプラグインに反射面を送ります。音響環境で音が伝播するときに感じられるアーリーリフレクションを、シミュレーションします。
Wwise Project
- ファクトリAcoustic Textureや、アーリーリフレクションのAuxバスのプリセットにアクセスするには、Factory Acoustic TexturesとReflect Factory Assetsをインポートする必要があります。
- Project > Import Factory Assets... に移動します。
- ReflectとAcoustic Texturesの両方を選択し、OKを押します。
- ファクトリープリセットを使い、アーリーリフレクションのAuxiliary Busを作成します:
- Master-Mixer Hierarchyで、Master Audio Busを右クリックします。
-
New Child > Presets を選択し、Early Reflection Auxiliary Busを選択します。
- Effectsタブでエフェクトをダブルクリックし、以下を行います
-
Wwiseプロジェクトの準備 で設定したサウンドの最大距離減衰が5,000なので、Max Distanceは5,000以上に設定します。
- Speed of Soundを34,500に設定します。
ReflectのSpeed of Sound、Max Distanceを設定
-
Wwiseプロジェクトの準備 で作成したサウンドの、Sound SFXのSound Property Editorに移動します。
- General Settingsタブで、Reflect Effectのある新しいAuxiliary Busを、Early Reflectionsの下に追加します
Wwiseで、サウンドにReflectを適用
- プロジェクトを保存する。
Unreal Project
このプロジェクトでは、建物と、床と、障害物が、音を反射するようにします。方法は2通りあり、AkSpatialAudioVolume を使うか、 AkGeometryComponent を使います。
AkGeometryComponent は、スタティックメッシュのアクターに追加できます。スタティックメッシュのジオメトリを、スペーシャルオーディオに自動的に送ってくれるのです。また、シンプルコリジョンメッシュを送信するように設定することもできます。簡単な形には、このコンポーネントを使うのが一番です。スペーシャルオーディオの演算負荷がすぐに高くなるので、三角形を送り込み過ぎないようにすることが大切です。
AkSpatialAudioVolumeは、ブラシボリュームです。AkSpatialAudioVolumeを追加できたら、希望する寸法になるようにボリュームを自分で変更できるほか、Fit To Geometry機能を使ってボリュームをルームに自動的にスナップさせることもできます。
それなりに複雑なスタティックメッシュに、AkGeometryComponentをアタッチすると、結果として複雑すぎるジオメトリとなることがあります。これは、演算時間の観点と同時に、WwiseのSpatial Audioで使われるようなレイ(ray)ベースの音響シミュレーションテクニックが音源の波長よりもジオメトリの部品(サーフェスやエッジ)の方が格段と大きいことを前提としている点からも、複雑です。ちなみに、1000Hzの音の波長は、空中で34cmです。そこで、スタティックメッシュをそのまま使わないで、AkSpatialAudioVolumeを使ってメッシュの周りに簡単な形を作成したり(音を反射したり回折させたりする障害物の場合)、メッシュ内に作成したり(ルーム、リバーブゾーン、またはサーフェスリフレクタを担う場合)することができます。
- SpatialAudioTutorialMapの障害物は、簡単なスタティックメッシュです。 AkGeometryComponent をすぐに追加できます。
-
このアクターをクリックし、Add Componentをクリックします。Ak Geometryを選択します。
- Geometryセクションで、Simple Collisionを選択します
AkGeometryComponentのMesh TypeがSimple Collisionのときの、デフォルト値
- 床に対しても、同じ手順を繰り返します。
-
SpatialAudioTutorialMapの建物は、カスタムメッシュで作られています。この形状も AkGeometryComponent を使えるくらい単純ですが、チュートリアルの練習用に、 AkSpatialAudioVolume を使ってみます。
- 3つの
AkSpatialAudioVolumes
を、シーンにドラッグ&ドロップします。
- 1つは、建物の外壁用に、建物の周りに設定します。ボリュームを、メッシュの外周に配置するので、手作業でトランスフォームする必要があります。
- ほかの2つは屋内の壁用に、各ルームの中に設定します。2つのルームに配置するのに、Fit To Geometryを使います。
- それぞれのAkSpatialAudioVolumeのDetailsパネルで、 Fit To Geometry を有効にします。
- もし最初の形が適していなければ、トランスフォームギズモを使って新しい場所にAkSpatialAudioVolumeを変えます。AkSpatialAudioVolumeを変えていくと黄色いプレビューアウトラインが表示されるので、注目してください。満足できる形が見つかったときにマウスボタンを離せば、AkSpatialAudioVolumeがこの場所にスナップします。
- Fit To Geometryを使ってAkSpatialAudioVolumesを配置していく方法について、詳しくは Fit to Geometry を参照してください。
-
Enable Surface Reflectors が、3つの
AkSpatialAudioVolumes
全てで有効になっていることを確認します。
-
Enable Room や、 Enable Late Reverb は、チェックなしのままとしてください。詳細は RoomとPortal で説明します。
Spatial Audio Volumeで、Enable Surface Reflectorsを有効にする
設定を検証する
- SoundBankを生成します。
- シーンをスタートし、Wwise Authoringに接続します。
- Advanced ProfilerのVoices Graphビューに、Reflectエフェクトのある新しいAuxiliary sendが表示されます。
- プレイヤーの最初のポジションにおいて、屋外に配置されたサウンドを再生します。
OutsideボタンのVoices Graph、Reflect付き
|
注記: プレイヤーが屋外にいるときに、どちらかの部屋でサウンドを再生しても、そのサウンドは聞こえず、Reflectのセンドも表示されません。建物周りや、それぞれの部屋の周りに、開口部のないAkSpatialAudioVolumesを作成したからです。開口部を作成するには、ブラシオブジェクトを変更したり、 RoomとPortal で説明するようにSpatial Audio Portalを使ったりします。 |
- 次に進む前に、Profiler Settingsビューを開き、Spatial Audioが有効になっていることを確認します。
- Game Object Profilerレイアウトに移動します(ショートカットはF12)。
- Playerのカメラと、3つのエミッターに注目してください。
- Game Object 3D Viewerに、各反射面が表示されます。
- サウンドを再生すると、そのサウンドがどこから来るのかが分かるように、アーリーリフレクションのレイが描写されます。
Game Object 3D Viewerのアーリーリフレクション
- レイが表示されなければ、Game Object 3D Viewer SettingsでReflection Pathsが有効になっているか、確認してください。
Game Object 3D Viewerのアーリーリフレクション
|
注記: Game Object 3D Viewerにジオメトリが表示されない場合は、Monitor Queue Pool Sizeを増やす必要があるかもしれません。 初期化設定 で設定できます。 |
- 参照
-