|
Wwise SDK 2022.1.19
|
次のセクションでは、Wwiseバージョン2021.1.10とバージョン2022.1の間での変更点を挙げ、説明します。
プラットフォーム固有の情報は、こちらにあります:
以前のバージョンの詳細については、 以前のリリースノート をご覧ください。
AK::SpatialAudio::SetDistanceProbe APIを追加しました。サードパーソン視点のゲームにおいて、Listener Game Objectに対し相対的なパンニングやスペーシャリゼーションを維持しつつ、別のGame Objectまでの距離に基づく音の減衰を行うことが可能となりました。AK::IAkGlobalPluginContext にRandom Number Generatorサービスを追加しました。AK::Monitor::AddTranslator 関数、および AkXMLErrorMessageTranslator と AkWAAPIErrorMessageTranslator クラスを参照してください。大規模なプロジェクトではエラーが発生した時に遅延が生じることがあり、その場合はXMLトランスレータまたはWAAPIトランスレータを無効にすることができます。どちらのトランスレータにも識別子を検索する時間を制限するタイムアウトパラメータがあります。Auto-defined SoundBanks(自動定義サウンドバンク)は SoundBank Settingsで有効にします。詳細は SoundBank Settings を参照してください。
AK::SpatialAudio::SetImageSource を使用することが可能となりました。AK::SpatialAudio::SetImageSource APIはルーム引数を受け入れなくなりました。イメージソースにフィルターを適用しエミッタとリスナーのルームに合致するルームのみとすることで、この機能の適用が限定されます。ユーザは希望する動作が提供されるよう、ゲーム側のロジックからイメージソースを追加または削除します。AkSpatialAudioInitSettings::uDiffractionOnReflectionsOrder を追加し、bEnableDiffractionOnReflectionsを置き換えました。これまではTrueに設定した場合にリフレクションパスの回折が1つだけ計算されました。これで回折ポイントの数をカスタム設定することが可能となりました。 AkInitSettings::fnProfilerPostMarker 経由で報告されるようになりました。AK::IAkMetering インターフェースをプレーンな構造体の AK::AkMetering に変換しました。CAkFileHelpers::CloseFile は入力パラメータとしてすべてのプラットフォームで AkFileHandle ではなく AkFileDesc を受け入れるようになりました。AK::ISourceControl::PluginInfo を追加しました。新しいコマンドは出力ファイル(生成されたサウンドバンクファイルやコピーされたメディアファイル)をソースコントロールで更新する時に使用します。IAkMixerInputContext::GetInputParam() に、新しい引数が必要です。AkMemSettings::bUseDeviceMemAlways 初期化パラメータを追加し、デバイスと非デバイスの両メモリのヒープを別々にインスタンス化するのではなく、1つのヒープだけをインスタンス化できるようにしました。AK::Wwise::SourceControlContainers::IAkList が1回につき1つのAkPosインスタンスに対応するようになりました。このためAkPosインスタンスを返すメソッドはそれ以前に取得されたAkPosを無効にするため、リストのイテレーション中にこのようなメソッドを呼び出さないようにする必要があります。詳細はインコードのSDKドキュメントを参照してください。AkCommSettings::uNotification を削除しました: このためWwise Authoringとの通信のためのダイナミックポートは1つだけとなりました。AK::Wwise::Plugin::IProgress::IsCancelled をconstとしました。ak.wwise.unknown_class_id を追加しました。エラーの ak.wwise.invalid_language 、 ak.wwise.unknown_language 、 ak.wwise.unknown_platform 、 ak.wwise.invalid_type で、より多くの詳細を提供するようになりました。AK::SpatialAudio::String の使用を削除して標準c-stringsに置き換え、外部コードによるSound Engine内のメモリ割り当てを防止しました。さらにこれらの文字列を AkRoomParams や AkPortalParams の構造体から削除し、それぞれの関数に直接渡されるようにしました。これによりパラメータ構造体におけるconstructor、copy、destructorの各メソッドが不要になり、クライアントコードが簡素化されました。AkInitSettings::uNumSamplesPerFrame のデフォルト値を512に変更しました。これによりWwiseの初期CPU使用が増加する一方、サウンドエンジンのオーディオレイテンシ合計が大幅に減少します。引き続きゲームの総オーディオレイテンシと利用可能な演算リソースのバランスをとるために"Samples Per Frame"や"Number of Refills In Voice"の微調整を行うことが推奨されます。AK::SpatialAudio::SetEarlyReflectionsVolume を使用して設定したアーリーリフレクションのボリュームは、ジオメトリに基づいて計算されたリフレクションのほかに AK::SpatialAudio::SetImageSource を使用して設定されたイメージソースにも適用されるようになりました。AkPipelineBufferBase::GetCachedBuffer で発生する短時間メモリの割り当て数を、一度に複数のフレームに割り当てられたバッファを維持する事により削減しました。AkSpatialAudioInitSettings::uMaxReflectionOrder が0に設定されている時のリフレクションレイキャスティングを無効にしました。AK::Monitor スレッドのCPUオーバーヘッドを大幅に削減しました。これによりWwiseで報告されるCPU測定の精度が大幅に改善されると考えられます。AK::Wwise::Plugin::CustomData::InitFromWorkunit() 関数が呼び出されません。StartProfilerCapture() を呼び出して開始された場合は表示されません。AK::SoundEngine::SetOutputDeviceEffect は、Audio Device ShareSetを指定しながらもデフォルトハードウェアID(0)を使用すると、適切なデバイスがあるにもかかわらず"Device not found error"を出します。CAkListener::MultiDirectionGainCorrectionForObjects のクラッシュ。AK::SoundEngine::ReplaceOutput を呼び出す時に古い出力Audio Deviceが複数のオーディオバスに接続されている場合は音声が途切れる可能性があります。AkInitSettings::bDebugOutOfRangeCheckEnabled を有効にしてある時に外部ソースや一部のストリームを再生することにより、無効なオーディオデータを示す誤ったエラーが作成されます。