Build a Game with UDK — Save 50%
Get started with the Unreal Development Kit and make your very first game! with this book and ebook
In this article by Geoff Sholler, author of the book "Build a Game with UDK", we will explain the sound component of the Unreal Engine. The Unreal Engine is used in many games out on the market. It's also used in other industries for things such as simulation. Regardless of the use, any product using the Unreal Engine will also use the Unreal Development Kit and the tools within it. This article will cover most of the tools included in the Unreal Development Kit.
(For more resources related to this topic, see here.)
Sound cues versus sound wave data
There are two types of sound entries in UDK:
- Sound cues
- Sound wave data
Types of sound actors
A key element of any well designed level is ambient sound effects. This requires placing sound actors into the world. Some of these actors use sound wave data and others use sound cues. There are strengths, weaknesses, and specific use cases for all of them, so we'll touch on those presently.
Using sound cues
There are two distinct types of sound actors that call for the use of sound cues specifically. The strength of using sound cues for ambient sounds is that the different sounds can be manipulated in a wider variety of ways. Generally, this isn't necessary as most ambient sounds are some looping sound used to add sound to things like torches, rippling streams, a subtle blowing wind, or other such environmental instances. The two types of sound actors that use sound cues are Ambient Sounds and Ambient Sound Movables as shown in the following screenshot:
As the name suggests, this is a standard ambient sound. It stays exactly where you place it and cannot be moved. These ambient sound actors are generally used for stationary sounds that need some level of randomization or some other form of specific control of multiple sound wave datas.
Ambient sound movable
Functionally very similar to the regular ambient sound, this variation can, as the name suggests, be moved. That means, this sort of ambient sound actor should be used in a situation where an ambient sound would be used, but needs to be mobile. The main weakness of the two ambient sound actors that utilize sound cues is that each one you place in a level is identically set to the exact settings within the sound cue. Conversely, ambient sound actors utilizing sound wave datas can be set up on an instance by instance basis. What this means is explained with the help of an example. Lets say we have two fires in our game. One is a small torch, and the other is a roaring bonfire. If we feel that using the same sound for each is what we want to do, then we can place both the ambient sound actors utilizing sound wave datas and adjust some settings within the actor to make sure that the bonfire is louder and/or lower pitched. If we wanted this type of variation using sound cues, we would have to make separate sound cues.
Using sound wave data
There are four types of ambient sound actors that utilize sound wave datas directly as opposed to housed within sound cues. As previously mentioned, the purpose of using ambient sound actors that use sound wave data is to avoid having to create multiple sound cues with only minimally different contents for simple ambient sounds. This is most readily displayed by the fact that the most commonly used ambient sound actors that use sound wave data are called AmbientSoundSimple and AmbientSoundSimpleToggleable as shown in the following screenshot:
Ambient sound simple
Ambient sound simple is, as the name suggests, the simplest of ambient sound actors. They are only used when we need one sound wave data or multiple sound wave datas to just repeat on a loop over and over again. Fortunately, most ambient sounds in a level fit this description. In most cases, if we were to go through a level and do an ambient sound pass, all we would need to use are ambient sound simples.
Ambient sound non loop
Ambient sound non loop are pretty much the same, functionally, as ambient sound simples. The only difference is, as the name suggests, they don't loop. They will play whatever sound wave data(s) that are set in the actor, then delay by a number of seconds that is also set within the actor, and then go through it again. This is useful when we want to have a sound play somewhat intermittently, but not be on a regular loop.
Ambient sound non looping toggleable
Ambient sound non looping toggleable are, for all intents and purposes, the same as the regular ambient sound non loop actors, but they are toggleable. This means, put simply, that they can be turned on and off at will using Kismet. This would obviously be useful if we needed one of these intermittent sounds to play only when certain things happened first.
Ambient sound simple toggleable
Ambient sound simple toggleable are basically the same as a plain old, run of the mill ambient sound simple with the difference being, as like the ambient sound non looping toggleable, it can be turned on and off using Kismet.
Playing sounds in Kismet
There are several different ways to play different kinds of sounds using Kismet. Firstly, if we are using a toggleable ambient sound actor, then we can simply use a toggle sequence, which can be found under New Action | Toggle. There is also a Play Sound sequence located in New Action | Sound | Play Sound. Both of these are relatively straightforward in terms of where to plug in the sound cue.
Playing sounds in Matinee
If we need a sound to play as part of a Matinee sequence, the Matinee tool gives us the ability to trigger the sound in question. If we have a Matinee sequence that contains a Director track, then we need to simply right-click and select Add New Sound Track. From here, we just need to have the sound cue we want to use selected in the Content Browser, and then, with the Sound Track selected in the active Matinee window, we simply place the time marker where we want the sound to play and press Enter. This will place a keyframe that will trigger our sound to play, easy as pie. The Matinee tool dialog will look like the following screenshot:
Matinee will only play one sound in a sound track at a time, so if we place multiple sounds and they overlap, they won't play simultaneously. Fortunately, we can have as many separate sound tracks as we need. So if we find ourselves setting up a Matinee and two or more sounds overlap in our sound track, we can just add a second one and move some of our sounds in to it.
Now that we've gone over the different ways to directly play and use sound cues, let's look at how to make and manipulate the same sound cues using UDK's surprisingly robust Sound Cue Editor.
Now that we have a decent grasp of what kinds of sound control UDK offers us and how to manipulate sounds in the editor, we can set about bringing our game to audible life. A quick tip for placing ambient sounds: if you look at something that visually seems like it should be making a noise like a waterfall, a fire, a flickering light, or whatever else, then it probably should have an ambient sound of some sort placed right on it. And as always, what we've covered in this article is an overview of some of the bare bones basics required to get started exploring sounds and soundscapes in UDK. There are plenty of other actors, settings, and things that can be done. So, again, I recommend playing around with anything you can find. Experiment with everything in UDK and you'll learn all sorts of new and interesting things.
Resources for Article:
- Unreal Development Toolkit: Level Design HQ [Article]
- Getting Started on UDK with iOS [Article]
- Configuration and Handy Tweaks for UDK [Article]
eBook Price: $20.99
Book Price: $34.99
About the Author :
Geoff Sholler has an interest in video games since he first started playing them around the age of five. Many of his educational decisions were g eared towards the end goal of getting into the business of making them, and as such, he attained a Bachelor's degree in Computer Science with a focus on Videogame and Graphics Programming from the University of Miami in 2008. After that, he went to the Florida Interactive Entertainment Academy (FIEA) at UCF and earned a Master's degree in the field of Interactive Entertainment. While attending FIEA, he learned to use several professional-scale development toolsets, chief among them UDK. Upon graduating, he was hired by Trendy Entertainment, the makers of the hit game Dungeon Defenders, in a position which nobody can seem to find a proper title for, but Asset Integration Specialist, Level Scripter, and Technical Designer tend to be the most common ways to which he is referred. They all sound better than ''the guy with a technical mindset who knows nearly all of the engine tools really well", which is possibly the most accurate description of his job. He has been working there since January 2012, which means he has been elbow deep in UDK nearly every day for the past two years, including school.