Wwise SDK 2019.1.11
|
With many new features, you will need to pay attention to several things when migrating to Wwise 2018.1.
The Fade Curve property of Event Actions has been split according to the Action type, such that Actions related to activation (such as Play, Resume, and Set LPF) now have a Fade-in Curve property and Actions related to deactivation (such as Stop, Pause, and Reset LPF) now have a Fade-out Curve property.
The Contents Editor has been rewritten as a tree, allowing object nodes to be expanded to show their descendants. The column headers can be resized and customized much like in the Multi Editor, and the inclusion now has a dedicated column. In order to allow objects to be sorted when clicking on the column headers, it is no longer possible to reorder objects in the Contents Editor.
The Positioning tab of the Property Editor has been thoroughly reorganized. Here is a short guide for those who were used to the old set of controls.
The Enable Positioning check box was renamed to Listener Relative Routing. It behaves exactly as before, but the name makes it more apparent that its effect goes beyond positioning and affects routing. In effect, it forces the engine to evaluate the emitter-listener association at that node. Emitters and listeners are game objects, assigned via the SDK; listeners are assigned to emitters using AK::SoundEngine::SetListeners
, or when setting aux sends; and emitters are set when posting Events. Evaluating the emitter-listener association means that the signal will "jump" from the current game object to its listener. This can be observed in the Voices Graph. Evaluating the emitter-listener association is a prerequisite for any positioning feature (distance attenuation and spatialization) that involve an emitter and a listener.
This used to be the default setting, and still is. The Speaker Panning list must be set to Direct Assignment. The Listener Relative Routing option has no effect on panning.
The Speaker Panning list must be set to Balance - Fade. Then you can edit panning by clicking on Edit… to the right, in the same dialog as before. The Listener Relative Routing option has no effect on panning.
Enable Listener Relative Routing, set Position list to Emitter, set 3D Spatialization to either Position or Position + Orientation (the former the default value). Ensure Speaker Panning / 3D Spatialization Mix is set to 100. The equivalent of disabling the former option, Update At Each Frame, is to enable Hold Emitter Position and Orientation. You can also set an attenuation, like before.
Enable Listener Relative Routing, set Position list to Listener + Automation, set 3D Spatialization to either Position or Position + Orientation (the former the default value). Ensure Speaker Panning / 3D Spatialization Mix is set to 100. Edit the path by clicking on Automation…, in the same dialog as before. The equivalent of disabling the former option, Follow Listener Orientation. is to enable Hold Listener Orientation. You can also set an attenuation, like before.
Before, when setting positioning to 3D but Spatialization to None, the resulting positioning was equivalent to having the 2D panner enabled, with the dot in the middle. Now, Spatialization set to None takes whatever Speaker Panning option you choose, whether it is Direct Assignment or Balance - Fade with the position you desire. Also, this reorganization allows you to apply an attenuation on "2D" (panned) sounds.
The Listener + Automation mode is equivalent to the former 3D User-Defined mode because the sound positions were always set relative to the listener. Now you can also have the sound positions occur around the emitter game object instead, by setting the Position mode to Emitter + Automation. In this case, the path automation will be done around the Emitter game object, where the front is defined by the orientation of the game object in game. The automated position is used for distance attenuation (if set) and spatialization (if set).
Last but not least, you can blend between Panning and Spatialization (formerly referred to as 2D and 3D) using the Speaker Panning vs 3D Spatialization Mix slider, where 100 is full spatialization.
Note: Using a value lower than 100 will be slightly more expensive at run-time due to the fact that both types of positioning must be calculated. |
The functions IAkMixerInputContext::IsSpatializationEnabled
and IAkMixerInputContext::IsPannerEnabled
have been removed. You should instead use the following functions, which more accurately match the settings described above:
GetSpeakerPanningType
HasListenerRelativeRouting
Get3DSpatializationMode
GetNum3DPositions()
and other "3D"-related functions apply only when HasListenerRelativeRouting()
returns true
. Designers may use these positions for attenuation and/or spatialization, according to the other settings, which you can query.
Here are a few details to be aware of:
AK::SoundEngine::SetScalingFactor
.AK::IAkMixerInputContext::IsSpatializationEnabled
and AK::IAkMixerInputContext::IsPannerEnabled
, and added functions AK::IAkMixerInputContext::GetSpeakerPanningType
, AK::IAkMixerInputContext::HasListenerRelativeRouting
, and AK::IAkMixerInputContext::Get3DSpatializationMode
.The details
field in the error object returned by ak.wwise.core.audio.importTabDelimited is now compliant with WAMP specifications. It changed from an array to an object. The array was moved to a field called results
in the object.
With the introduction of the standard software Opus codec, the Switch-specific Opus codec was renamed OpusNX. This means that the related files have changed as well:
These files should be used on the Nintendo Switch to make use of the hardware decoder of that platform. Note that the standard Opus codec is also available on Switch but will be decoded in software. The standard Opus codec files are named AkOpusDecoderFactory.h and AkOpusDecoder[.lib, .a].
For 2018.1, the geometry API has been changed in order to streamline the data, and provide a more convenient and compact representation. Note the following changes:
In Wwise 2017.2, units of the built-in Game Parameter Diffraction were degrees, ranging from 0 to 180. In 2018.1, Diffraction is now expressed in percentage, with 100% corresponding to 180 degrees. Likewise, the Diffraction value displayed in the 3D Game Object Profiler is now a percentage. This makes it easier to work with diffraction-driven Obstruction, which already ranges from 0 to 100. Your existing projects will automatically adapt your curves accordingly, as you migrate them to 2018.1.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise