CRIWARE Unity Plugin Manual  Last Updated: 2024-12-05
3D音源再生位置のランダム化
3D音源の位置を再生時にランダムに決定することが可能です。
adx2u_keys_ADX_A_70_3DPOS_RandomPosition.png
上記の図のように、元となる音源を中心として各種形状におさまるように一様分布します。
現在対応している形状は以下の通りです。
  • 矩形
  • 直方体
  • 円柱
  • リスト
adx2u_keys_pos3d_random_types.png
位置のランダム化に関する設定は、Unityプラグイン側からだけでなく、 CRI Atom Craft からも設定可能です。
CRI Atom Craft 上の設定方法については、CRI Atom Craft ツールマニュアルの「3Dポジショニングの設定方法」を参照してください。
プラグイン側からの設定について
CriWare.CriAtomSource コンポーネントのインスペクタで設定を行えば、コンポーネントが初期化される時に、
内蔵の CriWare.CriAtomEx3dSource メンバーに対してランダム化の設定が適用されます。
CriWare.CriAtomEx3dSource のインスペクタについては「 Cri Atom Source 」をご参照ください。

スクリプトから設定を行う場合、 CriWare.CriAtomEx::Randomize3dConfig 構造体にて、位置のランダム化に関する設定を行い、
CriWare.CriAtomEx3dSource::SetRandomPositionConfig 関数にて3D音源に設定を適用します。
また、設定を解除する場合は、当該関数の引数に対して null を指定してください。
CriWare.CriAtomEx::Randomize3dConfig 構造体では以下の設定が可能です。
  • 3D音源の位置や向きに追従するかどうか
    • CriAtomEx.Randomize3dConfig.followsOriginalSource
  • 形状(座標の算出方法)
    • CriAtomEx.Randomize3dConfig.calculationType
  • 形状(座標の算出方法)に対する各種パラメータ
    • CriAtomEx.Randomize3dConfig.calculationParameters
これらの設定はすべて CriWare.CriAtomSource のインスペクタ上で設定することができます。
スクリプトで各設定を行う場合、構造体のコンストラクタ内で指定してください。
基本的な形状を使用する場合、形状に対する各種パラメータを設定する必要があります。
形状とパラメータの組み合わせは以下の表を参照してください。
定義 形状(座標の算出方法) パラメータ1 パラメータ2 パラメータ3
CriWare.CriAtomEx::Randomize3dCalcType::Rectangle 矩形 左右幅 前後幅 -
CriWare.CriAtomEx::Randomize3dCalcType::Cuboid 直方体 左右幅 前後幅 上下幅
CriWare.CriAtomEx::Randomize3dCalcType::Circle 半径 - -
CriWare.CriAtomEx::Randomize3dCalcType::Cylinder 円柱 半径 上下幅 -
CriWare.CriAtomEx::Randomize3dCalcType::Sphere 半径 - -
[備考]
  • 「-」となっている欄は内部では参照しません
以下の座標の算出方法では、形状パラメータは参照しません。
事前に決めた相対座標をリストとして設定し、ランダム再生時に使用することが可能になります。
この設定を使用する場合、プラグイン側では以下の手順を踏む必要があります。
  • リストに関する設定
  • リストの登録
CRI ADX 内部では、リストの領域を確保します。
そのため、以下のクラスのコンストラクタパラメータで、確保するリストの最大要素数を設定する必要があります。
CriWare.CriAtomSource コンポーネントのインスペクタでは、ランダム形状をListに設定すると、この最大要素数の設定項目が現れます。
また、以下の関数を使用することで、リストの登録が可能です。