3Dポジショニング

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

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

プレーヤーに 3D ソース・3D リスナーを設定してください。
また、デフォルトのウェーブフォームの設定はパンタイプが「パン」になっているので、「3Dポジショニング」または「オート」に変更する必要があります。
ソースやリスナーの位置はランタイム側で変更が可能です。

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

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

パンタイプの「オート」は、キューを再生するプレーヤーの設定状態に依存して、3Dポジショニング・パン のどちらで再生するかが決まります。
具体的には、プレーヤーが 3D ポジショニングに対応している場合は 3D ポジショニングで再生し、対応していない場合はパン で再生します。
3D ポジショニングに対応するには、プレーヤーに 3D ソース・3D リスナーを設定してください。 パンタイプに「3D ポジショニング」を指定した場合は、キューを再生するプレーヤーに 3D ソース・3D リスナーを設定し、3D ポジショニングに対応した状態で再生を開始する必要があります。
「オート」とは異なり、代替でパン 再生とはならず、エラーコールバックを発生して発音処理を中断します。

「オート」設定のキューを通常のプレビュー再生した場合、「3D ポジショニング」での再生となります。
「オート」設定時の 3Dポジショニング・パン の条件切り替わりをプレビューするには、セッションウィンドウを使用します。
セッションウィンドウで「3D ポジショニング」ビューの「プレーヤーに 3D オブジェクトをアタッチ」にチェックを入れると「3D ポジショニング」、入れないと「パン」 としてプレビュー再生します。

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

距離減衰の最大を0以上の値にする必要があります。
距離減衰のパラメーターは、最大距離で音量が0となるカーブになるので、
ここが0のままだと音がほとんど鳴りません。(リスナーと同位置の時しか鳴らない。)
目安としては10から300くらいをセットします。
最小距離も0のままだとリスナー付近のパンニングが激しくなります。1から10くらいをセットします。

criatom_tools_atomcraft_pos3d01.png

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

3Dポジショニングの設定方法

3Dポジショニングの設定は[3Dポジショニング]インスペクターから行います。 3Dポジショニングの設定項目はキューとウェーブフォームリージョンで設定します。

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

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

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

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] 以下になるようにランダム化されます。

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

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

「パンタイプ」と「パン固定」を指定できます。
ウェーブフォームリージョンで「パンタイプ」をデフォルトにした場合、所属キューのパンタイプ設定が適用されます。

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

  • スプレッド値が 1 のとき、相対位置によるパンニングをせず、元の音のまま再生する(デフォルト)
  • スプレッド値が 0 のとき、音源をモノミックスし、点音源としてポジショニング再生する

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

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

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

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

以下はウェーブフォームリージョン選択時の3Dポジショニングの設定画面です。

criatom_tools_atomcraft_pos3d_waveform.png

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

3Dポジショニングのプレビュー

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