When it comes to audio in Unity, there are four components:
Audio Clip, Audio Source, Audio Listener, and Audio Re-verb Zone.
Audio Clips are the actual audio file imported into your game. Unity supports file formats: .aif, .wav, .mp3, and .ogg. When imported, you can compress them greatly, with the price of loosing some quality. You can do this by first selecting the audio clip, view it in the inspector. Under the Audio Importer component, you can switch the audio format from Native to the audio clip, to a compressed format applied by Unity. You can change how compressed the file is by dragging the bar at the bottom, then hitting apply.
You can get plenty of free good SFX from a site called freesound.org. All you have to do is create an account for free, and download all the sounds you want. I found a nice gun shot sound here. Simply download and load into your Project.
Keep in mind, you can have only one Audio Source attached to a game object. You can assign an audio clip to a source by dragging the clip to Audio clip variable under the Audio Source component like this,
Audio Clip, Audio Source, Audio Listener, and Audio Re-verb Zone.
Audio Clips are the actual audio file imported into your game. Unity supports file formats: .aif, .wav, .mp3, and .ogg. When imported, you can compress them greatly, with the price of loosing some quality. You can do this by first selecting the audio clip, view it in the inspector. Under the Audio Importer component, you can switch the audio format from Native to the audio clip, to a compressed format applied by Unity. You can change how compressed the file is by dragging the bar at the bottom, then hitting apply.
Audio Source actually plays the audio clip in your scene. They are an component, so it must be attached to a game object to play in the scene. You can quickly make a empty game object with an attached audio source by dragging an audio clip on to your scene. By default, they play on Awake, which means once the scene loads and plays, the sound will also. With the method of my game, I simply attached a Audio Source (Component>Audio>Audio Source) to my gun, and on instantiate of a bullet (or whatever method you have of firing your wepon), I played the sound. It goes something like this:
var bb = Instantiate(bullet, bSpawn.transform.position, bSpawn.transform.rotation);
bb.rigidbody.AddForce(bb.transform.TransformDirection (Vector3.forward)*10000);
transform.GetComponent(AudioSource).Play();
Simple right?
Audio Listener Is the device that picks up audio played in the scene. You can have ONE audio listener per scene. The main camera in a scene normally already has audio listener component attached to it. The Audio listener picks up the sounds played around it, the further it is from a sound, the weaker, or less loud, the sound is. I always attach the audio listener to the player.
Audio Re-verb Zone is a component that can be used to make your sounds reverberate, or more common term, echo in your scene. Read the Reference Manual for the best description.
Comments
Post a Comment