- Home /
How do I add a gunshot sound to this?
I do not know how to add a audio file to this. Btw my gunshot file name is shoot.mp3 thanks
var projectile : Rigidbody;
var speed = 200;
function Update()
{
if( Input.GetButtonDown( "Fire1" ) )
{
var instantiatedProjectile : Rigidbody = Instantiate(
projectile, transform.position, transform.rotation );
instantiatedProjectile.velocity =
transform.TransformDirection( Vector3( 0, 0, speed ) );
Physics.IgnoreCollision( instantiatedProjectile. collider,
transform.root.collider );
}
}
Answer by deltamish · Oct 29, 2012 at 04:56 AM
Hello If you want a simple code that does play only firing sound here is the script
Add audiosource componenet to your gun and add your shoot.mp3 to it and add this script to your gun script which must me added to the gun model
var firing:boolean = false;
//add other variables
function Update(){
if( Input.GetButtonDown( "Fire1" ) ) {
//your code
firing = true;
if(firing && !audio.IsPlaying){
audio.Play();
audio.loop = true;
}
if(!firing){
audio.Stop();
}
}
if(!Input.GetButtonDown("Fire1")){
firing = false;
}
}
Or For more realism
var firing:boolean = false;
var clip:AudioClip;
//add other variables
function Update(){
if( Input.GetButtonDown( "Fire1" ) ) {
//your code
firing = true;
if(firing && !audio.IsPlaying){
audio.PlayOneShot(clip);
}
} if(!Input.GetButtonDown("Fire1")){ firing = false; } }
if you want one with reload and other sounds leave a comment
Hi, i had the smae problem. However when i used your scrip the gun sound keeps on randomly playng even when im not firing. Please, please help! (thanks)
THAN$$anonymous$$YOU SO $$anonymous$$UCH DUDE YOUR THE BEST!
Answer by Tomer-Barkan · Oct 09, 2013 at 05:16 PM
I'd go for adding an AudioSource component to the projectile prefab. First, attach an AudioSource component to the projectile prefab in the editor. Make sure to import the sound resource as well and attach it to the audio source. Here's a nice tutorial in unity that shows how to do that:
http://www.youtube.com/watch?v=1BMJFgK68IU
Then after instantiating the projectile add the following code to make it play the sound as soon as it instantiates:
var audio : AudioSource = instantiatedProjectile.GetComponent(AudioSource);
audio.loop = false;
audio.Play();
This way, since each projectile has it's own AudioSource, there's no problem if you shoot again while the audio from the first is still playing, you will hear the end of the first shot and also the new shot at the same time, which is realistic.
Your answer
Follow this Question
Related Questions
how to make gunshots 0 Answers
A node in a childnode? 1 Answer
Question about Gun Sounds 1 Answer
Animation plays at original position? 1 Answer
FPS PISTOL 1 Answer