構成 | マクロ定義 | 型定義 | 関数
CriAtomEx3d API

構成

struct  CriAtomExVectorTag
 3次元ベクトル構造体 [詳細]
struct  CriAtomEx3dSourceConfigTag
 3D音源ハンドル作成用コンフィグ構造体 [詳細]
struct  CriAtomEx3dSourceListConfigTag
 3D音源ハンドルリスト作成用コンフィグ構造体 [詳細]
struct  CriAtomEx3dListenerConfigTag
 3Dリスナーハンドル作成用コンフィグ構造体 [詳細]

マクロ定義

#define criAtomEx3dSource_SetDefaultConfig(p_config)
 3D音源ハンドル作成用コンフィグ構造体にデフォルト値をセット
#define criAtomEx3dSourceList_SetDefaultConfig(p_config)
 3D音源ハンドルリスト作成用コンフィグ構造体にデフォルト値をセット
#define criAtomEx3dListener_SetDefaultConfig(p_config)
 3Dリスナーハンドル作成用コンフィグ構造体にデフォルト値をセット
#define criAtomEx3dSource_SetMinMaxDistance(ex_3d_source, min_attenuation_distance, max_attenuation_distance)   criAtomEx3dSource_SetMinMaxAttenuationDistance((ex_3d_source), (min_attenuation_distance), (max_attenuation_distance))
 3D音源の最小距離/最大距離の設定
#define criAtomEx3dSource_ChangeDefaultMinMaxDistance(min_attenuation_distance, max_attenuation_distance)   criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance((min_attenuation_distance), (max_attenuation_distance))
 3D音源の最小距離/最大距離のデフォルト値変更

型定義

typedef struct CriAtomExVectorTag CriAtomExVector
 3次元ベクトル構造体
typedef struct
CriAtomEx3dSourceConfigTag 
CriAtomEx3dSourceConfig
 3D音源ハンドル作成用コンフィグ構造体
typedef struct
CriAtomEx3dSourceListConfigTag 
CriAtomEx3dSourceListConfig
 3D音源ハンドルリスト作成用コンフィグ構造体
typedef struct
CriAtomEx3dListenerConfigTag 
CriAtomEx3dListenerConfig
 3Dリスナーハンドル作成用コンフィグ構造体
typedef CriAtomEx3dSourceObj * CriAtomEx3dSourceHn
 3D音源ハンドル
typedef CriAtomEx3dSourceListObj * CriAtomEx3dSourceListHn
 3D音源ハンドルリスト
typedef CriAtomEx3dListenerObj * CriAtomEx3dListenerHn
 3Dリスナーハンドル

関数

CriSint32 CRIAPI criAtomEx3dSource_CalculateWorkSize (const CriAtomEx3dSourceConfig *config)
 3D音源ハンドルの作成に必要なワーク領域サイズの計算
CriAtomEx3dSourceHn CRIAPI criAtomEx3dSource_Create (const CriAtomEx3dSourceConfig *config, void *work, CriSint32 work_size)
 3D音源ハンドルの作成
void CRIAPI criAtomEx3dSource_Destroy (CriAtomEx3dSourceHn ex_3d_source)
 3D音源ハンドルの破棄
void CRIAPI criAtomEx3dSource_Update (CriAtomEx3dSourceHn ex_3d_source)
 3D音源の更新
void CRIAPI criAtomEx3dSource_ResetParameters (CriAtomEx3dSourceHn ex_3d_source)
 3D音源パラメータの初期化
void CRIAPI criAtomEx3dSource_SetPosition (CriAtomEx3dSourceHn ex_3d_source, const CriAtomExVector *position)
 3D音源の位置の設定
CriAtomExVector CRIAPI criAtomEx3dSource_GetPosition (CriAtomEx3dSourceHn ex_3d_source)
 3D音源の位置の設定
void CRIAPI criAtomEx3dSource_SetVelocity (CriAtomEx3dSourceHn ex_3d_source, const CriAtomExVector *velocity)
 3D音源の速度の設定
void CRIAPI criAtomEx3dSource_SetOrientation (CriAtomEx3dSourceHn ex_3d_source, const CriAtomExVector *front, const CriAtomExVector *top)
 3D音源の向きの設定
void CRIAPI criAtomEx3dSource_SetConeParameter (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 inside_angle, CriFloat32 outside_angle, CriFloat32 outside_volume)
 3D音源のサウンドコーンパラメータの設定
void CRIAPI criAtomEx3dSource_ChangeDefaultConeParameter (CriFloat32 inside_angle, CriFloat32 outside_angle, CriFloat32 outside_volume)
 3D音源のサウンドコーンパラメータのデフォルト値変更
void CRIAPI criAtomEx3dSource_SetMinMaxAttenuationDistance (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 min_attenuation_distance, CriFloat32 max_attenuation_distance)
 3D音源の最小距離/最大距離の設定
void CRIAPI criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance (CriFloat32 min_attenuation_distance, CriFloat32 max_attenuation_distance)
 3D音源の最小距離/最大距離のデフォルト値変更
void CRIAPI criAtomEx3dSource_SetInteriorPanField (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 source_radius, CriFloat32 interior_distance)
 3D音源のインテリアパンニング境界距離の設定
void CRIAPI criAtomEx3dSource_ChangeDefaultInteriorPanField (CriFloat32 source_radius, CriFloat32 interior_distance)
 3D音源のインテリアパンニング境界距離のデフォルト値変更
void CRIAPI criAtomEx3dSource_SetDopplerFactor (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 doppler_factor)
 3D音源のドップラー係数の設定
void CRIAPI criAtomEx3dSource_ChangeDefaultDopplerFactor (CriFloat32 doppler_factor)
 3D音源のドップラー係数のデフォルト値変更
void CRIAPI criAtomEx3dSource_SetVolume (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 volume)
 3D音源のボリュームの設定
void CRIAPI criAtomEx3dSource_ChangeDefaultVolume (CriFloat32 volume)
 3D音源のボリュームのデフォルト値変更
void CRIAPI criAtomEx3dSource_SetMaxAngleAisacDelta (CriAtomEx3dSourceHn ex_3d_source, CriFloat32 max_delta)
 角度AISACコントロール値の最大変化量の設定
void CRIAPI criAtomEx3dSource_SetDistanceAisacControlId (CriAtomEx3dSourceHn ex_3d_source, CriUint16 aisac_control_id)
 距離AISACコントロールIDの設定
void CRIAPI criAtomEx3dSource_SetListenerBasedAngleAisacControlId (CriAtomEx3dSourceHn ex_3d_source, CriUint16 aisac_control_id)
 リスナー基準角度AISACコントロールIDの設定
void CRIAPI criAtomEx3dSource_SetSourceBasedAngleAisacControlId (CriAtomEx3dSourceHn ex_3d_source, CriUint16 aisac_control_id)
 音源基準角度AISACコントロールIDの設定
CriSint32 CRIAPI criAtomEx3dSourceList_CalculateWorkSize (const CriAtomEx3dSourceListConfig *config)
 3D音源ハンドルリストの作成に必要なワーク領域サイズの計算
CriAtomEx3dSourceListHn CRIAPI criAtomEx3dSourceList_Create (const CriAtomEx3dSourceListConfig *config, void *work, CriSint32 work_size)
 3D音源ハンドルリストの作成
void CRIAPI criAtomEx3dSourceList_Destroy (CriAtomEx3dSourceListHn ex_3d_source_list)
 3D音源ハンドルリストの破棄
void CRIAPI criAtomEx3dSourceList_Add (CriAtomEx3dSourceListHn ex_3d_source_list, CriAtomEx3dSourceHn ex_3d_source)
 3D音源ハンドルリストへの3D音源ハンドルの追加
void CRIAPI criAtomEx3dSourceList_Remove (CriAtomEx3dSourceListHn ex_3d_source_list, CriAtomEx3dSourceHn ex_3d_source)
 3D音源ハンドルリストから3D音源ハンドルの削除
void CRIAPI criAtomEx3dSourceList_RemoveAll (CriAtomEx3dSourceListHn ex_3d_source_list)
 3D音源ハンドルリストから3D音源ハンドルの全削除
CriSint32 CRIAPI criAtomEx3dListener_CalculateWorkSize (const CriAtomEx3dListenerConfig *config)
 3Dリスナーハンドルの作成に必要なワーク領域サイズの計算
CriAtomEx3dListenerHn CRIAPI criAtomEx3dListener_Create (const CriAtomEx3dListenerConfig *config, void *work, CriSint32 work_size)
 3Dリスナーハンドルの作成
void CRIAPI criAtomEx3dListener_Destroy (CriAtomEx3dListenerHn ex_3d_listener)
 3Dリスナーハンドルの破棄
void CRIAPI criAtomEx3dListener_Update (CriAtomEx3dListenerHn ex_3d_listener)
 3Dリスナーの更新
void CRIAPI criAtomEx3dListener_ResetParameters (CriAtomEx3dListenerHn ex_3d_listener)
 3D音源パラメータの初期化
void CRIAPI criAtomEx3dListener_SetPosition (CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *position)
 3Dリスナーの位置の設定
CriAtomExVector CRIAPI criAtomEx3dListener_GetPosition (CriAtomEx3dListenerHn ex_3d_listener)
 3Dリスナーの位置の取得
void CRIAPI criAtomEx3dListener_SetVelocity (CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *velocity)
 3Dリスナーの速度の設定
void CRIAPI criAtomEx3dListener_SetOrientation (CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *front, const CriAtomExVector *top)
 3Dリスナーの向きの設定
void CRIAPI criAtomEx3dListener_SetDistanceFactor (CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 distance_factor)
 3Dリスナーの距離係数の設定
void CRIAPI criAtomEx3dListener_SetFocusPoint (CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *focus_point)
 3Dリスナーの注目点の設定
void CRIAPI criAtomEx3dListener_SetDistanceFocusLevel (CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 distance_focus_level)
 距離センサのフォーカスレベルの設定
void CRIAPI criAtomEx3dListener_SetDirectionFocusLevel (CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 direction_focus_level)
 方向センサのフォーカスレベルの設定

説明


マクロ定義

#define criAtomEx3dSource_SetDefaultConfig (   p_config)
値:
{\
    (p_config)->enable_voice_priority_decay = CRI_FALSE;\
}

3D音源ハンドル作成用コンフィグ構造体にデフォルト値をセット

引数:
[out]p_config3D音源ハンドル作成用コンフィグ構造体へのポインタ
説明:
3D音源ハンドル作成用コンフィグ構造体( CriAtomEx3dSourceConfig )に、デフォルトの値をセットします。
参照:
CriAtomEx3dSourceConfig
#define criAtomEx3dSourceList_SetDefaultConfig (   p_config)
値:
{\
    (p_config)->reserved = 0;\
}

3D音源ハンドルリスト作成用コンフィグ構造体にデフォルト値をセット

引数:
[out]p_config3D音源ハンドルリスト作成用コンフィグ構造体へのポインタ
説明:
3D音源ハンドルリスト作成用コンフィグ構造体( CriAtomEx3dSourceListConfig )に、デフォルトの値をセットします。
参照:
CriAtomEx3dSourceListConfig
#define criAtomEx3dListener_SetDefaultConfig (   p_config)
値:
{\
    (p_config)->reserved = 0;\
}

3Dリスナーハンドル作成用コンフィグ構造体にデフォルト値をセット

引数:
[out]p_config3Dリスナーハンドル作成用コンフィグ構造体へのポインタ
説明:
3Dリスナーハンドル作成用コンフィグ構造体( CriAtomEx3dListenerConfig )に、デフォルトの値をセットします。
参照:
CriAtomEx3dListenerConfig
#define criAtomEx3dSource_SetMinMaxDistance (   ex_3d_source,
  min_attenuation_distance,
  max_attenuation_distance 
)    criAtomEx3dSource_SetMinMaxAttenuationDistance((ex_3d_source), (min_attenuation_distance), (max_attenuation_distance))

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

引数:
[in]ex_3d_source3D音源ハンドル
[in]min_attenuation_distance最小距離
[in]max_attenuation_distance最大距離
説明:
3D音源の最小距離/最大距離を設定します。
最小距離は、これ以上音量が大きくならない距離を表します。最大距離は、最小音量になる距離を表します。
距離の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
ライブラリ初期化時のデフォルト値は以下のとおりです。
  • 最小距離:0.0f
  • 最大距離:0.0f
デフォルト値は、::criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance 関数にて変更可能です。
データ側に当該パラメータが設定されている場合に本関数を呼び出すと、データ側の値を上書き(無視)して適用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update, criAtomEx3dSource_ChangeDefaultMinMaxDistance
#define criAtomEx3dSource_ChangeDefaultMinMaxDistance (   min_attenuation_distance,
  max_attenuation_distance 
)    criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance((min_attenuation_distance), (max_attenuation_distance))

3D音源の最小距離/最大距離のデフォルト値変更

引数:
[in]min_attenuation_distance最小距離
[in]max_attenuation_distance最大距離
説明:
3D音源の最小距離/最大距離のデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の 最小距離/最大距離の初期値が本関数で設定した値となります。
注意:
当該パラメータに関して「ツール側で値が変更されていない(デフォルト状態)」データの場合、暗黙的にデフォルト値が適用されます。
そのため、本関数でデフォルト値を変更すると、ツールでの編集時に意図していたパラメータと異なってしまう可能性があります。
但し、以下に該当するデータは本関数の影響を受けません。
  • ツールのプロパティにて、最小距離/最大距離の初期値設定を0.0以外に設定している
  • インゲームプレビュー用にビルドしている
参照:
criAtomEx3dSource_SetMinMaxDistance

型定義

3次元ベクトル構造体

説明:
3次元ベクトルを扱うための構造体です。
参照:
CriAtomEx3dListener, CriAtomEx3dSource

3D音源ハンドル作成用コンフィグ構造体

説明:
3D音源ハンドルを作成する場合に使用する構造体です。
将来パラメータが追加される可能性があるため、 本構造体を使用する際には criAtomEx3dSource_SetDefaultConfig マクロを使用し、 構造体の初期化を行ってください。
参照:
criAtomEx3dSource_SetDefaultConfig, criAtomEx3dSource_CalculateWorkSize, criAtomEx3dSource_Create

3D音源ハンドルリスト作成用コンフィグ構造体

説明:
3D音源ハンドルリストを作成する場合に使用する構造体です。
現状指定可能なパラメータはありませんが、将来パラメータが追加される可能性があるため、 本構造体を使用する際には criAtomEx3dSourceList_SetDefaultConfig マクロを使用し、 構造体の初期化を行ってください。
参照:
criAtomEx3dSourceList_SetDefaultConfig, criAtomEx3dSourceList_CalculateWorkSize, criAtomEx3dSourceList_Create

3Dリスナーハンドル作成用コンフィグ構造体

説明:
3Dリスナーハンドルを作成する場合に使用する構造体です。
現状指定可能なパラメータはありませんが、将来パラメータが追加される可能性があるため、 本構造体を使用する際には criAtomEx3dListener_SetDefaultConfig マクロを使用し、 構造体の初期化を行ってください。
参照:
criAtomEx3dListener_SetDefaultConfig, criAtomEx3dListener_CalculateWorkSize, criAtomEx3dListener_Create
typedef CriAtomEx3dSourceObj* CriAtomEx3dSourceHn

3D音源ハンドル

説明:
3D音源を扱うためのハンドルです。
3Dポジショニング機能に使用します。

3D音源のパラメータ、位置情報の設定等は、3D音源ハンドルを介して実行されます。
参照:
criAtomEx3dSource_Create
typedef CriAtomEx3dSourceListObj* CriAtomEx3dSourceListHn

3D音源ハンドルリスト

説明:
3D音源ハンドルを管理するリストハンドルです。
3Dポジショニング機能におけるマルチポジショニング再生に使用します。
参照:
criAtomEx3dSourceList_Create
typedef CriAtomEx3dListenerObj* CriAtomEx3dListenerHn

3Dリスナーハンドル

説明:
3Dリスナーを扱うためのハンドルです。
3Dポジショニング機能に使用します。

3Dリスナーのパラメータ、位置情報の設定等は、3Dリスナーハンドルを介して実行されます。
参照:
criAtomEx3dListener_Create

関数

CriSint32 CRIAPI criAtomEx3dSource_CalculateWorkSize ( const CriAtomEx3dSourceConfig config)

3D音源ハンドルの作成に必要なワーク領域サイズの計算

引数:
[in]config3D音源ハンドル作成用コンフィグ構造体へのポインタ
戻り値:
CriSint32 3D音源ハンドル作成用ワークサイズ
戻り値:
0以上正常に処理が完了
-1エラーが発生
説明:
3D音源ハンドルを作成するために必要な、ワーク領域のサイズを取得します。
アロケータを登録せずに3D音源ハンドルを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として criAtomEx3dSource_Create 関数にセットする必要があります。

3D音源ハンドルの作成に必要なワークメモリのサイズは、3D音源ハンドル作成用コンフィグ 構造体( CriAtomEx3dSourceConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomEx3dSource_SetDefaultConfig 適用時と同じパラメータ)で ワーク領域サイズを計算します。
ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
参照:
criAtomEx3dSource_Create, CriAtomEx3dSourceConfig
CriAtomEx3dSourceHn CRIAPI criAtomEx3dSource_Create ( const CriAtomEx3dSourceConfig config,
void *  work,
CriSint32  work_size 
)

3D音源ハンドルの作成

引数:
[in]config3D音源ハンドル作成用コンフィグ構造体へのポインタ
[in]work3D音源ハンドル作成用ワーク領域へのポインタ
[in]work_size3D音源ハンドル作成用ワークサイズ
戻り値:
CriAtomEx3dSourceHn 3D音源ハンドル
説明:
3D音源ハンドル作成用コンフィグに基づいて、3D音源ハンドルを作成します。
作成に成功すると、3D音源ハンドルを返します。
3D音源ハンドルを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomEx3dSource_CalculateWorkSize 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

参照:
criAtomEx3dSource_CalculateWorkSize, criAtomEx3dSource_Destroy
void CRIAPI criAtomEx3dSource_Destroy ( CriAtomEx3dSourceHn  ex_3d_source)

3D音源ハンドルの破棄

引数:
[in]ex_3d_source3D音源ハンドル
説明:
3D音源ハンドルを破棄します。
本関数を実行した時点で、3D音源ハンドル作成時に確保されたリソースが全て解放されます。
また、引数に指定した3D音源ハンドルも無効になります。
3D音源ハンドルをセットしたAtomExプレーヤで再生している音声がある場合、 本関数を実行する前に、それらの音声を停止するか、そのAtomExプレーヤを破棄してください。
参照:
criAtomEx3dSource_Create
void CRIAPI criAtomEx3dSource_Update ( CriAtomEx3dSourceHn  ex_3d_source)

3D音源の更新

引数:
[in]ex_3d_source3D音源ハンドル
説明:
3D音源に設定されているパラメータを使用して、3D音源を更新します。
本関数では、3D音源に設定されている全てのパラメータを更新します。 パラメータをひとつ変更する度に本関数にて更新処理を行うよりも、 複数のパラメータを変更してから更新処理を行った方が効率的です。
例:
 CriAtomExVector pos;
 CriAtomExVector vel;

 // Set position
 pos.x = 0.0f
 pos.y = 0.0f
 pos.z = 1.0f
 criAtomEx3dSource_SetPosition(source, &pos);
 // Set velocity
 vel.x = 1.0f
 vel.y = 0.0f
 vel.z = 0.0f
 criAtomEx3dSource_SetVelocity(source, &vel);

 // Update source parameters
 criAtomEx3dSource_Update(source);
注意:
本関数はAtomExプレーヤのパラメータ更新(::criAtomExPlayer_UpdateAll, criAtomExPlayer_Update) とは独立して動作します。3D音源のパラメータを変更した際は、本関数にて更新処理を行ってください。
void CRIAPI criAtomEx3dSource_ResetParameters ( CriAtomEx3dSourceHn  ex_3d_source)

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

引数:
[in]ex_3d_source3D音源ハンドル
説明:
3D音源に設定されているパラメータをクリアし、初期値に戻します。
注意:
クリアしたパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
void CRIAPI criAtomEx3dSource_SetPosition ( CriAtomEx3dSourceHn  ex_3d_source,
const CriAtomExVector position 
)

3D音源の位置の設定

引数:
[in]ex_3d_source3D音源ハンドル
[in]position位置ベクトル
説明:
3D音源の位置を設定します。
位置は、距離減衰、および定位計算に使用されます。
位置は、3次元ベクトルで指定します。位置の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には位置は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
CriAtomExVector CRIAPI criAtomEx3dSource_GetPosition ( CriAtomEx3dSourceHn  ex_3d_source)

3D音源の位置の設定

引数:
[in]ex_3d_source3D音源ハンドル
説明:
3D音源の位置を取得します。
位置は、3次元ベクトルで取得します。位置の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
void CRIAPI criAtomEx3dSource_SetVelocity ( CriAtomEx3dSourceHn  ex_3d_source,
const CriAtomExVector velocity 
)

3D音源の速度の設定

引数:
[in]ex_3d_source3D音源ハンドル
[in]velocity速度ベクトル
説明:
3D音源の速度を設定します。
速度は、ドップラー効果の計算に使用されます。
速度は、3次元ベクトルで指定します。速度の単位は、1秒あたりの移動距離です。 距離の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。 デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には速度は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
void CRIAPI criAtomEx3dSource_SetOrientation ( CriAtomEx3dSourceHn  ex_3d_source,
const CriAtomExVector front,
const CriAtomExVector top 
)

3D音源の向きの設定

引数:
[in]ex_3d_source3D音源ハンドル
[in]front前方ベクトル
[in]top上方ベクトル
説明:
3D音源の向きを設定します。
本関数で設定した向きは、サウンドコーンの向きとして設定されます。
サウンドコーンは、音源から音が発生する方向を表し、音の指向性の表現に使用されます。
サウンドコーンの向きは、3次元ベクトルで指定します。設定された向きベクトルは、ライブラリ内部で正規化して使用されます。
データ側にはサウンドコーンの向きは設定できないため、常に本関数での設定値が使用されます。
デフォルト値以下のとおりです。
  • 前方ベクトル:(0.0f, 0.0f, 1.0f)
  • 上方ベクトル:(0.0f, 1.0f, 0.0f)
備考:
サウンドコーンの向きを設定した場合、上方ベクトルは無視され、前方ベクトルのみが使用されます。
また、Ambisonics再生を使用している場合、本関数で指定した向きおよびリスナーの向きに従ってAmbisonicsが回転します。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
また、Ambiosnicsに対してサウンドコーンを適用することは出来ません。
参照:
criAtomEx3dSource_SetConeParameter, criAtomEx3dSource_Update
void CRIAPI criAtomEx3dSource_SetConeParameter ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  inside_angle,
CriFloat32  outside_angle,
CriFloat32  outside_volume 
)

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

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

3D音源のサウンドコーンパラメータのデフォルト値変更

引数:
[in]inside_angleサウンドコーンのインサイドアングル
[in]outside_angleサウンドコーンのアウトサイドアングル
[in]outside_volumeサウンドコーンのアウトサイドボリューム
説明:
3D音源のサウンドコーンパラメータのデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の サウンドコーンパラメータの初期値が本関数で設定した値となります。
ライブラリ初期化時のデフォルト値については、 criAtomEx3dSource_SetConeParameter 関数を参照して下さい。
注意:
当該パラメータに関して「ツール側で値が変更されていない(デフォルト状態)」データの場合、暗黙的にデフォルト値が適用されます。
そのため、本関数でデフォルト値を変更すると、ツールでの編集時に意図していたパラメータと異なってしまう可能性があります。
但し、インゲームプレビュー用にビルドされたデータは本関数の影響を受けません。
参照:
criAtomEx3dSource_SetConeParameter
void CRIAPI criAtomEx3dSource_SetMinMaxAttenuationDistance ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  min_attenuation_distance,
CriFloat32  max_attenuation_distance 
)

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

引数:
[in]ex_3d_source3D音源ハンドル
[in]min_attenuation_distance最小距離
[in]max_attenuation_distance最大距離
説明:
3D音源の最小距離/最大距離を設定します。
最小距離は、これ以上音量が大きくならない距離を表します。最大距離は、最小音量になる距離を表します。
距離の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
ライブラリ初期化時のデフォルト値は以下のとおりです。
  • 最小距離:0.0f
  • 最大距離:0.0f
デフォルト値は、::criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance 関数にて変更可能です。
データ側に当該パラメータが設定されている場合に本関数を呼び出すと、データ側の値を上書き(無視)して適用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update, criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance
void CRIAPI criAtomEx3dSource_ChangeDefaultMinMaxAttenuationDistance ( CriFloat32  min_attenuation_distance,
CriFloat32  max_attenuation_distance 
)

3D音源の最小距離/最大距離のデフォルト値変更

引数:
[in]min_attenuation_distance最小距離
[in]max_attenuation_distance最大距離
説明:
3D音源の最小距離/最大距離のデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の 最小距離/最大距離の初期値が本関数で設定した値となります。
ライブラリ初期化時のデフォルト値については、 criAtomEx3dSource_SetMinMaxAttenuationDistance 関数を参照して下さい。<br
注意:
当該パラメータに関して「ツール側で値が変更されていない(デフォルト状態)」データの場合、暗黙的にデフォルト値が適用されます。
そのため、本関数でデフォルト値を変更すると、ツールでの編集時に意図していたパラメータと異なってしまう可能性があります。
但し、以下に該当するデータは本関数の影響を受けません。
  • ツールのプロパティにて、最小距離/最大距離の初期値設定を0.0以外に設定している
  • インゲームプレビュー用にビルドしている
参照:
criAtomEx3dSource_SetMinMaxAttenuationDistance
void CRIAPI criAtomEx3dSource_SetInteriorPanField ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  source_radius,
CriFloat32  interior_distance 
)

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

引数:
[in]ex_3d_source3D音源ハンドル
[in]source_radius3D音源の半径
[in]interior_distanceインテリア距離
説明:
3D音源のインテリアパンニング境界距離の設定をします。
3D音源の半径は、3D音源を球としたときの半径です。
インテリア距離は、インテリアパンニング適用される3D音源の半径からの距離です。
3D音源の半径内では、インテリアパンニング適用されますが、インテリア距離が0.0と扱われるため、 全てのスピーカーから同じ音量で音声が再生されます。
インテリア距離内では、インテリアパンニング適用されます。
インテリア距離外では、インテリアパンニング適用されず、音源位置に最も近い1つ、 または2つのスピーカーから音声が再生されます。
距離の単位がいくつであるかは、3Dリスナーの距離係数 ( criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
ライブラリ初期化時のデフォルト値は以下のとおりです。
  • 3D音源の半径:0.0f
  • インテリア距離:0.0f(3D音源の最小距離に依存)
デフォルト値は、 criAtomEx3dSource_ChangeDefaultInteriorPanField 関数にて変更可能です。
また、現在ツールにて当該パラメータを設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update, criAtomEx3dSource_ChangeDefaultInteriorPanField
void CRIAPI criAtomEx3dSource_ChangeDefaultInteriorPanField ( CriFloat32  source_radius,
CriFloat32  interior_distance 
)

3D音源のインテリアパンニング境界距離のデフォルト値変更

引数:
[in]source_radius3D音源の半径
[in]interior_distanceインテリア距離
説明:
3D音源のインテリアパンニング境界距離のデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の インテリアパンニング境界距離の初期値が本関数で設定した値となります。
ライブラリ初期化時のデフォルト値については、 criAtomEx3dSource_SetInteriorPanField 関数を参照して下さい。
参照:
criAtomEx3dSource_SetInteriorPanField
void CRIAPI criAtomEx3dSource_SetDopplerFactor ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  doppler_factor 
)

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

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

3D音源のドップラー係数のデフォルト値変更

引数:
[in]doppler_factorドップラー係数
説明:
3D音源のドップラー係数のデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の ドップラー係数の初期値が本関数で設定した値となります。
ライブラリ初期化時のデフォルト値については、 criAtomEx3dSource_SetDopplerFactor 関数を参照して下さい。
注意:
当該パラメータに関して「ツール側で値が変更されていない(デフォルト状態)」データの場合、暗黙的にデフォルト値が適用されます。
そのため、本関数でデフォルト値を変更すると、ツールでの編集時に意図していたパラメータと異なってしまう可能性があります。
但し、インゲームプレビュー用にビルドされたデータは本関数の影響を受けません。
参照:
criAtomEx3dSource_SetDopplerFactor
void CRIAPI criAtomEx3dSource_SetVolume ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  volume 
)

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

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

3D音源のボリュームのデフォルト値変更

引数:
[in]volumeボリューム
説明:
3D音源のボリュームのデフォルト値を変更します。
本関数によってデフォルト値を変更すると、以降に作成する3D音源ハンドル( CriAtomEx3dSourceHn )の ボリュームの初期値が本関数で設定した値となります。
ライブラリ初期化時のデフォルト値については、 criAtomEx3dSource_SetVolume 関数を参照して下さい。
注意:
当該パラメータに関して「ツール側で値が変更されていない(デフォルト状態)」データの場合、暗黙的にデフォルト値が適用されます。
そのため、本関数でデフォルト値を変更すると、ツールでの編集時に意図していたパラメータと異なってしまう可能性があります。
但し、インゲームプレビュー用にビルドされたデータは本関数の影響を受けません。
参照:
criAtomEx3dSource_SetVolume
void CRIAPI criAtomEx3dSource_SetMaxAngleAisacDelta ( CriAtomEx3dSourceHn  ex_3d_source,
CriFloat32  max_delta 
)

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

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

距離AISACコントロールIDの設定

引数:
[in]ex_3d_source3D音源ハンドル
[in]aisac_control_id距離AISACコントロールID
説明:
最小距離、最大距離間の距離減衰に連動するAISACコントロールIDを指定します。
本関数でAISACコントロールIDを設定した場合、デフォルトの距離減衰は無効になります。
データ側に設定されている距離AISACコントロールIDは、本関数によって上書き適用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
void CRIAPI criAtomEx3dSource_SetListenerBasedAngleAisacControlId ( CriAtomEx3dSourceHn  ex_3d_source,
CriUint16  aisac_control_id 
)

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

引数:
[in]ex_3d_source3D音源ハンドル
[in]aisac_control_idリスナー基準角度AISACコントロールID
説明:
リスナーから見た音源の角度に連動するAISACコントロールIDを指定します。
データ側に設定されているリスナー基準角度AISACコントロールIDは、本関数によって上書き適用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
void CRIAPI criAtomEx3dSource_SetSourceBasedAngleAisacControlId ( CriAtomEx3dSourceHn  ex_3d_source,
CriUint16  aisac_control_id 
)

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

引数:
[in]ex_3d_source3D音源ハンドル
[in]aisac_control_id音源基準角度AISACコントロールID
説明:
音源から見たリスナーの角度に連動するAISACコントロールIDを指定します。
データ側に設定されている音源基準角度AISACコントロールIDは、本関数によって上書き適用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dSource_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dSource_Update
CriSint32 CRIAPI criAtomEx3dSourceList_CalculateWorkSize ( const CriAtomEx3dSourceListConfig config)

3D音源ハンドルリストの作成に必要なワーク領域サイズの計算

引数:
[in]config3D音源ハンドルリスト作成用コンフィグ構造体へのポインタ
戻り値:
CriSint32 3D音源ハンドルリスト作成用ワークサイズ
戻り値:
0以上正常に処理が完了
-1エラーが発生
説明:
3D音源ハンドルリストを作成するために必要なワーク領域のサイズを取得します。
アロケータを登録せずに3D音源ハンドルリストを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として criAtomEx3dSourceList_Create 関数にセットする必要があります。

3D音源ハンドルリストの作成に必要なワークメモリのサイズは、3D音源ハンドルリストリスト作成用コンフィグ 構造体( CriAtomEx3dSourceListConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomEx3dSourceList_SetDefaultConfig 適用時と同じパラメータ)で ワーク領域サイズを計算します。
ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
参照:
criAtomEx3dSourceList_Create, CriAtomEx3dSourceListConfig
CriAtomEx3dSourceListHn CRIAPI criAtomEx3dSourceList_Create ( const CriAtomEx3dSourceListConfig config,
void *  work,
CriSint32  work_size 
)

3D音源ハンドルリストの作成

引数:
[in]config3D音源ハンドルリスト作成用コンフィグ構造体へのポインタ
[in]work3D音源ハンドルリスト作成用ワーク領域へのポインタ
[in]work_size3D音源ハンドルリスト作成用ワークサイズ
戻り値:
CriAtomEx3dSourceListHn 3D音源ハンドルリスト
説明:
3D音源ハンドルリスト作成用コンフィグに基づいて、3D音源ハンドルリストを作成します。
作成に成功すると、3D音源ハンドルリストを返します。
3D音源ハンドルリストを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomEx3dSourceList_CalculateWorkSize 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

参照:
criAtomEx3dSourceList_CalculateWorkSize, criAtomEx3dSourceList_Destroy
void CRIAPI criAtomEx3dSourceList_Destroy ( CriAtomEx3dSourceListHn  ex_3d_source_list)

3D音源ハンドルリストの破棄

引数:
[in]ex_3d_source_list3D音源ハンドルリスト
説明:
3D音源ハンドルリストを破棄します。
本関数を実行した時点で、3D音源ハンドルリスト作成時に確保されたリソースが全て解放されます。
また、引数に指定した3D音源ハンドルリストも無効になります。
3D音源ハンドルリストをセットしたAtomExプレーヤで再生している音声がある場合、 本関数を実行する前に、それらの音声を停止するか、そのAtomExプレーヤを破棄してください。
備考:
3D音源ハンドルリストに3D音源ハンドルが追加されている状態で本関数を実行した場合、 追加されていた3D音源ハンドルは自動的に3D音源ハンドルリストから削除されます。
参照:
criAtomEx3dSourceList_Create
void CRIAPI criAtomEx3dSourceList_Add ( CriAtomEx3dSourceListHn  ex_3d_source_list,
CriAtomEx3dSourceHn  ex_3d_source 
)

3D音源ハンドルリストへの3D音源ハンドルの追加

引数:
[in]ex_3d_source_list3D音源ハンドルリスト
[in]ex_3d_source3D音源ハンドル
説明:
3D音源ハンドルリストに3D音源ハンドルを追加します。
追加したAtomExプレーヤは3D音源ハンドルリストと関連付けられ、 マルチポジショニング再生が可能となります。
追加した3D音源ハンドルを3D音源ハンドルリストから削除する場合は、 criAtomEx3dSourceList_Remove 関数または criAtomEx3dSourceList_RemoveAll 関数を呼び出してください。
備考:
以下の条件に当てはまる3D音源ハンドルは3D音源ハンドルリストに追加することはできません。
  • 既にAtomExプレーヤに設定されている
  • 既に他の3D音源ハンドルリストに追加されている
    本関数は再生中のAtomExプレーヤに取り付けられている3D音源ハンドルリストに対しても使用可能です。
注意:
注意: 本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバ処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照:
criAtomEx3dSourceList_Remove, criAtomEx3dSourceList_RemoveAll
void CRIAPI criAtomEx3dSourceList_Remove ( CriAtomEx3dSourceListHn  ex_3d_source_list,
CriAtomEx3dSourceHn  ex_3d_source 
)

3D音源ハンドルリストから3D音源ハンドルの削除

引数:
[in]ex_3d_source_list3D音源ハンドルリスト
[in]ex_3d_source3D音源ハンドル
説明:
3D音源ハンドルリストから追加されている3D音源ハンドルの内、指定した3D音源ハンドルを削除します。
3D音源ハンドルリストから全ての3D音源ハンドルを削除したい場合は、 criAtomEx3dSourceList_Remove 関数を 呼び出してください。
3D音源ハンドルリストに3D音源ハンドルを追加したい場合は、 criAtomEx3dSourceList_Add 関数を呼び出してください。
備考:
本関数は再生中のAtomExプレーヤに取り付けられている3D音源ハンドルリストに対しても使用可能です。
注意:
注意: 本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバ処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照:
criAtomEx3dSourceList_RemoveAll
void CRIAPI criAtomEx3dSourceList_RemoveAll ( CriAtomEx3dSourceListHn  ex_3d_source_list)

3D音源ハンドルリストから3D音源ハンドルの全削除

引数:
[in]ex_3d_source_list3D音源ハンドルリスト
説明:
3D音源ハンドルリストから追加されている全ての3D音源ハンドルを削除します。
3D音源ハンドルリストから特定の3D音源ハンドルを削除したい場合は、 criAtomEx3dSourceList_Remove 関数を 呼び出してください。
3D音源ハンドルリストに3D音源ハンドルを追加したい場合は、 criAtomEx3dSourceList_Add 関数を呼び出してください。
備考:
本関数は再生中のAtomExプレーヤに取り付けられている3D音源ハンドルリストに対しても使用可能です。
注意:
注意: 本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバ処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照:
criAtomEx3dSourceList_Remove
CriSint32 CRIAPI criAtomEx3dListener_CalculateWorkSize ( const CriAtomEx3dListenerConfig config)

3Dリスナーハンドルの作成に必要なワーク領域サイズの計算

引数:
[in]config3Dリスナーハンドル作成用コンフィグ構造体へのポインタ
戻り値:
CriSint32 3Dリスナーハンドル作成用ワークサイズ
戻り値:
0以上正常に処理が完了
-1エラーが発生
説明:
3Dリスナーハンドルを作成するために必要な、ワーク領域のサイズを取得します。
アロケータを登録せずに3Dリスナーハンドルを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として criAtomEx3dListener_Create 関数にセットする必要があります。

3Dリスナーハンドルの作成に必要なワークメモリのサイズは、3Dリスナーハンドル作成用コンフィグ 構造体( CriAtomEx3dListenerConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomEx3dListener_SetDefaultConfig 適用時と同じパラメータ)で ワーク領域サイズを計算します。
ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
参照:
criAtomEx3dListener_Create, CriAtomEx3dListenerConfig
CriAtomEx3dListenerHn CRIAPI criAtomEx3dListener_Create ( const CriAtomEx3dListenerConfig config,
void *  work,
CriSint32  work_size 
)

3Dリスナーハンドルの作成

引数:
[in]config3Dリスナーハンドル作成用コンフィグ構造体へのポインタ
[in]work3Dリスナーハンドル作成用ワーク領域へのポインタ
[in]work_size3Dリスナーハンドル作成用ワークサイズ
戻り値:
CriAtomEx3dListenerHn 3Dリスナーハンドル
説明:
3Dリスナーハンドル作成用コンフィグに基づいて、3Dリスナーハンドルを作成します。
作成に成功すると、3Dリスナーハンドルを返します。
3Dリスナーハンドルを作成する際には、ワーク領域としてメモリを渡す必要があります。
必要なメモリのサイズは、 criAtomEx3dListener_CalculateWorkSize 関数で計算します。
(::criAtomEx_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

参照:
criAtomEx3dListener_CalculateWorkSize, criAtomEx3dListener_Destroy
void CRIAPI criAtomEx3dListener_Destroy ( CriAtomEx3dListenerHn  ex_3d_listener)

3Dリスナーハンドルの破棄

引数:
[in]ex_3d_listener3Dリスナーハンドル
説明:
3Dリスナーハンドルを破棄します。
本関数を実行した時点で、3Dリスナーハンドル作成時に確保されたリソースが全て解放されます。
また、引数に指定した3Dリスナーハンドルも無効になります。
3DリスナーハンドルをセットしたAtomExプレーヤで再生している音声がある場合、 本関数を実行する前に、それらの音声を停止するか、そのAtomExプレーヤを破棄してください。
参照:
criAtomEx3dListener_Create
void CRIAPI criAtomEx3dListener_Update ( CriAtomEx3dListenerHn  ex_3d_listener)

3Dリスナーの更新

引数:
[in]ex_3d_listener3Dリスナーハンドル
説明:
3Dリスナーに設定されているパラメータを使用して、3Dリスナーを更新します。
本関数では、3Dリスナーに設定されている全てのパラメータを更新します。 パラメータをひとつ変更する度に本関数にて更新処理を行うよりも、 複数のパラメータを変更してから更新処理を行った方が効率的です。
例:
 CriAtomExVector pos;
 CriAtomExVector vel;

 // Set position
 pos.x = 0.0f
 pos.y = 0.0f
 pos.z = 1.0f
 criAtomEx3dListener_SetPosition(source, &pos);
 // Set velocity
 vel.x = 1.0f
 vel.y = 0.0f
 vel.z = 0.0f
 criAtomEx3dListener_SetVelocity(source, &vel);

 // Update source parameters
 criAtomEx3dListener_Update(source);
注意:
本関数はAtomExプレーヤのパラメータ更新(::criAtomExPlayer_UpdateAll, criAtomExPlayer_Update) とは独立して動作します。3Dリスナーのパラメータを変更した際は、本関数にて更新処理を行ってください。
void CRIAPI criAtomEx3dListener_ResetParameters ( CriAtomEx3dListenerHn  ex_3d_listener)

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

引数:
[in]ex_3d_listener3Dリスナーハンドル
説明:
3Dリスナーに設定されているパラメータをクリアし、初期値に戻します。
注意:
クリアしたパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update
void CRIAPI criAtomEx3dListener_SetPosition ( CriAtomEx3dListenerHn  ex_3d_listener,
const CriAtomExVector position 
)

3Dリスナーの位置の設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]position位置ベクトル
説明:
3Dリスナーの位置を設定します。
位置は、距離減衰、および定位計算に使用されます。
位置は、3次元ベクトルで指定します。位置の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には位置は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update
CriAtomExVector CRIAPI criAtomEx3dListener_GetPosition ( CriAtomEx3dListenerHn  ex_3d_listener)

3Dリスナーの位置の取得

引数:
[in]ex_3d_listener3Dリスナーハンドル
説明:
3Dリスナーの位置を取得します。
位置は、3次元ベクトルで取得します。位置の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。
void CRIAPI criAtomEx3dListener_SetVelocity ( CriAtomEx3dListenerHn  ex_3d_listener,
const CriAtomExVector velocity 
)

3Dリスナーの速度の設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]velocity速度ベクトル
説明:
3Dリスナーの速度を設定します。
速度は、ドップラー効果の計算に使用されます。
速度は、3次元ベクトルで指定します。速度の単位は、1秒あたりの移動距離です。 距離の単位がいくつであるかは、3Dリスナーの距離係数 (::criAtomEx3dListener_SetDistanceFactor 関数で設定)で決まります。 デフォルト値は(0.0f, 0.0f, 0.0f)です。
データ側には速度は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update
void CRIAPI criAtomEx3dListener_SetOrientation ( CriAtomEx3dListenerHn  ex_3d_listener,
const CriAtomExVector front,
const CriAtomExVector top 
)

3Dリスナーの向きの設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]front前方ベクトル
[in]top上方ベクトル
説明:
3Dリスナーの向きを前方ベクトルと上方ベクトルで設定します。
向きは、3次元ベクトルで指定します。設定された向きベクトルは、ライブラリ内部で正規化して使用されます。
デフォルト値以下のとおりです。
  • 前方ベクトル:(0.0f, 0.0f, 1.0f)
  • 上方ベクトル:(0.0f, 1.0f, 0.0f)
データ側にはリスナーの向きは設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update
void CRIAPI criAtomEx3dListener_SetDistanceFactor ( CriAtomEx3dListenerHn  ex_3d_listener,
CriFloat32  distance_factor 
)

3Dリスナーの距離係数の設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]distance_factor距離係数
説明:
3Dリスナーの距離係数を設定します。
距離係数はベクトルの単位となるメートル数です。ドップラー効果の計算に使用されます。
例えば、distance_factorに10.0fを指定すると、位置や速度等の1.0fを10メートルとして扱います。
デフォルト値は1.0fです。
データ側にはリスナーの距離係数は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update
void CRIAPI criAtomEx3dListener_SetFocusPoint ( CriAtomEx3dListenerHn  ex_3d_listener,
const CriAtomExVector focus_point 
)

3Dリスナーの注目点の設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]focus_point注目点ベクトル
説明:
3Dリスナーの注目点を設定します。
注目点は、3Dポジショニングを行うにあたって、 注目点を設定すると、リスナーの位置と注目点の間が直線で結ばれ、その直線上でマイクを移動させることができるようになります。
例えば、リスナーはカメラと常に同期させておき、主要キャラクタの位置に注目点を設定することで、状況に応じて、客観的か主観的かを柔軟に表現/調整するような使い方ができます。
なお、リスナーの位置と注目点の間で移動できるマイクは、現実世界のマイクと異なり、距離センサ(距離減衰計算用)と方向センサ(定位計算用)を分離しています。
これらを独立して操作することで、例えば「主役キャラに注目するので、距離減衰はキャラ位置基準で行いたい」「定位は画面の見た目に合わせたいため、定位計算はカメラ位置基準で行いたい」という表現を行うことができます。
デフォルト値は(0.0f, 0.0f, 0.0f)です。距離センサや方向センサのフォーカスレベルを設定しない状況では、注目点を設定する必要はありません。その場合、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update, criAtomEx3dListener_SetDistanceFocusLevel, criAtomEx3dListener_SetDirectionFocusLevel
void CRIAPI criAtomEx3dListener_SetDistanceFocusLevel ( CriAtomEx3dListenerHn  ex_3d_listener,
CriFloat32  distance_focus_level 
)

距離センサのフォーカスレベルの設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]distance_focus_level距離センサのフォーカスレベル
説明:
距離センサのフォーカスレベルを設定します。
距離センサは、3Dポジショニング計算のうち、距離減衰計算の基準となる位置を表します。定位を無視して距離減衰のかかり具合のみを感知するマイク、といった扱いです。
フォーカスレベルは、注目点に対してどれだけセンサ(マイク)を近づけるかを表します。センサ(マイク)は、リスナー位置と注目点の間を結んだ直線上で動かすことができ、0.0fがリスナー位置、1.0fが注目点と同じ位置になります。
例えば、距離センサのフォーカスレベルを1.0f、方向センサのフォーカスレベルを0.0fとすることで、注目点を基準に距離減衰を適用し、リスナー位置を基準に定位を決定します。
デフォルト値は0.0fです。距離センサや方向センサのフォーカスレベルを設定しない状況では、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update, criAtomEx3dListener_SetFocusPoint, criAtomEx3dListener_SetDirectionFocusLevel
void CRIAPI criAtomEx3dListener_SetDirectionFocusLevel ( CriAtomEx3dListenerHn  ex_3d_listener,
CriFloat32  direction_focus_level 
)

方向センサのフォーカスレベルの設定

引数:
[in]ex_3d_listener3Dリスナーハンドル
[in]direction_focus_level方向センサのフォーカスレベル
説明:
方向センサのフォーカスレベルを設定します。
方向センサは、3Dポジショニング計算のうち、定位計算の基準となる位置を表します。距離減衰を無視して定位のみを感知するマイク、といった扱いです。
方向センサの向きについては、リスナーの向き(::criAtomEx3dListener_SetOrientation 関数で設定)をそのまま使用します。
フォーカスレベルは、注目点に対してどれだけセンサ(マイク)を近づけるかを表します。センサ(マイク)は、リスナー位置と注目点の間を結んだ直線上で動かすことができ、0.0fがリスナー位置、1.0fが注目点と同じ位置になります。
例えば、距離センサのフォーカスレベルを1.0f、方向センサのフォーカスレベルを0.0fとすることで、注目点を基準に距離減衰を適用し、リスナー位置を基準に定位を決定します。
デフォルト値は0.0fです。距離センサや方向センサのフォーカスレベルを設定しない状況では、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。
注意:
設定したパラメータを実際に適用するには、::criAtomEx3dListener_Update 関数を呼び出す必要があります。
参照:
criAtomEx3dListener_Update, criAtomEx3dListener_SetFocusPoint, criAtomEx3dListener_SetDistanceFocusLevel

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版