3Dポジショニングとは、3D空間上で再生する音源の再生情報を設定できる機能です。
キューの設定でコーンの設定や距離減衰、ドップラー効果などを設定します。
ゲーム空間での3Dのソースの位置や向きやリスナーの位置や向き、それぞれの距離などから減衰処理や音の変化をさせることができます。
3Dポジショニングのプレビューは セッションウィンドウ か CRI Atom Viewer で行えます。
3Dポジショニング対応にするためには、キューもしくはウェーブフォームリージョンの「パンタイプ」を「3Dポジショニング」または「オート」に変更する必要があります。
プレーヤーに対して3Dリスナー・3Dソースを設定する必要があります。
詳細はランタイム側のマニュアルを参照してください。
パンタイプを「オート」に設定した場合、再生するキューはプレーヤーの設定状態に応じて、3Dポジショニングまたは パン のいずれかで再生されます。
具体的には、プレーヤーが3Dポジショニングに対応していれば3Dポジショニングで、対応していなければパンで再生します。
3Dポジショニングを利用するためには、プレーヤーに3Dソースおよび3Dリスナーを設定する必要があります。
一方、パンタイプを「3Dポジショニング」に指定した場合、必ず3Dソースと3Dリスナーをプレーヤーに設定し、3Dポジショニングに対応した状態で再生を開始する必要があります。
「オート」設定とは異なり、プレーヤーが対応していない場合は、パンとして再生せずに、エラーコールバックを生成し再生処理を中断します。
「オート」設定したキューを通常のプレビュー再生する場合、デフォルトでは「3Dポジショニング」で再生されます。
「オート」設定における3Dポジショニングとパンの切り替えをプレビューするためには セッションウィンドウ を使用します。
3Dポジショニングの設定は[3Dポジショニング]インスペクターから行います。
3Dポジショニングの設定項目にはキューで設定するものとウェーブフォームリージョンで設定するものがあります。
キューには以下の項目を指定できます。
ウェーブフォームリージョンには以下の項目を指定できます。
ウェーブフォームリージョンのパンタイプは初期値が「デフォルト」となっています。この場合、キューの値を参照します。
「パン固定」を有効にした場合、リスナーから見た音源の位置によるパンニングを行わず、元の音をそのまま再生します。(距離減衰など、パン以外の計算は適用されます。)
「パン固定」を有効にした場合、ワイドネス値は以下のような動作仕様になります。
ワイドネス値が減少するグラフを距離AISACに設定し、「パン固定」と組み合わせて使用することで、以下のような動作を実現します。
黒字斜体の「L」「S」はそれぞれリスナー(Listener)と音源(Source)を示しています。
青字の「L」「R」「Ls」「Rs」は元の波形ファイルの各チャンネルに対応します。
音源の位置や方向、リスナーの位置や方向はプログラム側で指定します。
距離減衰の値は「3Dポジショニング最小距離」「3Dポジショニング最大距離」で設定します。
目安としては10から300くらいをセットすると良いでしょう。
距離減衰の最大距離・最小距離については、音源の大きさや、距離による減衰率などを考慮して設定します。
例1)頭のまわりで蜂が飛ぶような場合:距離減衰最小0.2、距離減衰最大0.6
例2)ジェット機が上空を通過するような場合:距離減衰最小20、距離減衰最大800
音源との距離や角度に対応するAISACコントロールを作成することで、キュー独自の距離減衰や角度変化に合わせたより豊かな3D空間の音色変化の演出ができます。
AISACコントロールと連動させることができるパラメーターは以下の通りです。
ランダム音源形状を指定すると、キューの再生時に3Dポジショニング音源がランダム配置されるようになります。
指定できる形状は以下のとおりです。
矩形・直方体の場合、左右・前後・上下のランダム幅は指定された値の範囲内になります。
例えば、矩形の左右のランダム幅に10[m]を設定した場合、結果は-5[m]から+5[m]の範囲でランダムに設定されます。
円・球の場合、ランダム半径は指定された半径以下にランダム化されます。
例えば、球のランダム半径に5 [m]を設定した場合、元の位置からの距離が最大で5 [m]になるようにランダムに設定されます。
円柱の場合、上下のランダム幅は指定された値の範囲内になります。
ランダム半径は指定された半径以下にランダム化されます。
自由・リストは、プログラムと組み合わせて使用します。
自由の場合、ランダム化の方法をプログラムで自由に設定できます(コールバック関数が提供されます)。
リストの場合、プログラムで登録した座標リストからランダムに選択されます。