CRI ADX  Last Updated: 2026-05-28 14:38 p
3Dポジショニング マルチポジショニング再生

サンプルのディレクトリ

/cri/pc/samples/criatomex/control_3d_pos_multi_source

サンプルで使用しているデータ

/cri/common/smpdata/criatomex/
  • SampleProject.acf
  • AtomCueSheet.acb
  • AtomCueSheet.awb

サンプルの解説

3Dポジショニング再生において 3D音源の代わりに音源リストを AtomExプレーヤに設定して再生を行うことで、マルチポジショニング再生が可能です。
マルチポジショニング再生により、1回の再生に複数の音源パラメーターを考慮した定位や減衰等を適用することが出来ます。
機能の具体的な説明は3Dポジショニング をご参照ください。
マルチポジショニング再生を行うには、以下の要素が必要です。
3Dリスナーハンドルは通常の3Dポジショニング再生における手順と同様に作成し、AtomEx プレーヤに登録してパラメータを設定する必要があります。
3D音源リストは criAtomEx3dSourceList_Create 関数で作成します。
3D音源リストを AtomEx プレーヤに登録するには criAtomExPlayer_Set3dSourceListHn 関数を用います。
3D音源リストには別途作成した3D音源を追加する必要があります。
各3D音源は通常の3Dポジショニング再生における手順と同様に作成し、 パラメータを設定する必要があります。
3D音源リストへの3D音源の追加には criAtomEx3dSourceList_Add 関数を用います。
criAtomEx3dSourceList_SetVolumeAdjustmentType により音源リストの音量調節方式を設定することが可能です。 CRIATOMEX3DSOURCELIST_VOLUME_ADJUSTMENT_TYPE_LOUDEST_SOURCE_BASELINE を指定することで、音源リスト内の最も大きく再生される音源を基準として、 音源リスト全体の再生音量が減少します。この機能は音源リストに含まれる複数の音源を合わせて1つの音源として扱う場合に有効です。
マルチポジショニング再生を行うコードを以下に示します。
CriAtomEx3dSourceHn sources[NUM_SOURCES];
/* 3Dリスナー、3D音源リストを作成し、Exプレーヤに登録 */
player = criAtomExPlayer_Create(NULL, NULL, 0);
listener = criAtomEx3dListener_Create(NULL, NULL, 0);
source_list = criAtomEx3dSourceList_Create(NULL, NULL, 0);
criAtomExPlayer_Set3dSourceListHn(player, source_list);
/* 3D音源リストに3D音源を追加 */
for (CriSint32 i = 0; i < NUM_SOURCES; i++) {
/* 3D音源を作成 */
source[i] = criAtomEx3dSource_Create(NULL, NULL, 0);
/* 3D音源のパラメータを設定(省略) */
:
/* 3D音源リストに3D音源を追加 */
criAtomEx3dSourceList_Add(source_list, sources[i]);
}
/* 再生開始 */
id = criAtomExPlayer_Start(player);
CriAtomEx3dSourceListObj * CriAtomEx3dSourceListHn
3D音源ハンドルリスト
Definition: cri_le_atom_ex.h:4721
void criAtomEx3dSource_Update(CriAtomEx3dSourceHn ex_3d_source)
3D音源の更新
CriAtomEx3dListenerObj * CriAtomEx3dListenerHn
3Dリスナーハンドル
Definition: cri_le_atom_ex.h:4735
void criAtomEx3dSourceList_Add(CriAtomEx3dSourceListHn ex_3d_source_list, CriAtomEx3dSourceHn ex_3d_source)
3D音源ハンドルリストへの3D音源ハンドルの追加
CriAtomEx3dListenerHn criAtomEx3dListener_Create(const CriAtomEx3dListenerConfig *config, void *work, CriSint32 work_size)
3Dリスナーハンドルの作成
CriAtomEx3dSourceObj * CriAtomEx3dSourceHn
3D音源ハンドル
Definition: cri_le_atom_ex.h:4709
CriAtomEx3dSourceListHn criAtomEx3dSourceList_Create(const CriAtomEx3dSourceListConfig *config, void *work, CriSint32 work_size)
3D音源ハンドルリストの作成
CriAtomEx3dSourceHn criAtomEx3dSource_Create(const CriAtomEx3dSourceConfig *config, void *work, CriSint32 work_size)
3D音源ハンドルの作成
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
再生の開始
CriAtomExPlayerObj * CriAtomExPlayerHn
プレーヤーハンドル
Definition: cri_le_atom_ex.h:3727
void criAtomExPlayer_Set3dSourceListHn(CriAtomExPlayerHn player, CriAtomEx3dSourceListHn source_list)
3D音源ハンドルリストの設定
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
void criAtomExPlayer_Set3dListenerHn(CriAtomExPlayerHn player, CriAtomEx3dListenerHn listener)
3Dリスナーハンドルの設定