Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: antoniomdk en Julio 25, 2015, 03:19:50 AM

Título: AudioFadeOut [Script]
Publicado por: antoniomdk en Julio 25, 2015, 03:19:50 AM
Hola buenas vengo a aportaros un script bastante sencillito pero que es muy útil. Este script lo he escrito para mi juego pero me gustaría compartirlo. Su función es la de parar o reproducir un sonido con una interpolación. El uso que le he dado a sido para el sonido de las armas. La mayoría de aquí no somos compositores y necesitamos audio de algún sitio y este es mi caso. Muchas veces los audios vienen en loops de 30 disparos por ejemplo o de un solo disparo, si reproduces 1 disparo cada bala te vas a dar cuenta que el sonido no termina cuando empieza el siguiente. Por eso he cogido los largos bucles de 30 disparos y cuando dejas de disparar lo cortas suavemente y parece el eco de las balas y así el audio no se para en seco. Algo muy específico pero práctico jeje.
using UnityEngine;
using System.Collections;

public class AudioFadeOut : MonoBehaviour {
private AudioSource audioSource;
private float speed;
private float audioVolumeTo;

// Use this for initialization
void Start () {
   audioSource = GetComponent<AudioSource>();
}

// Update is called once per frame
void Update () {
   if (audioVolumeTo != audioSource.volume) {
      audioSource.volume = Mathf.Lerp(audioSource.volume,audioVolumeTo, Time.deltaTime * speed);      
   }
   if (audioSource.volume < 0.05f) {
      audioSource.Stop();      
   }
}

public void InstantPlay(){
   audioVolumeTo = 1;
   audioSource.volume = 1;
   audioSource.Play ();
}

public void SmoothPlay(float _speed){
   speed = _speed;
   audioVolumeTo = 1;
   audioSource.Play ();
}

public void InstantStop(){
   audioSource.Stop ();
   audioVolumeTo = 0;
}

public void SmoothStop(float _speed){
   speed = _speed;
   audioVolumeTo = 0;
}
}
 
Título: AudioFadeOut [Script]
Publicado por: mrpacogp en Julio 25, 2015, 09:51:46 AM
Creo que en el proyecto stealth del tutorial de unity había también algo de interpolación de audios. 
Título: AudioFadeOut [Script]
Publicado por: pioj en Julio 25, 2015, 12:45:30 PM
¿Queréis un consejo? Os doy 2 para optimizarlo todavía más: