Public メソッド
クラス CriAtomEx3dListener

3Dリスナー [詳細]

すべてのメンバ一覧

Public メソッド

 CriAtomEx3dListener ()
 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 (float fx, float fy, float fz, float ux, float uy, float uz)
 3Dリスナーの向きの設定
void SetDistanceFactor (float distanceFactor)
 3Dリスナーの距離係数の設定
void SetDopplerMultiplier (float dopplerMultiplier)
 3Dリスナーのドップラー倍率の設定
void SetFocusPoint (float x, float y, float z)
 3Dリスナーの注目点の設定
void SetDistanceFocusLevel (float distanceFocusLevel)
 距離センサのフォーカスレベルの設定
void SetDirectionFocusLevel (float directionFocusLevel)
 方向センサのフォーカスレベルの設定
void Set3dRegion (CriAtomEx3dRegion region3d)
 3Dリージョンの設定

説明

3Dリスナー

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

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

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

CriAtomEx3dListener ( )
inline

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リスナーのパラメータを変更した際は、本関数にて更新処理を行ってください。
例:
// リスナーの作成
 CriAtomExListener listener = new CriAtomEx3dListener();
  :
 // リスナー位置の設定
 listener.SetPosition(0.0f, 0.0f, 1.0f);

 // リスナー速度の設定
 listener.SetVelocity(1.0f, 0.0f, 0.0f);

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

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

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

説明:
3Dリスナーに設定されているパラメータをクリアし、初期値に戻します。
注意:
クリアしたパラメータを実際に適用するには、 CriAtomEx3dListener::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)です。
データ側には位置は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dListener::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dListener::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)です。
データ側には速度は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dListener::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dListener::Update
void SetOrientation ( float  fx,
float  fy,
float  fz,
float  ux,
float  uy,
float  uz 
)
inline

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

引数:
fx前方ベクトルのX方向の値
fy前方ベクトルのY方向の値
fz前方ベクトルのZ方向の値
ux上方ベクトルのX方向の値
uy上方ベクトルのY方向の値
uz上方ベクトルのZ方向の値
説明:
3Dリスナーの向きを前方ベクトルと上方ベクトルで設定します。
向きは、3次元ベクトルで指定します。
設定された向きベクトルは、ライブラリ内部で正規化して使用されます。
デフォルト値以下のとおりです。
  • 前方ベクトル:(0.0f, 0.0f, 1.0f)
  • 上方ベクトル:(0.0f, 1.0f, 0.0f)
データ側にはリスナーの向きは設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dListener::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dListener::Update
void SetDistanceFactor ( float  distanceFactor)
inline

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

引数:
distanceFactor距離係数
説明:
3Dリスナーの距離係数を設定します。
この係数はドップラー効果の計算に使用されます。
例えば、distance_factorに0.1fを指定すると、速度の1.0fを10メートルとして扱います。
distanceFactorに指定できる値は0または0.0fより大きな値です。 デフォルト値は1.0fです。
データ側にはリスナーの距離係数は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dListener::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dListener::Update
void SetDopplerMultiplier ( float  dopplerMultiplier)
inline

3Dリスナーのドップラー倍率の設定

引数:
dopplerMultiplierドップラー倍率
説明:
3Dリスナーのドップラー倍率を設定します。この倍率はドップラー効果の計算に使用されます。
例えば、dopplerMultiplierに10.0fを指定すると、ドップラー効果が通常の10倍になります。
dopplerMultiplierに指定できる値は0または0.0fより大きな値です。 デフォルト値は1.0fです。
データ側にはリスナーのドップラー倍率は設定できないため、常に本関数での設定値が使用されます。
注意:
設定したパラメータを実際に適用するには、 CriAtomEx3dListener::Update 関数を呼び出す必要があります。
参照:
CriAtomEx3dListener::Update
void SetFocusPoint ( float  x,
float  y,
float  z 
)
inline

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

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

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

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

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

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

3Dリージョンの設定

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

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