Spatial Audio
Integration Settings
23.1より前のSpatial Audioは、Integration Settingsに基づいてルックアップテーブルを保存しました。次にルックアップテーブルはDefaultGame.iniファイルに保存されました。ユーザやプロジェクト内のアセットの変更によって一部のルックアップテーブルが変更され、これによりDefaultGame.iniファイルがダーティになることが多くありました。 AcousticTextureParamsMap これまでは、この配列にプロジェクトの音響テキスチャの吸音値がすべて保存されましたが、DefaultGame.iniから削除され、 非公開になりました。 AkGeometryMap この配列によりプロジェクトのPhysical MaterialsがAcoustic TexturesやTransmission Lossの値と関連付けられていましたが、行タイプがFWwiseGeometrySurfacePropertiesRowのData Tableアセットに置き換えられました。23.1へのアップデート時に新しいアセットが作成され、AkGeometryMapのコンテンツはそのアセットに移行されました。 新しいアセットはIntegration SettingのGeometry Surface Properties Tableプロパティに関連付けられます。無効な行を削除するための「Verify and Update」ボタンが新たに追加されました。 EnvironmentDecayAuxBusMap 以前のバージョンでは、この配列によりReverb Decay値とReverb Auxiliary Bussesが関連付けられていましたが、行タイプがFWwiseDecayAuxBusRowのData Tableアセットに置き換えられました。23.1へのアップデート時に新しいアセットが作成され、 EnvironmentDecayAuxBusMapのコンテンツはそのアセットに移行されました。新しいアセットはIntegration SettingsのReverb Assignment Tableプロパティに関連付けられます。
リバーブ予測サービス
23.1より前のUnrealリバーブ予測サービスは、Project Settingsで定義されたDefault Surface Absorption値を使用してルームのディケイを予測しましたが、ルームのテキスチャの吸音値を使用してディケイを予測するようになりました。音響テキスチャが指定されたルームのディケイ値の変更を予測できます。ルームのテキスチャが指定されていない場合は、Default Surface Absorption値が使用されます。
継続的レイキャスティング
Spatial Audioは、レイトレーシングエンジンを使って効率的にリフレクションとディフラクションのパスを評価します。Wwiseの以前のバージョンでは、エミッターやリスナーの動作が事前に定義された閾値(Spatial Audio SettingのMovement Thresholdを参照)を超えると、多数のレイがキャストされて、リフレクションとディフラクションのパスが再計算されました。レイキャストと再計算が組み合わさることでフレームの負荷が増加し、CPU使用率がピークに達することがありました。Wwise 2023.1では、再計算がトリガーされるまで、フレームごとにレイキャスティングが継続的に実行されます。これにより、レイキャスティングの負荷が複数のフレーム間で分散されるため、CPU使用率がピークに達するのを回避できます。 このような理由から、Spatial Audio SettingのNumber Of Primary Raysのデフォルト値が100から35に下げられました。移行後にプロジェクトに応じてプライマリレイ数を好みの値に変更してください。
隙間のないGeometry
Wwise 23.1に導入したSpatial Audioの新機能では、コンテインメントやトランジションリージョンまでの距離を計算するために、RoomのGeometryを隙間のない状態にする必要があります。これは、Geometryにホールが全くなく、すべてのエッジが正確に2つの三角形に接することを意味します。RoomがSpatial Audioに送信されると、RoomのGeometryで境界エッジが探索されます。境界エッジが検出されない場合、Geometryに隙間があるためエラーメッセージが表示されます。 RoomがReverb Zoneの場合、Geometryは隙間のない状態にする必要があります。エラーメッセージが表示された場合は、ホールや境界エッジを探してGeometryを修正してください。どのホールもサーフェスでカバーしてTransmission Lossの値を0にできます。ホールが見つからない場合は、エッジやサーフェスが重なっている境界エッジを探します。 Spatial Audioを使用してルームコンテインメントを実行する場合にも、Geometryを隙間のない状態にする必要があります。ただし、Unrealインテグレーションはデフォルトでこの機能を使用していません。ほかのシナリオについては、このエラーメッセージは無視しても構いません。
非推奨
以下の機能、ブループリントノード、およびプロパティは2022.1.0 Unrealインテグレーションで非推奨になり、2023.1.0 Unrealインテグレーションで削除されました。
削除された機能
- FAkAudioInputManager:
- PostAudioInputEvent:EventNameパラメータが削除されました。
- UAkComponent:
- PostAkEvent:EventNameパラメータが削除されました。
- PostAkEventAndWaitForEnd:EventNameパラメータが削除されました。
- PostAkEventByIdWithCallback:代わりにPostAkEventを使用してください。
- PostAkEventByNameWithDelegate:代わりにPostAkEventを使用してください。
- PostAssociatedAkEventAndWaitForEndAsync:代わりにPostAkEventAndWaitForEndを使用してください。
- UseEarlyReflections
- UAkGameObject:
- PostAkEvent:EventNameパラメータが削除されました。
- PostAkEventAsyncByEvent:代わりにPostAkEventを使用してください。
- PostAkEventByNameWithDelegate:代わりにPostAkEventを使用してください。
- GetRTPCValue
- FAkAudioDevice:
- PostAkAudioEventOnActor:代わりにUAkAudioEvent::PostOnActorを使用してください。
- PostAkAudioEventOnComponent:代わりにUAkAudioEvent::PostOnComponentを使用してください。
- PostEventOnActor:代わりにUAkAudioEvent::PostOnActorを使用してください。
- PostEventOnGameObjectID:代わりにUAkAudioEvent::PostOnGameObjectIDを使用してください。
- PostEventOnActorWithLatentAction:代わりにUAkAudioEvent::PostOnActorを使用してください。
- PostEventOnComponentWithLatentAction:代わりにUAkAudioEvent::PostOnComponentを使用してください。
- PostEventOnAkComponent:代わりにUAkAudioEvent::PostOnComponentを使用してください。
- PostEventOnAkGameObject:代わりにUAkAudioEvent::PostOnAkGameObjectを使用してください。
- PostAkAudioEventAtLocation:代わりにUAkAudioEvent::PostAtLocationを使用してください。
- PostAkAudioEventAtLocationAsync:代わりにUAkAudioEvent::PostAtLocationを使用してください。
- PostAkAudioEventOnActorAsync:代わりにUAkAudioEvent::PostOnActorを使用してください。
- PostAkAudioEventOnAkGameObjectAsync:代わりにUAkAudioEvent::PostOnAkGameObjectを使用してください。
- PostAkAudioEventWithLatentActionOnActorAsync:代わりにUAkAudioEvent::PostOnActorを使用してください。
- PostAkAudioEventWithLatentActionOnAkComponentAsync:代わりにUAkAudioEvent::PostOnComponentを使用してください。
- ExecuteActionOnEvent:代わりにUAkAudioEvent::ExecuteActionを使用してください。
- ExecuteActionOnPlayingID:代わりにUAkAudioEvent::ExecuteActionを使用してください。
削除されたブループリントノード
- PostAndWaitForEndOfEventAsync:代わりに PostAndWaitForEndOfEventまたはUAkAudioEvent::PostOnActorAndWaitを使用してください。
- PostEventByName:代わりにPostEventまたはUAkAudioEvent::PostOnActorを使用してください。
- PostEventAtLocationByName:代わりにUAkAudioEvent::PostAtLocationを使用してください。
- PostEventAtLocation:EventNameパラメータが削除されました。
- ExecuteActionOnEvent:代わりにUAkAudioEvent::ExecuteActionを使用してください。
- UseEarlyReflections
- ClearBanks
- LoadBankByName
- UnloadBankByName
削除されたプロパティ
- UAkComponent:
- EarlyReflectionOrder
- EarlyReflectionMaxPathLength
- roomReverbAuxBusGain
- diffractionMaxEdges
- diffractionMaxPaths
- diffractionMaxPathLength
- UAkGameObject: