3Dポジショニング

3Dポジショニング機能とは

3Dポジショニング機能とは、音源とリスナーに対して位置や速度などの座標情報を設定するだけで、 それらの座標の位置関係に応じた音響効果を得ることができる機能です。
ADX_A_60_3DPOS.png

位置関係による音量やパンニング等の音像に関するパラメーターはライブラリ側で自動的に計算されるため、 ゲームプログラム側は音源とリスナーに対して位置や向きなどの情報を入力するだけで、 3次元的な音響演出を行うことができます。

使用方法

以下のような値をゲームプログラム側から指定します。
■リスナー情報
  1. 座標(x, y, z)
  2. 移動速度(x, y, z)
  3. 前方への姿勢ベクトル(x, y, z)
  4. 上方への姿勢ベクトル(x, y, z)
■音源情報
  1. 位置(x, y, z)
  2. 速度(x, y, z)
  3. コーンの向き(x, y, z)

これらの値を指定すると以下の図のようになります。 この図では、以下の状況を想定するものとして値を設定します。
  1. リスナー(人)はz軸方向を向いてまっすぐ立っている。
  2. 犬は左方向を向いている。
  3. 鳥は右を向きながら飛行している。
ADX_A_59_3DPOS.png

各種設定値

基本的な設定値
設定項目 説明 関連API
リスナー位置 リスナーの空間上での位置を指定します。  criAtomEx3dListener_SetPosition
リスナー速度 リスナーの速度を指定します。 criAtomEx3dListener_SetVelocity
リスナー姿勢ベクトル リスナーの空間上での向きを設定します。  criAtomEx3dListener_SetOrientation
音源位置 音源の空間上での位置を指定します。  criAtomEx3dSource_SetPosition
音源速度 音源の速度を指定します。 criAtomEx3dSource_SetVelocity
音源姿勢ベクトル 音源のサウンドコーンの向きを設定します。 criAtomEx3dSource_SetOrientation
※音源サウンドコーン 音源のサウンドコーンを設定します。  criAtomEx3dSource_SetConeParameter
※音源ボリューム 音源のボリュームを指定します。  criAtomEx3dSource_SetVolume
※音源減衰距離  音源の距離減衰を設定します。 criAtomEx3dSource_SetMinMaxAttenuationDistance

※データ側にも設定可能な値です、ゲームプログラム側で指定すると、データ側の設定は上書き(無視)されます。

減衰

3Dポジショニング機能ではリスナーと音源の位置関係によって音量が減衰します。 減衰には距離によるものとサウンドコーンによるものがあります。 動作仕様については下記APIの解説をご参照ください。

距離:criAtomEx3dSource_SetMinMaxAttenuationDistance

ADX_A_37.png

サウンドコーン:criAtomEx3dSource_SetConeParameter

ADX_A_36.png

3Dポジショニング内の追加機能

ADX2の3Dポジショニングではより多彩な空間音響表現を行うための機能が存在します。

AISACを使用した独自の減衰デザイン

以下のパラメーターに応じてAISACコントロールを変化させることができます。
デフォルトの距離減衰設定ではボリュームのみが変化しますが、AISACを使用することでボリューム以外のパラメーターを変化させることが可能となります。
AISACの詳細については「AISAC インタラクティブサウンド機能「AISAC」」を参照してください。
[注意]

発音数制御

3Dポジショニングに関する発音数制御は、大きく分けて2つ存在します。
ここでは「距離によるボイスプライオリティ減衰」についてのみ説明します。
発音数制御および近距離プライオリティの詳細については、「発音数制御」を参照してください。
CriAtomEx3dSourceConfig の enable_voice_priority_decay を有効にし、 criAtomEx3dSource_Create 関数の引数に指定して実行すると、距離によるボイスプライオリティ減衰が有効になります。
最小減衰距離のときを0、最大減衰距離のときを-255とし、リスナーと当該音源の距離に応じてボイスプライオリティが線形に変化します。
[注意]

マルチポジショニング再生

複数の音源のパラメーターを考慮した「マルチポジショニング再生」が可能です。
複数の音源を管理する音源リストを単一のExプレーヤーに対して設定することで、 その音源リストに追加されている全ての音源のパラメーターが、定位や減衰等の計算に用いられます。
[備考] また、使用の際には以下の点に注意してください。
  • 音源リストに追加可能な音源数に上限はありませんが、音源数と処理負荷は比例します。
  • Exプレーヤーに対して音源リストが設定されている状態で音源をExプレーヤーに対して設定すると、先に設定されていた音源リストはExプレーヤーからクリアされ、新たに設定した音源がEXプレーヤーに設定されます。
  • 既にExプレーヤーに設定されている、音源リスト追加されている音源は、新たに別の音源リストに追加することは出来ません。
  • 距離のボイスプライオリティ減衰は、常にリスナーとの距離が最小である音源の設定値が適用されます。
  • ドップラーゲイン等によるピッチ変更は行われません。
関連API

リスナーのオートマッチング機能

複数のリスナーから自動的に最短の距離にあるリスナーを割り当てる機能です。 画面分割マルチプレイなどで近いプレイヤー側で3Dポジショニングの計算を行いたい場合などに利用できます。
[注意]リスナーの選択を毎フレーム行うため、明示的にリスナーをセットする場合よりも負荷が上がります。
関連API

フォーカスポイント

「フォーカスポイント」 は、3Dポジショニング時にリスニングポイントを細かく制御するための機能です。 フォーカスポイントを使用することで、音源からリスナまでの「距離」と「方向」を分離して制御することが可能となります。 詳細な使用方法はフォーカスポイントをご参照ください。

空間音響接続機能「3Dトランシーバー」

3D音源の音像位置をまとめてコントロールする機能です。 離れた地点の3D音源を近距離で鳴らしたい場合や、複数の音源の音を一点に集約して出力したい場合に利用できます。
詳細な使用方法は空間音響接続機能「3Dトランシーバー」をご参照ください。

マルチチャンネルの音声について

3Dポジショニングはマルチチャンネルの音声についても音源として扱うことが可能です。
但し、本来のスピーカー構成を維持したままポジショニングされます。
例えば5.1chの音声の場合、L・R・C・LFE・Ls・Rsの構成および配置を維持し、音源をどこに移動させてもそれぞれのチャンネルから再生されます。
なお、センターおよびLFEは音源のパラメーター変化に関する一切の影響を受けません。
それに対し、その他のチャンネルは全ての影響を受け、音源位置を移動させた場合はリスナーとの関係によってそれぞれの出力されるチャンネルが変化します。

リスナが正面(前方ベクトル(0.0, 0.0, 1.0)・上方ベクトル(0.0, 1.0, 0.0))を向いているときの音源位置による出力先一覧(5.1chの場合)
リスナからみた音源位置 Lの出力先 Rの出力先 Lsの出力先 Rsの出力先
前方 L R Ls Rs
右方 R Rs L Ls
後方 Rs Ls R L
左方 Ls L Rs R

減衰距離の最小距離以下に音源を配置した場合、インテリア距離にしたがってパンされます。
インテリア距離についてはこちらを参照してください。
また、スピーカー角度はバーチャルスピーカー機能が有効になっている場合、その設定に依存します。
バーチャルスピーカーについてはこちらを参照してください。

Next:空間音響接続機能「3Dトランシーバー」

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.