バージョン
3Dスペーシャリゼーションのサウンドやミュージックのオブジェクトでは、どの入力チャンネルをサラウンド環境のどのスピーカーにアウトプットするのかを自由に設定し、リスナーとの関係に応じたオブジェクトの動きをシミュレーションできます。この強化されたサラウンド体験を達成するために、Wwiseで空間配置(spatial positioning)と減衰の両方を使用します。
ポジショニングはAudio BusやAuxiliary Busにも適用できます。「Applying positioning to busses」 を参照してください。
空間配置(Spatialization)は、ゲームの3D環境における、オブジェクトの実際の場所、つまりポジション(Positioning)を指定します。空間配置を設定すると様々なスピーカーからサウンドが聞こえ、ゲーム内をソースが動く様子が表現されます。
対象サウンドの種類によって、空間配置の方法を、以下の2種類から選択できます。
Position: ゲームオブジェクトの3Dポジション情報(X-Y-Z座標)のみを使います。
Position + Orientation: ゲームオブジェクトの3Dポジション情報とオリエンテーション情報(上と前のベクトルのX-Y-Z座標)の両方を使います。
注釈 | |
---|---|
オリエンテーションの細かい特徴をよく理解するには「3D positioning illustrated」を参考にし、特に「Spreadの効果」や「Effect of orientation」の事例に注目してください。 |
さらに、対象サウンドの種類によって、ポジショニングの方法を、以下の3種類から選択できます:
Emitter: エミッターゲームオブジェクトのスペーシャルポジショニングを、生のゲームポジションデータで定義する、と指定します。Emitterを選択すると、Wwiseで設定する伝搬プロパティが、ゲーム中のリスナーとエミッターのポジションや、設定によってはオリエンテーションに、直接関係します。
Emitter with Automation: 関連するエミッターゲームオブジェクトのポジションに対するパス(通り道)をWwiseで作成することで、オブジェクトのスペーシャルポジショニングを定義する、と指定します。
Listener with Automation: リスナーゲームオブジェクトのポジションに対するパスをWwiseで作成することで、オブジェクトのスペーシャルポジショニングを定義する、と指定します。
Automationを用いてゲームオブジェクトのポジションやオリエンテーション(向き)を無視する、固定された伝播動作セットを定義することができます。Automationのスペーシャリゼーションは、ゲームインターフェース、メニュー画面、場所が固定されていないアンビエンスサウンド、ボイスなどに適しています。
また、エミッターやリスナーのオリエンテーションをそのまま持続させることや、Emitterポジションの場合は(Automationの有無にかかわらず)、ポジションをそのまま持続させることができます。該当するオプションを選択することで、オリエンテーション(そしてポジション)が、アニメーションパスと共に動きます。
ゲーム内のモバイルサウンドやミュージックオブジェクトの大半はEmitterポジショニングを使用することになりますが、Automationも鳥や虫などの定位されないアンビエントサウンドなど、さまざまな目的に使えます。
例えば頭上を飛び回る蚊の羽音をシミュレーションしたい場合を考えます。蚊の音は聞こえますが、目に見えません。サウンドエミッターが3D空間内を動き回る必要があるため、Emitter with AutomationまたはListener with Automationを使用した3Dスペーシャリゼーションが適しています。
Emitter with Automation と Listener with Automation のどちらを選んだ場合でも、以下のようにPosition Editorで蚊サウンドが通るべきパスのバリエーションを定義することができます:
Emitter with Automation を選択した場合、これがMosquito Sound SFXに関連付けられたエミッターゲームオブジェクトのポジションになります。この場合はため池の周りなど、蚊の羽音が聞こえる場所を定義するためのゲームオブジェクトが必要となります。 Listener with Automation を選択した場合、これがリスナーゲームオブジェクトのポジションになります。この場合は蚊に関連付けられたゲームオブジェクトは不要です。その代わりに蚊の羽音がプレイヤーについて回ります。 | |
いずれの場合もこれが事前に定義された蚊サウンドの通り道となり、パスはため池との位置関係(Emitter with Automation)にあるか、プレイヤーとの位置関係(Listener with Automation)にあります。 |
スペーシャリゼーションに加えて、オブジェクトに減衰を設定できます。減衰設定は信号源がリスナーから遠ざかったり障害物の後ろに移動したりする時に、信号が自然と弱まる状況をシミュレーションします。Wwiseではさまざまなカーブを使い、VolumeやLow-Pass FilterなどのWwiseプロパティ値を距離や障害物の値など特定のドライバにマッピングします。また、さらにリアルにするには、リスナーに対するオブジェクトの向きに応じてサウンドを減衰させる、サウンドコーンを設定することもできます。スペーシャリゼーションを適用したオブジェクトの減衰設定については「Applying attenuation」を参照してください。
ポジショニングの様々なオプションを組み合わせて、ゲームのリッチで多様なオーディオ環境を作成できます。状況に応じてスペーシャリゼーションだけを使用したり、スペーシャリゼーションと減衰を合わせて使用したりします。もちろん、減衰だけを使うこともできますが、これは「Working with speaker panning」に記載されています。
注釈 | |
---|---|
ゲームプレイにとって重要な3Dサウンドは、必ず聞こえるようにセンタースピーカーへ信号をルーティングする方法もあります。Center %の指定で、センタースピーカーを通る信号の量を決定できます。Center %コントロール機能については「Routing audio signals to the center speaker」を参照してください。 |
モーション(バイブレーション)機能付きのデバイスの中には、3Dスペーシャリゼーションに対応していないものもあります。例えば、ゲームコントローラーのモーターは、モーターが少なく動作が限定されているため、3D spatialization(空間配置)情報を活用できません。このため、高度でないモーションデバイス向けには、Speaker Panning機能を、Direct Assignmentに設定して利用してください。ただし状況によって、ソースとの距離に応じてモーション信号の強度を弱めることも考えられます。この場合は、スペーシャリゼーションを適用せずに減衰設定を利用することができます。
Wwiseで 3Dポジショニングがどのように計算されるかについて、以下のリストを参照してください。細かい仕組みが分からなくてもいいのでオーサリングツールの設定を始めたいと思う方は、最初のリストを飛ばしてその次のリストを見てください。
3D ポジショニングの計算の仕組み:
バーチャルポジションを決めるのは、スプレッドです( 詳しくはこちらの "スプレッドとフォーカス" のグラフ を参照)。複数のインプットチャンネルがあれば、スプレッドの弧をそれで分割します(例えばステレオではバーチャルポジションの半分が左、残り半分が右にアサインされます)。
バーチャルポジションごとにVBAP ゲインが計算されます。
全てのバーチャルポジションのゲインを、以下のように統合します:
アウトプットチャンネルごとに、そこに貢献する各インプットチャンネルのゲインの2乗の合計を計算します。
次に、インプットチャンネルの数で割ります。
次に、その商の平方根を出します。
注釈 | |
---|---|
特に |
3Dオブジェクトのプロパティを定義するには:
Property Editorに、オブジェクトを1つロードする。
Positioningタブに切り替える。
注釈 | |
---|---|
このオブジェクトが最上位のオブジェクトでない場合、Positioningオプションを設定する前にOverride parentオプションを選択する必要があります。 |
Listener Relative Routingを有効にする。
The group activates.
選択肢から Position、または Position + Orientation を選択します。
In the 3D Position group, select one of the following options to determine the source of the spatialization information:
Emitterを選択すると、ゲームがリアルタイムでスペーシャルポジション情報を計算する。
Emitter with AutomationまたはListener with Automationを選択すると、アニメーションパスを使い、Wwiseでスペーシャルポジション情報を事前に定義できる。
注釈 | |
---|---|
Automationオプションを選択した場合は、Automation…ボタンをクリックしPosition Editor (3D Automation)を開き、オブジェクトのアニメーションパスを設定します。アニメーションパスの作成については「Defining spatial positioning using animation paths」を参照してください。 |
Positionの設定でListener with Automationオプションを選択した場合は、Hold Listener Orientationチェックボックスを有効にし、音の再生開始時点のリスナーの瞬間的なオリエンテーションを保存し、その音の終了までこれに基づき、ポジションを決める。このオプションを選択しないと、リスナーのオリエンテーションに関係なく、音は常に同じスピーカーから聞こえてしまう。このオプションを選択すると、リスナーはパスとは独立して動く。つまり、リスナーが向きを変えると、サウンドが違うスピーカーから聞こえてきます。このオプションについては「リスナーの向きを追うアニメーションパスの作成」を参照。
Positionの設定でEmitterオプションを選択した場合は、Hold Emitter Position and Orientationチェックボックスを有効にし、ソースポジションを再生終了まで静止させる。このオプションを無効にすると、ソースのポジション情報がゲームフレームごとにアップデートされます。
スペーシャルポジション情報を、3Dゲーム空間内の移動をシミュレーションできるように計算するには、3D Spatializationリストを、PositionまたはPosition + Orientationに設定する。