Wwise SDK 2019.2.15
|
ゲームオブジェクトがほかのオブジェクト(壁や梁など)に妨害されるオブストラクションや、隣の部屋から少し音が漏れてリスナーに聞こえるようなくるオクルージョンなどが、典型的な例です。Auxiliary sendsで、信号の反射を表現することができます。
オクルージョンやオブストラクションの例を下図に示します。
オブストラクションのモデルでは、信号の Direct Path だけにボリュームコントロールと/またはローパスフィルター(LPF)を適用します。Auxiliary sendによるReflection(反射)は影響を受けません。
オクルージョンは、信号のDirect Pathと、Auxiliary sendのReflectionの、両方に影響を与えるようなボリュームコントロールやLPFを適用することで表現できます。
![]() |
注釈: オブストラクションとオクルージョンが同時に発生することもあり、それを表現するには、オブストラクション値とオクルージョン値の両方がDirect Pathに影響を与えるようにします。ただし、リフレクションパスはオクルージョン値の影響の みを受けます。 |
オブストラクションやオクルージョンを処理するサウンドエンジンのパイプライン内の流れを、下図に示します:
ゲームエンジンは、オブジェクトやリスナーのゲームにおける物理的な位置情報を使い、オブストラクション値やオクルージョン値を決定します。
サウンドデザイナーは、Wwise Project Settings/Curves タブのカーブにアクセスして、算出されたオブストラクション値やオクルージョン値に対してボリュームや LPF がどのように反応するかを決定することができます。
また、サウンドデザイナーは、ゲームのパフォーマンス要件や描写レベルに応じて、任意のカーブの使用を有効化または無効化することができます。
上図のスナップショットで設定したグラフのカーブを使うと、オブストラクション値を1.0f(100)とした時、ソースオブジェクトで-50dBのボリューム変化が発生します。
ObstructionカーブやOcclusionカーブをWwiseでカスタム化する方法については、 Wwise online Help を参照してください。
ゲームデザイナーは、各ゲームオブジェクトのオブストラクションとオクルージョンを計算し、次のコールを使用して、算出した値をサウンドエンジンに値を渡す必要があります:
![]() |
注意: オブストラクションとオクルージョンレベルは常に0.0f と 1.0fの間の値でなければなりません。 |
1つのゲームオブジェクトに対して複数のリスナーが有効になっている場合、サウンドエンジンは、すべてのリスナーに聞こえる最小LPF値と最大ボリューム値を決定し、続いて、この値で結果として生じるオブストラクション/オクルージョンを計算します。