3Dポジショニング機能とは
- 3Dポジショニング機能とは、音源とリスナーに対して位置や速度などの座標情報を設定するだけで、 それらの座標の位置関係に応じた音響効果を得ることができる機能です。
位置関係による音量やパンニング等の音像に関するパラメーターはライブラリ側で自動的に計算されるため、 ゲームプログラム側は音源とリスナーに対して位置や向きなどの情報を入力するだけで、 3次元的な音響演出を行うことができます。
使用方法
- 以下のような値をゲームプログラム側から指定します。
■リスナー情報
- 座標(x, y, z)
- 移動速度(x, y, z)
- 前方への姿勢ベクトル(x, y, z)
- 上方への姿勢ベクトル(x, y, z)
■音源情報
- 位置(x, y, z)
- 速度(x, y, z)
- コーンの向き(x, y, z)
- これらの値を指定すると以下の図のようになります。 この図では、以下の状況を想定するものとして値を設定します。
- リスナー(人)はz軸方向を向いてまっすぐ立っている。
- 犬は左方向を向いている。
- 鳥は右を向きながら飛行している。
各種設定値
- ※データ側にも設定可能な値です、ゲームプログラム側で指定すると、データ側の設定は上書き(無視)されます。
減衰
3Dポジショニング機能ではリスナーと音源の位置関係によって音量が減衰します。 減衰には距離によるものとサウンドコーンによるものがあります。 動作仕様については下記APIの解説をご参照ください。
距離:criAtomEx3dSource_SetMinMaxAttenuationDistance
サウンドコーン:criAtomEx3dSource_SetConeParameter
3Dポジショニング内の追加機能
- ADX2の3Dポジショニングではより多彩な空間音響表現を行うための機能が存在します。
AISACを使用した独自の減衰デザイン
- 以下のパラメーターに応じてAISACコントロールを変化させることができます。
- リスナーと音源の距離(距離減衰AISAC)
- リスナーから見た音源の角度(リスナー基準方位角AISAC、リスナー基準仰俯角AISAC)
- 音源から見たリスナーの角度(音源基準方位角AISAC、音源基準仰俯角AISAC)
- デフォルトの距離減衰設定ではボリュームのみが変化しますが、AISACを使用することでボリューム以外のパラメーターを変化させることが可能となります。
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 |
- 減衰距離の最小距離以下に音源を配置した場合、インテリア距離にしたがってパンされます。
インテリア距離についてはこちらを参照してください。
また、スピーカー角度はバーチャルスピーカー機能が有効になっている場合、その設定に依存します。
バーチャルスピーカーについてはこちらを参照してください。
Copyright (c) 2006-2018 CRI Middleware Co., Ltd.