3Dポジショニング

3Dポジショニングとは、3D空間上で再生する音源の再生情報を設定できる機能です。
キューの設定でコーンの設定や距離減衰、ドップラー効果などを設定します。
ゲーム空間での3Dのソースの位置や向きやリスナーの位置や向き、それぞれの距離などから減衰処理や音の変化をさせることができます。

3Dポジショニングのプレビューは セッションウィンドウCRI Atom Viewer で行えます。

3Dポジショニング対応にするには?

ツール側の設定

3Dポジショニング対応にするためには、キューもしくはウェーブフォームリージョンの「パンタイプ」を「3Dポジショニング」または「オート」に変更する必要があります。

criatom_tools_atomcraft_pos3d00.png

ランタイム側の設定

プレーヤーに対して3Dリスナー・3Dソースを設定する必要があります。

詳細はランタイム側のマニュアルを参照してください。

覚え書き
距離減衰の単位やドップラー係数などは、デフォルトでは単位をメートルとして処理しています。

「3Dポジショニング」と「オート」の違い

パンタイプを「オート」に設定した場合、再生するキューはプレーヤーの設定状態に応じて、3Dポジショニングまたは パン のいずれかで再生されます。

具体的には、プレーヤーが3Dポジショニングに対応していれば3Dポジショニングで、対応していなければパンで再生します。
3Dポジショニングを利用するためには、プレーヤーに3Dソースおよび3Dリスナーを設定する必要があります。

一方、パンタイプを「3Dポジショニング」に指定した場合、必ず3Dソースと3Dリスナーをプレーヤーに設定し、3Dポジショニングに対応した状態で再生を開始する必要があります。
「オート」設定とは異なり、プレーヤーが対応していない場合は、パンとして再生せずに、エラーコールバックを生成し再生処理を中断します。

「オート」設定したキューを通常のプレビュー再生する場合、デフォルトでは「3Dポジショニング」で再生されます。
「オート」設定における3Dポジショニングとパンの切り替えをプレビューするためには セッションウィンドウ を使用します。

3Dポジショニングのパラメーター設定方法

3Dポジショニングの設定は[3Dポジショニング]インスペクターから行います。

3Dポジショニングの設定項目にはキューで設定するものとウェーブフォームリージョンで設定するものがあります。

3Dポジショニングの設定項目(キュー)

キューには以下の項目を指定できます。

  • パンタイプ
  • 有効角度
  • 減衰距離
  • ドップラー係数
  • 距離や角度と連動させるAISACコントロール
  • ランダム音源形状
参照
キューの設定

3Dポジショニングの設定項目(ウェーブフォームリージョン)

ウェーブフォームリージョンには以下の項目を指定できます。

  • パンタイプ
  • パン固定

ウェーブフォームリージョンのパンタイプは初期値が「デフォルト」となっています。この場合、キューの値を参照します。

参照
ウェーブフォームリージョンの設定
criatom_tools_atomcraft_pos3d_waveform.png

パン固定有効時のワイドネス値

「パン固定」を有効にした場合、リスナーから見た音源の位置によるパンニングを行わず、元の音をそのまま再生します。(距離減衰など、パン以外の計算は適用されます。)
「パン固定」を有効にした場合、ワイドネス値は以下のような動作仕様になります。

  • ワイドネス値が 1 のとき、相対位置によるパンニングをせず元の定位を保ったまま再生する(デフォルト)
  • ワイドネス値が 0 のとき、音源をモノミックスし点音源として再生する

ワイドネス値が減少するグラフを距離AISACに設定し、「パン固定」と組み合わせて使用することで、以下のような動作を実現します。

  • リスナーと音源間の距離が近いとき、パンニングをせず元の定位を保ったまま再生する
  • リスナーから音源が離れているとき、音源をモノミックスし点音源として再生する
criatom_tools_atomcraft_pos3d_fixpan_spread.png

黒字斜体の「L」「S」はそれぞれリスナー(Listener)と音源(Source)を示しています。
青字の「L」「R」「Ls」「Rs」は元の波形ファイルの各チャンネルに対応します。

音源の位置や方向、リスナーの位置や方向はプログラム側で指定します。

距離減衰パラメーターを設定する

距離減衰の値は「3Dポジショニング最小距離」「3Dポジショニング最大距離」で設定します。
目安としては10から300くらいをセットすると良いでしょう。

距離減衰の最大距離・最小距離については、音源の大きさや、距離による減衰率などを考慮して設定します。
例1)頭のまわりで蜂が飛ぶような場合:距離減衰最小0.2、距離減衰最大0.6
例2)ジェット機が上空を通過するような場合:距離減衰最小20、距離減衰最大800

覚え書き
最小距離が0の場合、リスナー付近のパンニングが激しくなります。
最大距離が0の場合、音源がリスナーと同一の時にしか音鳴りません。
criatom_tools_atomcraft_pos3d01.png

AISACコントロールを使用した3D演出のカスタマイズ

音源との距離や角度に対応するAISACコントロールを作成することで、キュー独自の距離減衰や角度変化に合わせたより豊かな3D空間の音色変化の演出ができます。
AISACコントロールと連動させることができるパラメーターは以下の通りです。

  • 音源との距離
  • リスナー基準方位角
  • 音源基準方位角
  • リスナー基準仰俯角
  • 音源基準仰俯角
criatom_tools_atomcraft_pos3d.png

音源配置のランダマイズ

ランダム音源形状を指定すると、キューの再生時に3Dポジショニング音源がランダム配置されるようになります。
指定できる形状は以下のとおりです。

  • (ランダムなし)
  • 矩形
  • 直方体
  • 円柱
  • 自由
  • リスト
criatom_tools_atomcraft_pos3d_random.png

矩形・直方体の場合、左右・前後・上下のランダム幅は指定された値の範囲内になります。
例えば、矩形の左右のランダム幅に10[m]を設定した場合、結果は-5[m]から+5[m]の範囲でランダムに設定されます。

円・球の場合、ランダム半径は指定された半径以下にランダム化されます。
例えば、球のランダム半径に5 [m]を設定した場合、元の位置からの距離が最大で5 [m]になるようにランダムに設定されます。

円柱の場合、上下のランダム幅は指定された値の範囲内になります。
ランダム半径は指定された半径以下にランダム化されます。

自由・リストは、プログラムと組み合わせて使用します。
自由の場合、ランダム化の方法をプログラムで自由に設定できます(コールバック関数が提供されます)。
リストの場合、プログラムで登録した座標リストからランダムに選択されます。