Usuario
Como Incrementar una variable en base a otra

Pregunta
-
Hola Buenas, estoy buscando la manera de generar una especie de sistema de alarma de proximidad, he logrado obtener la distancia entre los dos puntos, y hacer que funcione el sonido de aviso, el cual aumenta dependiendo de la distancia, a menor distancia mayor volumen en el audio, así avisar de una posible colisión.
pero es sistema que realice no es optimo, me gustaría que el incremento no fuera brusco, y se me acaban las ideas.
anexo el código que he realizado.
private float Distance;
private AudioSource YourClose;private void Update()
{
SoundDisctance();
}
private void SoundDisctance()
{
var modulo = Player.transform.position - gameObject.transform.position;
Distance = modulo.magnitude;
if (Distance <= 10)
{
YourClose.volume = 1;
}
else if (Distance <= 37.5)
{
YourClose.volume = 0.5f;
}
else if (Distance <= 75)
{
YourClose.Play();
YourClose.volume = 0.1f;
}
else
YourClose.Stop();
}
Todas las respuestas
-
Hola Vaiperdix
Tendrías que hacer la verificación de proximidad con pasos o variación más cortos, en lugar de verificar cuando Distance vale 10, 37.5, y 75, hacerlo, por ejemplo, para 10, 20, 30, 40, 50, 60, y 70, o más detallado, como te guste más. Y también el volumen lo vas bajando más "lento", 1, 0.9, 0.8, 0.7, ...
Saludos
Pablo
- Propuesto como respuesta Óscar NavarroModerator jueves, 24 de septiembre de 2020 16:27
-
-
-
-
hola
Pero que es lo que lanza la ejecucion de SoundDisctance() ?
el hacerlo brusco o no va a dependener del evento que este evaluando la distancia entre los objetos, si ese evento se genera una vez por minuto tendras un determinado grafico mas aserrado en cambio si es algo fluido tendras una onda y eso permitira que la fluctuacion del sonido sea consecuente
Tambien pones un if para determinar el salto en el sonido, eso tambine lo hace brusco, deberias poner un equivalente que tambien sea una onda por ejemplo si vas a evaluar que la distancia sea de 1metro y a partir de alli sonar entonces tu 1m seria el sonido mas bajo y el 0 el mas alto todo ese rango determina la escala que variacion del sonido, pero no usas ningun if para asignar el volumen
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -