目次 - SDL_mixer 3.0 - MIX_SetTrack3DPosition

MIX_SetTrack3DPosition

トラックの現在の3D空間内の位置を得る

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_SetTrack3DPosition(MIX_Track *track, const MIX_Point3D *position);

引数

MIX_Track *track設定するトラック
const MIX_Point3D *positionトラックの新しい3D空間位置. NULLも可

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

(SDL_mixerは非常に強力な3D APIであることを目指していないので注意すること. OpenALのような他のAPIが提供するドップラー効果, 距離モデル, 減衰などの3D機能はない. これは音の位置の使用やサラウンド設定の活用に十分な機能になることを目的としている.)

positionがNULLでない場合, このトラックは3D位置モードに切り替わる. positionがNULLの場合, 位置ミキシング(この関数による3D空間とMIX_SetTrackStereo()の強制ステレオモードの両方)は無効になる.

3D位置モードでは, SDL_mixerはこのトラックを距離による減衰(利き手が遠いほど小さくなる)や空間化(ステレオ出力とサラウンド出力の場合, 方向がわかるように適切な位置にスピーカーを配置する)で3D空間にあるかのようにミックスする.

モノラルスピーカー出力の場合, 空間化は無効化されるが, 距離による減衰は機能する. 単一のスピーカーで行えるのはこれだけである.

座標系はOpenGLやOpenALと同じ「右手系」である. 詳しくはMIX_Point3Dを参照すること.

聞き手は常に(0,0,0)にあり, 変えることはできない.

トラックの入力はモノラル(1チャネル)へと変換されるため, どのような入力でも正しいスピーカー出力が行える.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_SetTrack3DPosition