XACT 3D のサポート

XACT では、キュー インスタンス変数、IXACT3Cue::SetMatrixCoefficients 関数、および X3DAudio API を操作する XACT3D の関数によって、サウンドの 3D 配置がサポートされます。

キュー インスタンス変数

XACT には、3D オーディオに直接関係する暗黙的なキュー インスタンス変数がいくつか用意されています。3D に関連する変数は、Distance、OrientationAngle、および DopplerPitchScalar です。これらの各変数は、オーディオ デザイナーによってランタイム パラメーター制御 (RPC) にマップできます。

サウンド デザイナーは、これらの暗黙的変数を使用することで、サウンドを実装する際に高い柔軟性を実現できます。たとえば、単純な距離およびボリュームのスケーリングに加えて、サウンド デザイナーは、距離に基づいた Wave の選択のトリガー、距離による DSP パラメーター ノブ (たとえばローパス フィルター カットオフ) の微調整、またはその他の興味深いマッピングを行うことができます。

これらのキュー インスタンス変数の値を手動で設定すると、クライアント コードで、グラフのインデックスとして RPC で使用する値を指定できます。

キュー インスタンス変数の値を直接設定する方法については、「XACT 変数」を参照してください。XACT GUI でサウンド動作を設計するときの変数の使用については、「XACT 変数」および「XACT ランタイム パラメーター制御」を参照してください。

SetMatrixCoefficients

IXACT3Cue::SetMatrixCoefficients 関数を使用すると、各デスティネーション チャンネルに送信される各ソース チャンネルのボリュームをキューに設定できます。IXACT3Cue::SetMatrixCoefficients に渡すパラメーターによって、パンや距離のエフェクトを手動で作成できます。

XACT3D 関数

さらに、XACT には、X3DAudio を透過的に呼び出す XACT3D という関数がいくつかあります。XACT3D 関数が呼び出されると、X3DAudio が呼び出されて、ボリューム レベル行列 (統一されたボリュームでリスナーの周囲の 360 度円内における知覚位置をサウンドに与えるスピーカー/ボリューム ペアのセット) の値や、Distance、OrientationAngle、DopplerPitchScalar などの 3D に使用される暗黙的な Microsoft Cross-Platform Audio Creation Tool (XACT) 変数の値が計算されます。加えて、XACT3D ヘルパー ライブラリは、独自の計算 (SpeedOfSound 変数など) に有用な特定の情報を取得するために XACT をクエリすることができます。ここで、XACT3D は、X3DAudio から返された値を使用して XACT キュー インターフェイス上で適切なパブリック メソッドを呼び出し、ボリューム レベル行列と暗黙的キュー インスタンス変数を設定します。これにより、リスナーの周囲の 3D 空間におけるキュー インスタンスの見かけ上の位置が設定されるだけでなく、サウンド デザイナーによって指定された距離、ドップラー効果、またはその他の種類の処理が適切に適用されます。

キュー インスタンスにドップラー効果を与えるために、サウンド デザイナーは、DopplerPitchScalar の値からサウンドのピッチへの RPC マッピングを作成します。サウンド デザイナーは、ドップラー効果の曲線を変更することにより、強調したりその効果を変更したりできます。

XACT3D 関数では、この関数に渡されるパラメーターを使用して DopplerPitchScalar 変数の値と、SpeedOfSound 変数の値が計算され、設定されます。

XACT で X3DAudio を使用する方法の詳細については、「方法 : XACT での X3DAudio の統合」および「X3DAudio の概要」を参照してください。

関連トピック

  • XACT の概要
    XACT API の使用方法について概説します。
  • XACT
    XACT GUI を使用したコンテンツ作成に関する概要と情報について説明します。