Public メソッド
クラス CriAtomEx3dSource

3D音源オブジェクト [詳細]

すべてのメンバ一覧

Public メソッド

 CriAtomEx3dSource ()
 3D音源オブジェクトの作成
override void Dispose ()
 3D音源オブジェクトの破棄
void Update ()
 3D音源の更新
void ResetParameters ()
 3D音源パラメータの初期化
void SetPosition (float x, float y, float z)
 3D音源の位置の設定
void SetVelocity (float x, float y, float z)
 3D音源の速度の設定
void SetOrientation (Vector3 front, Vector3 top)
 3D音源の向きの設定
void SetConeOrientation (float x, float y, float z)
 3D音源のサウンドコーンの向きの設定
void SetConeParameter (float insideAngle, float outsideAngle, float outsideVolume)
 3D音源のサウンドコーンパラメータの設定
void SetMinMaxDistance (float minDistance, float maxDistance)
 3D音源の最小距離/最大距離の設定
void SetInteriorPanField (float sourceRadius, float interiorDistance)
 3D音源のインテリアパンニング境界距離の設定
void SetDopplerFactor (float dopplerFactor)
 3D音源のドップラー係数の設定
void SetVolume (float volume)
 3D音源のボリュームの設定
void SetMaxAngleAisacDelta (float maxDelta)
 角度AISACコントロール値の最大変化量の設定
void SetAttenuationDistanceSetting (bool flag)
 距離減衰の設定
bool GetAttenuationDistanceSetting ()
 距離減衰設定の取得
void Set3dRegion (CriAtomEx3dRegion region3d)
 3Dリージョンの設定
void SetListenerBasedElevationAngleAisacControlId (ushort aisacControlId)
 リスナー基準仰俯角AISACコントロールIDの設定
void SetSourceBasedElevationAngleAisacControlId (ushort aisacControlId)
 音源基準方位角AISACコントロールIDの設定

説明

3D音源オブジェクト

説明:
3D音源を扱うためのオブジェクトです。
3Dポジショニング機能に使用します。

3D音源のパラメータ、位置情報の設定等は、3D音源オブジェクトを介して実行されます。

コンストラクタとデストラクタ

CriAtomEx3dSource ( )
inline

3D音源オブジェクトの作成

説明:
3D音源オブジェクト作成用コンフィグに基づいて、3D音源オブジェクトを作成します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

関数

override void Dispose ( )
inline

3D音源オブジェクトの破棄

説明:
3D音源オブジェクトを破棄します。
本関数を実行した時点で、3D音源オブジェクト作成時にDLL内で確保されたリソースが全て解放されます。
3D音源オブジェクトをセットしたAtomExプレーヤで再生している音声がある場合、 本関数を実行する前に、それらの音声を停止するか、そのAtomExプレーヤを破棄してください。
void Update ( )
inline

3D音源の更新

説明:
3D音源に設定されているパラメータを使用して、3D音源を更新します。
本関数では、3D音源に設定されているすべてのパラメータを更新します。
パラメータをひとつ変更する度に本関数にて更新処理を行うよりも、 複数のパラメータを変更してから更新処理を行った方が効率的です。
注意:
本関数はAtomExプレーヤのパラメータ更新( CriAtomExPlayer::UpdateAll , CriAtomExPlayer::Update ) とは独立して動作します。
3D音源のパラメータを変更した際は、本関数にて更新処理を行ってください。
例:
// 音源の作成
 CriAtomEx3dSource source = new CriAtomEx3dSource();
  :
 // 音源の位置を設定
 source.SetPosition(0.0f, 0.0f, 1.0f);

 // 音源の速度を設定
 source.SetVelocity(1.0f, 0.0f, 0.0f);

 // 注意)この時点では音源の位置や速度はまだ変更されていません。

 // 変更の適用
 source.Update();
  :
void ResetParameters ( )
inline

3D音源パラメータの初期化

説明:
3D音源に設定されているパラメータをクリアし、初期値に戻します。
注意:
クリアしたパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetPosition ( float  x,
float  y,
float  z 
)
inline

3D音源の位置の設定

引数:
xX座標
yY座標
zZ座標
説明:
3D音源の位置を設定します。
位置は、距離減衰、および定位計算に使用されます。
位置は、3次元ベクトルで指定します。
位置の単位がいくつであるかは、3Dリスナーの距離計数 ( CriAtomEx3dListener::SetDistanceFactor 関数で設定 )で決まります。
デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には位置は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetVelocity ( float  x,
float  y,
float  z 
)
inline

3D音源の速度の設定

引数:
xX軸方向の速度
yY軸方向の速度
zZ軸方向の速度
説明:
3D音源の速度を設定します。
速度は、ドップラー効果の計算に使用されます。
速度は、3次元ベクトルで指定します。
速度の単位は、1秒あたりの移動距離です。
距離の単位がいくつであるかは、3Dリスナーの距離計数 ( CriAtomEx3dListener::SetDistanceFactor 関数で設定)で決まります。 デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には速度は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetConeOrientation ( float  x,
float  y,
float  z 
)
inline

3D音源のサウンドコーンの向きの設定

引数:
xX方向の値
yY方向の値
zZ方向の値
説明:
3D音源のサウンドコーンの向きを設定します。
サウンドコーンは、音源から音が発生する方向を表し、音の指向性の表現に使用されます。
サウンドコーンの向きは、3次元ベクトルで指定します。
設定された向きベクトルは、ライブラリ内部で正規化して使用されます。
デフォルト値は(0.0f, 0.0f, -1.0f)です。
データ側にはサウンドコーンの向きは設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::SetConeParameter, CriAtomEx3dSource::Update
void SetConeParameter ( float  insideAngle,
float  outsideAngle,
float  outsideVolume 
)
inline

3D音源のサウンドコーンパラメータの設定

引数:
insideAngleサウンドコーンのインサイドアングル
outsideAngleサウンドコーンのアウトサイドアングル
outsideVolumeサウンドコーンのアウトサイドボリューム
説明:
3D音源のサウンドコーンパラメータを設定します。
サウンドコーンは、音源から音が発生する方向を表し、音の指向性の表現に使用されます。
サウンドコーンは、内側コーン、外側コーンで構成されます。インサイドアングルは内側コーンの角度、 アウトサイドアングルは外側コーンの角度、アウトサイドボリュームは外側コーンの角度以上の方向での音量を それぞれ表します。
内側コーンの角度より小さい角度の方向では、コーンによる減衰を受けません。 内側コーンと外側コーンの間の方向では、徐々にアウトサイドボリュームまで減衰します。
インサイドアングルおよびアウトサイドアングルは、0.0f〜360.0fを度で指定します。
アウトサイドボリュームは、0.0f〜1.0fを振幅に対する倍率で指定します(単位はデシベルではありません)。
ライブラリ初期化時のデフォルト値は以下のとおりであり、コーンによる減衰は行われません。
  • インサイドアングル:360.0f
  • アウトサイドアングル:360.0f
  • アウトサイドボリューム:0.0f
データ側にサウンドコーンパラメータが設定されている場合に本関数を呼び出すと、以下のように適用されます。
  • インサイドアングル:加算
  • アウトサイドアングル:加算
  • アウトサイドボリューム:乗算 .
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetMinMaxDistance ( float  minDistance,
float  maxDistance 
)
inline

3D音源の最小距離/最大距離の設定

引数:
minDistance最小距離
maxDistance最大距離
説明:
3D音源の最小距離/最大距離を設定します。
最小距離は、これ以上音量が大きくならない距離を表します。
最大距離は、最小音量になる距離を表します。
距離の単位がいくつであるかは、3Dリスナーの距離計数 ( CriAtomEx3dListener::SetDistanceFactor 関数で設定)で決まります。
ライブラリ初期化時のデフォルト値は以下のとおりです。
  • 最小距離:0.0f
  • 最大距離:0.0f
データ側に最小距離/最大距離が設定されている場合に本関数を呼び出すと、 データ側の値を上書き(無視)して適用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetInteriorPanField ( float  sourceRadius,
float  interiorDistance 
)
inline

3D音源のインテリアパンニング境界距離の設定

引数:
sourceRadius3D音源の半径
interiorDistanceインテリア距離
説明:
3D音源のインテリアパンニング境界距離の設定をします。
3D音源の半径は、3D音源を球としたときの半径です。
インテリア距離は、インテリアパンニング適用される3D音源の半径からの距離です。
3D音源の半径内では、インテリアパンニング適用されますが、インテリア距離が0.0と扱われるため、 全てのスピーカーから同じ音量で音声が再生されます。
インテリア距離内では、インテリアパンニング適用されます。
インテリア距離外では、インテリアパンニング適用されず、音源位置に最も近い1つ、 または2つのスピーカーから音声が再生されます。
デフォルト値は3D音源の半径 0.0f、インテリア距離 0.0f(3D音源の最小距離に依存)です。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update, CriAtomEx3dSource::SetMinMaxDistance
void SetDopplerFactor ( float  dopplerFactor)
inline

3D音源のドップラー係数の設定

引数:
dopplerFactorドップラー係数
説明:
3D音源のドップラー係数を設定します。
ドップラー係数は、音速を340m/sとして計算されたドップラー効果に対して、 誇張表現するための倍率を指定します。
例えば、2.0fを指定すると、音速を340m/sとして計算したピッチを2倍して適用します。
0.0fを指定すると、ドップラー効果は無効になります。
ライブラリ初期化時のデフォルト値は0.0fです。
データ側にドップラー係数が設定されている場合に本関数を呼び出すと、 データ側の値を上書き(無視)して適用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetVolume ( float  volume)
inline

3D音源のボリュームの設定

引数:
volumeボリューム
説明:
3D音源のボリュームを設定します。
3D音源のボリュームは、定位に関わる音量(L,R,SL,SR)にのみ影響し、 LFEやセンターへの出力レベルには影響しません。
ボリューム値には、0.0f〜1.0fの範囲で実数値を指定します。
ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ライブラリ初期化時のデフォルト値は1.0fです。
データ側に3D音源のボリュームが設定されている場合に本関数を呼び出すと、 データ側の値と乗算して適用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetMaxAngleAisacDelta ( float  maxDelta)
inline

角度AISACコントロール値の最大変化量の設定

引数:
maxDelta角度AISACコントロール値の最大変化量
説明:
角度AISACによりAISACコントロール値が変更される際の、最大変化量を設定します。
最大変化量を低めに変更すると、音源とリスナー間の相対角度が急激に変わった場合でも、 角度AISACによるAISACコントロール値の変化をスムーズにすることができます。
例えば、(0.5f / 30.0f)を設定すると、角度が0度→180度に変化した場合に、 30フレームかけて変化するような変化量となります。
デフォルト値は1.0f(制限なし)です。
データ側では本パラメータは設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
本関数で設定している最大変化量は、定位角度を元に計算されている、 角度AISACコントロール値の変化にのみ適用されます。定位角度自体には影響はありません。
参照:
CriAtomEx3dSource::Update
void SetAttenuationDistanceSetting ( bool  flag)
inline

距離減衰の設定

引数:
flag距離減衰を有効にするか(True: 有効、False: 無効)
説明:
距離減衰による音量の変動を有効にするか無効にするかを設定します。
デフォルト値は True (有効)です。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update, CriAtomEx3dSource::GetAttenuationDistanceSetting
bool GetAttenuationDistanceSetting ( )
inline

距離減衰設定の取得

戻り値:
距離減衰設定(True: 有効、False: 無効)
説明:
距離減衰による音量の変動が有効か無効かを取得します。
デフォルト値は True (有効)です。
参照:
CriAtomEx3dSource::SetAttenuationDistanceSetting
void Set3dRegion ( CriAtomEx3dRegion  region3d)
inline

3Dリージョンの設定

説明:
3D音源に対して3Dリージョンを設定します。
注意:
同一のExPlayerに設定されている3D音源と3Dリスナーに設定されているリージョンが異なり、
かつ3D音源と同じリージョンが設定されている3Dトランシーバーがない場合、音声はミュートされます。
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dRegion::Create, CriAtomEx3dSource::Update
void SetListenerBasedElevationAngleAisacControlId ( ushort  aisacControlId)
inline

リスナー基準仰俯角AISACコントロールIDの設定

引数:
aisacControlIdリスナー基準仰俯角AISACコントロールID
説明:
リスナーから見た音源の仰俯角に連動するAISACコントロールIDを指定します。
データ側に設定されているリスナー基準仰俯角AISACコントロールIDは、本関数によって上書き適用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update
void SetSourceBasedElevationAngleAisacControlId ( ushort  aisacControlId)
inline

音源基準方位角AISACコントロールIDの設定

引数:
aisacControlId音源基準方位角AISACコントロールID
説明:
音源から見たリスナーの方位角に連動するAISACコントロールIDを指定します。
データ側に設定されている音源基準方位角AISACコントロールIDは、本関数によって上書き適用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dSource::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dSource::Update

CRI Middleware logo Copyright (c) 2012 CRI Middleware Co., Ltd. CRIWARE Unity Plug-inマニュアル 2021-02-05 更新