Version
Before deciding on the particular playback behaviors for the objects in your project hierarchy, you may want to review the following sections, which provide you with a series of tips and best practices that can help you get the results you are looking for.
As a general rule, you will want to stream sounds that are too large to store in memory, for example music, ambient room tones, and even voices, if there are many of them. However, many different things come into play when determining which option is best.
At the beginning of your project, you should speak to the development team to determine the following:
How many streams will be available for audio?
What is the bandwidth of each stream?
Will these streams be shared?
How many concurrent streams can you use?
Will the streaming occur from the platform hard drive, directly from disc, or from a remote server?
With this information, along with a sound's sample rate and compression format, you can perform some calculations and then make informed decisions about whether to stream sounds or not.
The more streams you have playing concurrently, the more pre-fetch time will be required. You can start out using a short pre-fetch time, but as the number of concurrent streams increases over the course of your project, you might need to increase it.
Avoiding repetition of sounds within Random Containers that have a scope set to “global” - the purpose of using a continuous Random Container in shuffle mode is to avoid the repetition of sounds. If, however, your container has a limited number of sounds and you have many instances of this container playing back, you may experience some repetition. To avoid this type of behavior, make sure that the number of sound objects within the container is at least twice the number of playback instances. For example, if you have 3 playback instances of the same Random Container, your Container should contain at least 6 different sound objects to avoid repetition.
CPU usage - be aware that when you play a Blend Container, all the objects in it will play simultaneously and can therefore use up a large amount of memory. You can use the virtual voices settings to reduce CPU use, but this may result in glitches if crossfades are short and frequent. For more information on using virtual voices, refer to Volume Threshold and Virtual Voices.
Deciding between Switches and Blend Containers - during gameplay, both Switch Containers and Blend Containers can be used with RTPCs and produce similar results. However, there are significant differences in how the two features function, and you should choose between them depending on your requirements.
If you want different objects to be played at different times, and crossfades are unimportant, you can use a Switch Container.
If you want all objects to be played at all times, and if crossfades are required, use a Blend Container.
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