Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ramunda

#106
General (Antiguo) / Tiempo de caida
Julio 02, 2016, 12:23:26 AM
Cita de: Braltor date=1467386626si usas transform no estas usando fisicas, entonces el drag te sirve de sombrero... para hacer que gire lento reduce la velocidad "speed"
   


Gracias por la respuesta Braltor, se me fue un poco la mano con el 110...le puse 1, pero la cosa esque apenas se inclina, osea apenas cae unos milimetros no cae hasta el suelo y con el 110 por error...si llegaba al suelo a una velocidad de espanto pero llegaba.
 
Cita de: DrioN date=1467387378Buenas Ramunda, capaz con Quaternion.Slerp podes resolverlo, lo que si tendrías que modificar un poco el diseño ya que se debería ejecutar varias veces la función dentro del update.
   
   
      Te dejo el link de documentación.
   
   
      https://docs.unity3d.com/ScriptReference/Quaternion.Slerp.html
   
   
      Saludos!
   


DrioN gracias a ti también por la respuesta, mira por donde entre lo del speed de Braltor y lo que me has dicho de el update.....me habeis abierto los ojos!!
 
Para empezar tenía mal esto:
 

transform.Rotate(Vector3.back,110*speed*Time.deltaTime);

 
el orden de los factores SI altera el resultado, la manera correcta es:
 



   
      transform.Rotate(Vector3.back,5*Time.deltaTime*speed); ////GRACIAS Braltor por tu consejo llegue a esto.
   

[/quote]
 
Luego DrioN dijo: 
 
ya que se debería ejecutar varias veces la función dentro del update.
 
Efectivamente , necesita una rotación constante sobre el eje, así que la formula correcta es:
 

void Update ()
{
   if (vida <= 0f) {
   if (!arbolmuerto)
   arbolanima ();
   transform.Rotate(Vector3.back,5*Time.deltaTime*speed);
      {
      }

 
Así rota perfectamente, si quiero mas rápido cambio valores de speed o delta time y listo.
 
y para determinar si toca el suelo y no liarme con Raycast simplemente acortamos el tiempo de :
 



   
      Invoke ("destruir",7); donde 7 son los segundos y destruimos el GO, :)
   

[/quote]
 
No me deja poner 2 Best Answers pero que quede claro que las 2 me han ayudado mucho por igual.
 
 
 
Gracias Braltor y DrioN !!!!
#107
General (Antiguo) / Tiempo de caida
Julio 01, 2016, 12:28:37 PM
Buenos dias , agradeceria una idea de como hacer que un árbol al caer caiga despacio y no de golpe como me esta pasando.
 
Estoy usando trasnform.Rotate con un float de speed para el ángulo y demás , también he probado con el drag de el rigidbody pero sin éxito.
 
Alguna idea por favor?
 
 
 

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;
private bool arbolmuerto;
public GameObject tree;
public float speed =12f;
 
void Start()
{
audio = GetComponent<AudioSource> ();
tree = this.gameObject;
//GetComponent<Rigidbody>().isKinematic = true;
}
void Update ()
{
   if (vida <= 0f) {
      if (!arbolmuerto)
         arbolanima ();
      {
      }
   }
}
void arbolanima ()
{
   arbolmuerto = true;
   audio.PlayOneShot (audio1, 0.3F);
   //anim.play ("arbolanim");
   Debug.Log ("arbol caeee");
   //GetComponent<Rigidbody> ().drag = 50;
   transform.Rotate(Vector3.back,110*speed*Time.deltaTime);
   Invoke ("destruir",7);
}
       void destruir()
{
 
   Destroy(gameObject);
}
}
             
   
   

 
 
 
 
 
 
 
 
 
 
#108
General (Antiguo) / Sonido distorsiona
Junio 29, 2016, 02:38:36 PM
Cita de: Ufita date=1467200911Lo que te pasa es que ejecutas ese código muchas veces. Lo que te dicen que intentes entender como funciona el if, porque ese ultimo mensaje el código es desastroso. 
   
   

if (estoymuerto == true){
hago las cosas del arbol, animar, sonido, etc
estoymuerto = false; / aviso que ya no tengo que hacer nada,
}

   
      Si la vida del árbol es menor o igual (imagino que es a 0, nunca he usado un if así)  entonces hago lo que sea, ahí tu árbol tiene la vida a cero y en cada frame se ejecuta, ¿es cero? SI.. ejecuta el sonido,¿es cero? si, ejecuta el sonido.....
   
   
      Por eso te va todo lento, pero imagino que la animación también te está fallando ¿no?, el problema no viene con el sonido, sino con el if. Además imagino que la vida llega a cero en algún sitio ¿no? con cada golpe que le das. 
   
   
      El problema que veo ahí es lo que te digo, la vida llega a cero  y repites infinitamente ese código, como te han dicho mira como va el if y que pasa en el evento update() de unity.  
   


Ufita, antes que nada agradecerte el tiempo y la explicación ya veo el concepto y lo has explicado muy bien,
 
Así es , el árbol tiene 5 de vida: public static float vida = 5;
 
La animación, si funciona bien la cree manualmente y no da problemas, solo l sonido en este caso, y es por lo que decis , el árbol muere cada frame y eso retarda el sonido.
 
La vida se le baja a cada axazo aqui:
 

using UnityEngine;
using System.Collections;
public class sonidoarbol : MonoBehaviour {
public AudioClip madera;
public GameObject astillas;
public float lifetime;
public Animation anim;
public vidaenemiga vida;
public float lifetime2;
AudioSource audio;
 
void Start()
{
   astillas.SetActive (false);
   anim = GetComponent<Animation> ();
   audio = GetComponent<AudioSource> ();
    }
      
void OnTriggerEnter(Collider col)
{
   if (col.gameObject.tag == "axa")
   audio.PlayOneShot (madera, 0.8F);
   astillas.SetActive (true);
   vidaenemiga.vida -= 1;
}
void OnTriggerExit(Collider col)
{
astillas.SetActive (false);
}
   
}

 
cada axazo cuenta 1 al llegar a 5 muere.
 
aquí le quito 1: vidaenemiga.vida -= 1;
 
y evidentemente el objeto del axa lleva el tag "axa", esto va de perlas las atillas salen , el ruido de el axa va perfecto...
 
En fin basandome en tu amable explicación me rompere la cabeza aver como lo ago.
 
Saludo cordial
 
 
 
 
 
 
 
*Braltor ,*pioj,*Ufita.
 
Como bien decía, una breve explicación vale mas que mil enciclopedias.
 
Gracias a los 3, LO HE CONSEGUIDO
 
Mezclando las 3 explicaciones: que se repetía constantemente, que debía :   poner un bool q al entrar en el if se pone true .
 
Que revisara el if y la guinda final el ejemplo de Ufita:
 
Aqui esta el resultado!!
 
 
 

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;
private bool arbolmuerto;
 
void Start()
{
 audio = GetComponent<AudioSource> ();
}
void Update ()
{
   if (vida <= 0f) {
      if (!arbolmuerto)
         arbolanima ();
      {
      }
   }
}
void arbolanima ()
{
   arbolmuerto = true;
   audio.PlayOneShot (audio1, 0.3F);
   anim.Play ("palmeracae");
   Debug.Log ("arbol caeee");
}
}

 
En lugar de usar el true o false e optado por este if : if (!arbolmuerto)
 
le digo que si la vida es 0 , pues que esta muerto y llame al void el cual se encargara de cargar las demás acciones que debe hacer el árbol.
 
Tambien prove con un invoke....pero seguía sin funcionar bien , ahora el sonido va perfecto , la anim perfecta , todo ok!!
 
GRACIAS A LOS 3.
 
Por favor no cierren el post para futuros aprendices como yo que les puede venir bien estas explicaciones , para eso dejo el script resultante para que puedan ver mis fallos y las soluciones expuestas.
 
 
 
Saludos y.....hasta pronto :)
#109
General (Antiguo) / Sonido distorsiona
Junio 29, 2016, 12:35:44 PM
Cita de: pioj date=1467184423Aunque entendemos vuestras ansias por aprender, es mejor comenzar estudiando algo de programación básica antes de ponerse a crear nada complejo como un programa o un videojuego.
   
   
       
   


Te entiendo , lo entiendo, no pido que me lo deis masticado pero agradeceria una referencia o sitio donde aprederlo, aveces aprendes mas de una muestra que de una enciclopedia, solo pido eso.Si me das un ejemplo vere como se hace o enfocarme de donde puedo aprenderlo porque he estado mirando y las palabras de Braltor " no entiendes lo q es un bloque ni una clausula condicional, debes comenzar por investigar eso, adelante! " no se encuentran como tal. saludos.
#110
General (Antiguo) / Sonido distorsiona
Junio 29, 2016, 08:20:15 AM
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.
#111
General (Antiguo) / Sonido distorsiona
Junio 29, 2016, 01:12:13 AM
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 :(
 
 
#112
General (Antiguo) / Sonido distorsiona
Junio 28, 2016, 11:33:30 PM
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");
}
}
}

 
 
#113
General (Antiguo) / Sonido distorsiona
Junio 28, 2016, 03:21:06 PM
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?
 
 
#114
General (Antiguo) / Sonido distorsiona
Junio 28, 2016, 11:06:20 AM
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!!
 
 
 
 
#115
General (Antiguo) / Sonido distorsiona
Junio 28, 2016, 12:14:04 AM
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 :(
 
 
#116
General (Antiguo) / Sonido distorsiona
Junio 27, 2016, 11:46:36 PM
Cita de: Braltor date=1467036865a cuantos fps va el juego?
   


Graphics : 800  FPS (0.9ms).
 
 
 
 
#117
General (Antiguo) / Sonido distorsiona
Junio 27, 2016, 01:19:21 AM
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.).
#118
General (Antiguo) / Assets gratis de Unity
Marzo 18, 2016, 03:24:09 PM
[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35382" data-ipsquote-contentcommentid="128176">Fíjate bien, que sí que suele estar incluído en la descripción, o tras descargar el asset, ya dentro del package. Ejemplo:https://www.assetstore.unity3d.com/en/#!/content/18705">https://www.assetstore.unity3d.com/en/#!/content/18705Si lees algo más abajo de la descripción, te suele salir este cartelito en muchos de los assets: **CAUTION**
This asset are licensed under the original EULA "Unity-Chan License (UCL)".
 [/quote]Cierto y lo veo claro, muchas gracias *pioj, un saludo grande amigo!! 
#119
General (Antiguo) / como moverme
Marzo 18, 2016, 06:37:14 AM
Buenos dias Edgar, el error no comentas cual es pero yo empezaria con quitar la mayuscula de la primera "Transform"....Osea seria : 
transform.Translate lo que venga.
Espero te sirva un SaludooooAñadire:https://unity3d.com/es/learn/tutorials/modules/beginner/scripting/translate-and-rotate" rel="external nofollow">https://unity3d.com/es/learn/tutorials/modules/beginner/scripting/translate-and-rotateMirate este tuto seguro que te da una buena idea  
#120
General (Antiguo) / Assets gratis de Unity
Marzo 14, 2016, 02:18:36 PM
[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35382" data-ipsquote-contentcommentid="128158 date=1457935984]En principio se pueden usar sin problemas, pero siempre es conveniente mirar bien las indicaciones de las licencias de cada Asset, en el texto principal que viene adjunto con la descripción de dicho Asset.[/quote]Muchas gracias *pioj , la verdad es que en muchas no viene nada de lo que me comentas solo la descripcion de lo que es el asset en si y poca cosa mas si no pone nada se da por entendido que se puede usar no? Muchas gracias!!