プラグインの更新でドップラーの聴こえ方が変わった場合の対処法
CRIプラグインVer.1.27.00.00にて、ドップラーの計算方法が修正されました。
対処方法には以下の2パターンがあります。
  • (A) AtomCraft上でキューのドップラー係数を調整し直す
  • (B) プログラム側からドップラー効果の倍率を変更し、疑似的に以前の状態に戻す
(B)の方法を具体的に解説します。
CRIプラグインモジュールが初期化された後、下記の処理を実行してください。
#include "AtomListener.h"
#include "CriWareApi.h"
/* 初期化済みかどうかチェック */
if (FCriWareApi::criAtomEx_IsInitialized() == CRI_TRUE) {
float DopplerMultiplier = 1.0f / (DISTANCE_FACTOR * 100);
/* 全てのリスナに対してドップラー効果の倍率を設定する */
int32 Num = FAtomListener::GetNumListener();
for (int32 i = 0; i < Num; ++i) {
auto * Listener = FAtomListener::GetListener(i);
if (Listener == nullptr) {
continue;
}
CriAtomEx3dListenerHn Handle = Listener->GetListenerHandle();
FCriWareApi::criAtomEx3dListener_SetDopplerMultiplier(Handle, DopplerMultiplier);
}
/* 全てのリスナに対する設定を反映する */
FAtomListener::UpdateAllListeners();
}
上記ソースコードは、あらかじめDISTANCE_FACTOR定数を定義するか数値リテラルに書き換えてご利用ください。
DISTANCE_FACTORの値が『プラグインのバージョンアップ以前にプロジェクトに設定されていた「Distance Factor」の値』と同じになっていればドップラーの聴こえ方が以前と同じになります。
criware_ue4_040_trouble_doppler_got_changed_distance_factor.jpg
プロジェクト設定の「Distance Factor」を変更した覚えが無い場合はDISTANCE_FACTORの値を1.0にし、ドップラーの聴こえ方が以前と同じになるかどうかお試しください。