目次

Wwise Reflect

(以下「Wwise Reflectのプロパティ」参照。)

Wwise Reflectプラグインエフェクトは、マルチtapのフィルタ付き時変性( time-varying)delay lineを実装して、スペーシャリゼーション(spatialization)されたアーリーリフレクションのシミュレーションを目的とします。

音響のジオメトリックモデリングを検討す上で、スペーシャリゼーションしたアーリーリフレクションは"image source technique"を使って計算することが典型的です。このアプローチで、アーリーリフレクションをイメージソースとして、まるで音が反射するジオメトリが鏡であるかのように表現できます。下図は、そのイメージ図です。

この図では、エミッタEとリスナーLが、囲いのボックス(黒の実線)で表された1つのジオメトリ(部屋)内に存在します。エミッタからリスナまでの反射パスが、緑の実線で表されています。イメージソース手法(image source technique)では、各表面に対して、エミッタの"鏡像(イメージ)"を生成します。イメージソースは、エミッタを通る面に垂直な直線上の、面から同じ距離だけ離れた、面の裏側の場所に配置されます。音が伝わる距離の合計は、イメージソース・リスナーカンの距離に該当します。なお、イメージソースの配置はエミッタのポジションやジオメトリに厳密に依存するもので、リスナーのポジションに関係ありません。

ゲームが、イメージソースのリストを対象となるプラグインインスタンスにプッシュします。イメージソース毎に、その相対的な3Dポジョン、ディスタンスに基づくカーブ、そして関連 「Acoustic Textures」に基づいて、ディレイラインにタップが追加され、フィルタリングされ、パンニングされ、スケール調整されます。

Wwise Reflectはアーリーリフレクションを表現するAuxiliary Busで使うのが典型的です。アーリーリフレクションのシミュレーションは、バスに送られる音を発するゲームオブジェクトがこのバスに関連付いていれば、正しく行われます。

事例: FPSゲームのプレイヤーが発する音にWwise Reflectを使う

  • Wwise Reflectを、Auxiliary Busに追加する。

  • AK::SoundEngine::SetGameObjectAuxSendValues()を使って、ゲーム内で、このAuxiliary Busにプレイヤーゲームオブジェクトを送る。

  • AK::SoundEngine::SendCustomGameData() を使って、ゲーム内で、プラグインのそのインスタンスの、イメージソースを表すBlobデータ(リスナー周辺の、周りのジオメトリに該当するもの)を送信する。データフォーマットの説明は、SDK/include/AK/plugin/AkReflectGameData.h参照。各イメージソースが、それぞれWwise Reflectを通過する信号の、パンニングされて、フィルターをかけられて、ディレイしたコピーとなる。

  • イメージソースのポジションを更新する必要がある時に、新しいBlobを送信する。

[注釈] 注釈

Reflectをリスナーとは異なるオブジェクトに関連付けたバスに使用する場合、現状はバスの3Dスペーシャリゼーションのポジショニングモードを None に設定する必要があります。そうしないとWwise Reflectによって生成され空間配置(spatialize)されたイメージソースを、Wwiseが更に変換(パンニングと減衰)させてしまうからです。

Acoustic Textures

イメージソース1つにつき、最大4つのAcoustic Texturesを通せます。Acoustic Textureは「Acoustic Texture Editor」で設定して、素材のプロパティを表します。プラグイン実行に際して、そのTextureに設定された4種類のAbsorption(吸音)バンド(Low、Mid Low、Mid High、High)が、4つの周波数バンドの減衰に変換されます。

2つ以上のAcoustic Textureを適用すると、バンド吸音係数を合算して、信号を順次フィルターにかけたようにします。この結果、複数の面に反響したかのような効果がでます。

Wwise ReflectのデフォルトのFrequency Absorption Bandのマッピング

  • Low: < 250 Hz

  • Mid Low: > 250 Hz and < 1,000 Hz

  • Mid High: > 1,000 Hz and < 4,000 Hz

  • High: > 4,000 Hz

[ヒント] ReflectのFrequency Absorption Bandデフォルト値は、変更可能です

ReflectのFrequency Absorptionのデフォルト値を変更できますが、非常に特殊なシナリオ以外では、必要ないはずです。変更するには、%Wwise%\Authoring\x64\Release\bin\plugins\AkReflect.xmlファイルを直接編集しますが、そのためには、BaseTextureFrequencyDefault Valueを変更します。これで新しいデフォルトのLow帯域が設定され、ほかの帯域も続いて2オクターブずつ高くなります。

Wwise Reflectを使って第三者音の反響をシミュレーションする

Wwise Reflectをプレイヤーから見た第三者の音に適用するには、エミッタに関連付けられたバスのインスタンスに、Wwise Reflectを実行する必要があります。詳細は、3D Bussesや、 AK::SoundEngine::SetGameObjectAuxSendValues()を参照してください。バスインスタンスを適切に設定するには、AK::SpatialAudioの機能を利用できます。

Wwise Reflectの設定の調整

Reflectの反響効果を調整できる基本的なパラメータがいくつかあります。

反響とは、インプット信号をダウンミックスして、それをパンニング、フィルター、ディレイしたものになります。ディレイタイムは、ゲーム側で操作するイメージソースの距離と、ReflectのSpeed of Sound(音速)によって左右されます。フィルターやボリュームの増減は、イメージソースの距離と回折係数と、その様々な曲線を比較して決めます。また、フィルターはイメージソースのAcoustic Textureの設定にも、影響されます。

[ヒント] ヒント

距離の減衰カーブは、空気の吸収とエネルギーのディケイをシミュレーションします。

Diffractionの使い方

イメージソースに回折係数が設定することができます。鏡面反射であれば、通常は0ですが、リスナーに到達するまでに反射面の端をまわり込む必要があれば、0以外です。そのような反射は一般的に振幅が小さく、フィルタリングされます。Wwise Reflectが公開する曲線を使い、回折係数に対し、これらのパラメータを微調整できます。回折の詳細や、初期反射との関係や、回折を AK::SpatialAudio でシミュレーションする方法などについて、詳しくは Spatial Audio Concepts - DiffractionGeometric Diffraction of Early Reflections を参照してください。なお、 AK::SpatialAudio のGeometric Diffractionは現在、実験的機能です。

Wwise Reflectのプロパティ

項目

内容

Inclusion

このオブジェクトが含まれるのかどうかを示す。選択すると、このオブジェクトが含まれる。選択しないと、含まれないことを示す。 デフォルトでは全プラットフォームに適用する。プラットフォーム別のカスタマイゼーションの指定や設定を行う場合は、 Linkインジケータ (チェックボックス左)を使う。

チェックなしの場合は、Property Editorのプロパティや動作を設定できない。

Default value: false

名前

エフェクトインスタンスの名前。

エフェクトインスタンスは、エフェクトのプロパティ設定をまとめたものである。カスタムインスタンスとShareSetの2つのタイプがある。カスタムインスタンスは1つのオブジェクトだけに使用できるのに対し、ShareSetは複数のオブジェクト間で共有できる。

Effect

エフェクトのタイプ。

Shared by (Used by)

選択されているShareSetに現在サブスクライブされているオブジェクトのリスト。

エフェクトのカスタムインスタンスを編集している場合は、このフィールドが"Used by"となる。

検索フィールドが開き、標準的な英数字の検索によってマッチしない項目がビューで非表示となる。詳しくは「表の使用」を参照。

検索フィールドを閉じて検索フィルタを解除するには、Searchアイコン左のCloseアイコンをクリックする。

[注釈] 注釈

「List View」「Query Editor」「MIDI Keymap Editor」「Referenceビュー」で、ノードが閉じて非表示となっている項目は検索対象とならない。

エフェクトのプロパティ設定をデフォルト値に戻す。

エフェクトのカスタムインスタンスを編集している場合のみこのオプションが使用可能。

Notes

エフェクトに関する追加情報。

General

Speed Of Sound

単位毎秒。単位とは、ゲームで使用してReflectに送信される、距離の単位を指す。空中の音速は、~秒速340m(単位m/s)。ゲームの単位がcmであれば、秒速は約34,000(cm)/sとなる。

Default value: 345
Range: 0.001 to 2147483648

Distance Smoothing

ディレイラインに送信するリフレクションのレイディスタンス(ray distance)に適用する、平滑化(smoothing)フィルタ。平滑化を増やせばリフレクション時間の更新は遅くなるが、移動で発生するドップラーピッチシフトが制限される。0から1の間の、正規化された値。

Smoothing Type

平滑化フィルタの、時間で変化するレスポンス形状を決める。IIRやFIRのカーブアイコンは、レイディスタンスの急激な変化をフィルタがどのように形づくるかを示す。

Threshold Mode

Continousモードは、移動で発生するドップラーピッチシフトを、最大限に許容する。スレッショルドを超えるほど移動が速い場合は、ピッチがスレッショルド未満になるまで、リフレクションのボリュームをダッキングする。スレッショルドを0にすると、移動があれば常にリフレクションのボリュームをダッキングする。

Stepモードは、ディスタンスのスレッショルドを示す半円を設定し、最小限の移動がないとリフレクションが更新されないようにする。スレッショルドを0にすると、移動が起きるたびに、新旧のリフレクションの間でリフレクションのクロスフェードが発生する。クロスフェードは、時間延長のエフェクトとなり、ピッチは変更されない。

Pitch Threshold

Continuous thresholdモードのときに、リフレクションボリュームをダッキングし始める前の、ドップラーピッチシフトの許容される最大値を設定する。これを0に設定すると、移動があればリフレクションのボリュームがダッキングされる。

Distance Threshold

モードがStep thresholdの場合、リフレクションのディレイタイムを更新するのに必要なレイディスタンスの最小限の変化(単位はゲームユニット)を設定する。0に設定すると、移動があればリフレクションがクロスフェードする。

Center %

3Dポジショニングに使うCenter%。Wwiseで扱う3DポジショニングのCenter%については、 Positioningタブ: Audio Bus、Auxiliary Bus を参照。

Default value: 100
Range: 0 to 100

Output Level

wet signal のボリュームレベル(dB)。

Default value: 0
Range: -96 to 24

Monitoring List

Filter

ゲームオブジェクトのNameやIDの内容に完全に一致する、または部分的に一致するものを自由に入力する。Monitoring List表にも、グラフビューのカーブカーソル にも、一致するイメージソースのみが表示される。

Filterフィールドの内容がクリアされるので、この下の列にも、関連するグラフ中のカーブにも、Wwise Reflectが適用される全てのイメージソースが表示される。

イメージソースのMuteやSoloの状態をコントロールしたり、潜在的なミュートやソロの状態が表示したりする。

イメージソースをミュートすると、現在のモニタリングセッションにおいて音がミュートとなる。イメージソースをソロにすると、Wwise Reflectの現在のインスタンスにおいて、他の全てのイメージソースの音がミュートとなる。

太字のMSは、このイメージソースが明確にMuteまたはSoloの状態に設定されたことを示す。太字でない薄字のMSは、このイメージソースのMuteまたはSoloの状態が、他のイメージソースの状態の結果として潜在的に設定されたことを意味する。

[注釈] 注釈

ミュートやソロの機能は、モニタリング目的のために提供されるもので、プロジェクト内で維持されず、SoundBankにも保存されない。

Image Source ID

イメージソースに付けられるID番号。固有の番号をゲームが割り振る。

Image Source Name

イメージソースの名前。

Game Object ID

ゲームオブジェクトに付けられるID番号。固有の番号をゲームが割り振る。

Game Object Name

ゲームオブジェクト名。

Textures

サウンドが反射するAudio Textureの名前(名前が分からない場合は、ID)。

[注釈] 注釈

2番目の反射では、リストに2つ以上のTextureが表示される。

Distance (距離)

イメージソースとリスナーの間の距離を、ゲームの単位で示したもの。

Smoothed Distance

平滑化フィルタを適用したあとの、距離の現在値。

Current Pitch

モードがcontinuous thresholdのとき、リフレクション距離を変更することで発生する現在のドップラーピッチのシフト(単位cents)。

Displacement

Step thresholdモードのとき、現在のリフレクション長さから離れ、これから適用する差分距離の蓄積。Distance Thresholdを超過すると、0にリセットされます。

(Image Source Graph View)

Distance (X軸) とイメージソースのプロパティ値 (Y軸) の関係を図示したもの。

グラフビューに、同時に複数のカーブを表示できる。

Cursor Name Category

グラフビューで表示(または非表示)するパラメータフラグを指定するリスト。

  • No Flag
  • Image Source ID
  • Image Source Name
  • Game Object ID
  • Game Object Name
  • Texture(s)

Default value: No Flag

X

選択したコントロールポイントのX座標。X値は、選択したDistanceの値を表す。

2つ以上のコントロールポイントを選択すると、このフィールドの数値が「0」となり、これを増減させることで、選択中の全てのコントロールポイントを、現在の数値から増減できる。例えば2つのコントロールポイントを選択して、Xスライダを-5だけ移動させると、コントロールポイントが2つとも、左に5単位だけ動く。

Y

選択したコントロールポイントのY座標。Y値は、プロパティ値(Distance Attenuationボリュームのデシベル値、またはDistance Spread率、またはLow-PassまたはHigh-PassフィルタのHz値)を表す。。

2つ以上のコントロールポイントを選択すると、このフィールドの数値が「0」となり、これを増減させることで、選択中の全てのコントロールポイントを、現在の数値から増減できる。例えば、2つのコントロールポイントを選択して、テキストボックスYに「-5」と入力すると、両方のコントロールポイントが、下に「5」だけ移動する。

グラフビューの中心にズームインする。

グラフビューの表示を、デフォルトのズーム比「1:1」にリセットする。

グラフビューの中心からズームアウトする。

Max Distance

ゲームの単位で示した、カーブの最大距離。

Default value: 1000
Range: 1 to 2147483648

(Pin/Unpin)

Pinアイコンを選択すると、プロパティが選択されていない時でも、プロパティのカーブの輪郭がグラフビューで表示されたままになる。

グラフビューのそれぞれのカーブを見分けるための、色の凡例。

Property

選択すれば、以下の8種類のWwise Reflectイメージソースのカーブがグラフビューに表示された時に、編集できる。

  • Distance Attenuation: イメージソースとリスナーの間の距離に基づいた、ボリュームの減衰。
  • Distance Attenuation (Emitter vs. Listener): エミッタとリスナーの間の距離に基づいた、ボリュームの減衰。
  • Distance Spread: イメージソースとリスナーの間の距離に基づいた、3Dポジショニングに使うスプレッド。Wwiseが3Dポジショニングでスプレッドをどう扱うかについては、Wwise Helpの3D ポジショニングの計算の仕組み:を参照。
  • Distance Low-Pass Filter: イメージソースとリスナーの間の距離に基づいた、第1オーダーのローパスフィルタ。
  • Distance High-Pass Filter: イメージソースとリスナーの間の距離に基づいた、第1オーダーのハイパスフィルタ。
  • Diffraction Attenuation: この反射の回折係数に基づいた、ボリュームの減衰。鏡面反射と回折反射の間をスムーズに線形補間するには、回折0%のときの値を0 dBにします。
  • Diffraction Low-pass Filter: このイメージソースの回折係数に基づいた、1次ローパスフィルタ。鏡面反射と回折反射の間をスムーズに線形補間するには、回折0%のときの値を最も大きくします(フィルタリングなし)。
  • Diffraction High-pass Filter: このイメージソースの回折係数に基づいた、1次ハイパスフィルタ。鏡面反射と回折反射の間をスムーズに線形補間するには、回折0%のときの値を最も小さくします(フィルタリングなし)。