Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Sonido distorsiona

Iniciado por ramunda, Junio 27, 2016, 01:19:21 AM

Tema anterior - Siguiente tema
Junio 27, 2016, 01:19:21 AM Ultima modificación: Junio 27, 2016, 05:35:25 AM por pioj
Muy buenas a todos, tengo un dilema muy raro....
 
Estoy intentando que suene un sonido normal y corriente cuando un árbol cae y hace su animación.
 
La cosa es que dicho sonido suena perfectamente por si solo, pero si le digo al script que me lo suene al caer el árbol suena distorsionado/con retardo/o como si estuviera en una cantera...
 
 
 
Aqui el script:
 

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class vidaenemiga : MonoBehaviour {
public static int vida = 5;
public Animation anim;
public float tiempocaida;
public AudioClip clip;
//   void Start()
//   {
//      AudioSource.PlayClipAtPoint (clip, Vector3.zero, 8.0f);
//   }
void Update()
{
   if (vida <= ) {
      vida = ;
      AudioSource.PlayClipAtPoint (clip, Vector3.zero, 1.0f);
      Debug.Log ("arbol caeee");
      anim.Play ("palmeracae");
}
}
   //Time.timeScale = 10f;
}

 
Veréis que en el Void Start lo tengo Togled es porque probé a ver si sonaba bien llamándolo desde el inicio antes que nada y si, el sonido va perfecto...Añado mas información , el script es simplemente un árbol que al darle con un axa se le quita vida nada mas y despues de morir(if vida <=0) hace sus cosillas  :), todas menos reproducir bien el sonido.
 
Y añado , si , tengo un Audio Source en el objeto.
 
Espero que tengáis una idea porque me esta llevando de cabeza el dichoso sonido...
 
Muchas gracias de antemano.
 
P.D he probado varios otros métodos Audio.Play, tranform position etc...y nada sigue sonando mal.).

a cuantos fps va el juego?

Junio 27, 2016, 11:46:36 PM #2 Ultima modificación: Junio 27, 2016, 11:48:42 PM por ramunda
Cita de: Braltor date=1467036865a cuantos fps va el juego?
   


Graphics : 800  FPS (0.9ms).
 
 
 
 

has probado cambiando la compresion? o cambiando el formato del asset?

Cita de: Braltor date=1467065276has probado cambiando la compresion? o cambiando el formato del asset?
   


Braltor, gracias por tu pronta respuesta, 
 
Te seré franco, no se como cambiar la compresión bi el formato de el asset :(
 
 

Cita de: ramunda date=1467065644Braltor, gracias por tu pronta respuesta, 
   
   
      Te seré franco, no se como cambiar la compresión bi el formato de el asset :(
   
   
       
   


Está en el Inspector, propiedades del archivo de audio, abajo de todo hay un slider para elegir la compresión.

Junio 28, 2016, 11:06:20 AM #6 Ultima modificación: Junio 28, 2016, 01:33:17 PM por ramunda
Cita de: pioj date=1467079853Está en el Inspector, propiedades del archivo de audio, abajo de todo hay un slider para elegir la compresión.
   


Gracias por la aclaración Pioj estoy trasteando estas dos opciones a ver si cambia algo. 
 
Bueno despues de probar todo lo probable en lo referido, nada sigue igual, añado un dato , cuando el árbol cae y empieza a sonar el sonido todo se ralentiza osea va a pedales....puede tener algo que ver con que el sonido y la animación no se lleven bien?
 
aquí lo llamo:
 

void Update()
{
   if (vida <= ) {
      vida = ;
      Debug.Log ("arbol caeee");
      anim.Play ("palmeracae");
      audio.PlayOneShot(audio2, 0.5F);
}
}

 
Gracias
 
Vale mas descubrimientos...si lo pongo en el Void Start suena bien!!!, pero claro no suena cuando yo quiero osea despues de la animación...tiene que ser algo relacionado con que se reproduzca al mismo tiempo que la animación cuando cae el árbol...pro no atino que demonios es!!
 
 
 
 

en start se ejecuta 1 sola vez, de pronto estas ejecutando muchas veces en update... mira en el log a ver si hay muchos mensajes de ese debug q tienes ahi

Cita de: Braltor date=1467119868en start se ejecuta 1 sola vez, de pronto estas ejecutando muchas veces en update... mira en el log a ver si hay muchos mensajes de ese debug q tienes ahi
   


si... así es el log se repite muchas veces árbol cae se repite varias .....que estoy haciendo mal?
 
 

la condicion de tu if esta mal, arreglala para q no entre tantas veces... mira si en otro punto se esta cambiando la variable q haga q vuelva a entrar

Cita de: Braltor date=1467120647la condicion de tu if esta mal, arreglala para q no entre tantas veces... mira si en otro punto se esta cambiando la variable q haga q vuelva a entrar
   


Estimado Braltor llevo horas dándole vueltas a tu respuesta...cuanto mas pienso peor me sale...he intentado esto.
 
He suprimido el vida=0 que lo veo inecesario o no ya no se que ago :(, pero sigo fallando...se sigue repitiendo el log y sonando mal.
 

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class vidaenemiga : MonoBehaviour {
public static float vida = 5;
public Animation anim;
public float tiempocaida;
public AudioClip audio1;
AudioSource audio;
 
void Start()
{
 audio = GetComponent<AudioSource> ();
}
void Update()
{
   if (vida <= )
   {
      //vida = 0;
       audio.PlayOneShot(audio1, 0.3F);
      anim.Play ("palmeracae");
      Debug.Log ("arbol caeee");
}
}
}

 
 

puedes poner un bool q al entrar en el if se pone true, entonces preguntas en la condicion si es false para saber si ya se habia ejecutado

Cita de: Braltor date=1467152505puedes poner un bool q al entrar en el if se pone true, entonces preguntas en la condicion si es false para saber si ya se habia ejecutado
   


creo que lo entendí y probé esto:
 

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class vidaenemiga : MonoBehaviour {
public static float vida = 5;
public Animation anim;
public float tiempocaida;
public AudioClip audio1;
AudioSource audio;
bool vida_running = false;
 
void Start()
{
 audio = GetComponent<AudioSource> ();
}
void Update()
{
if(vida <= )
vida_running = true;
{
      //vida = 0;
       audio.PlayOneShot(audio1, 0.3F);
      anim.Play ("palmeracae");
      Debug.Log ("arbol caeee");
}
}
}

 
y el resultado mas nefasto todavia ...se activa la animación el debug y toda la pesca automáticamente...se salta el if(vida<0)......agua por todas partes :(
 
 

no entiendes lo q es un bloque ni una clausula condicional, debes comenzar por investigar eso, adelante!

Cita de: Braltor date=1467161031no entiendes lo q es un bloque ni una clausula condicional, debes comenzar por investigar eso, adelante!
   


Bueno, pues "Game Over", agradecer es de sabios y aprender de el que sabe es aun mas razonable, esperaba un ejemplo o teoría rápida, aun que estuviera fuera de contexto, pero en fin , gracias de nuevo.

Etiquetas: