Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: eder en Septiembre 02, 2016, 12:02:13 AM

Título: Problema con el salto de mi Cubo Unity3
Publicado por: eder en Septiembre 02, 2016, 12:02:13 AM
Estoy creando un pequeo juego y en una parte hay un cubo que salta y tu lo controlas con el teclado el salto
 
Cuando salta desde el suelo no pasa nada todo correcto pero al subirse a un objeto y luego le das tu a saltar, el cubo pega un salto demasiado grande e incoerente porque deberia saltar exactamente igual que si salta desde el suelo y no se porque pasa porque metodo de saltar solo hay uno y es muy basico solo le aplico una fuerza en el eje "y" y ya esta.
 
 
Título: Problema con el salto de mi Cubo Unity3
Publicado por: iRobb en Septiembre 02, 2016, 12:05:52 AM
Addforce tiene unas opciones más, no muchas pero alguna más. A ver el código?
Título: Problema con el salto de mi Cubo Unity3
Publicado por: eder en Septiembre 02, 2016, 12:35:36 AM
     
 

  if (Input.GetKey(KeyCode.J) && enableJump)
        {
            enableJump = false;
            player.AddForce(new Vector3(0f, 100f, 0f) * jumpImpulse * Time.deltaTime);
            isJumping = true;
        }

 
si pongo GetKeyDown no pasa
 
pero eso no quiero porque yo quiero que si mantienes pulsado que siga saltando
 
 
Título: Problema con el salto de mi Cubo Unity3
Publicado por: iRobb en Septiembre 02, 2016, 03:28:37 AM
Ese código es tuyo?
Título: Problema con el salto de mi Cubo Unity3
Publicado por: eder en Septiembre 02, 2016, 10:23:27 AM
si, solo te he pasado la parte que hace que el cubo salte
 
 
Título: Problema con el salto de mi Cubo Unity3
Publicado por: Braltor en Septiembre 02, 2016, 03:09:45 PM
no esta claro como usas esos bool que pones ahi, talvez son los q te estan afectando si tienes otras condiciones y asignaciones fuera de ese codigo
Título: Problema con el salto de mi Cubo Unity3
Publicado por: iRobb en Septiembre 02, 2016, 05:25:21 PM
A ver, el getkey para el proceso de push/release la tecla. Si quieres que sea en el push, getkeydown. Por otro lado, si le añades deltaTime será variable la fuerza del impulso. Por eso salta con distintas fuerzas.
Título: Problema con el salto de mi Cubo Unity3
Publicado por: eder en Septiembre 03, 2016, 11:07:32 AM
Cierto, no me acordaba del deltaTime
 
Que otra opcion tengo para arreglar eso? porque si no pongo el deltaTime el cubo saltara diferente segun el dispositivo que corra el juego
 
 
Título: Problema con el salto de mi Cubo Unity3
Publicado por: kaito en Septiembre 04, 2016, 03:19:11 PM
Al rigidbody puedes añadir impulso de 4 formas diferentes(ForceMode): https://docs.unity3d.com/ScriptReference/ForceMode.html (https://docs.unity3d.com/ScriptReference/ForceMode.html)
 
Utilizando ForceMode.Velocity, solo debes añadir la velocidad necesaria. La velocidad necesaria = Velocidad - VelocidadActual.
 
Es decir, si quieres una velocidad de salto(0,3,0), la velocidad necesaria = (0,3,0) - Rigidbody.velocity. Sería, Rigidbody.AddForce((0,3,0)-Rigidbody.Velocity,Forcemode.Velocity)
 
Aunque, también, lo más cómodo y sencillo es mani***r directamente Rigidbody.velocity, es decir, aplica directamente Rigidbody.velocity = (0,3,0)
Título: Problema con el salto de mi Cubo Unity3
Publicado por: eder en Septiembre 04, 2016, 03:40:58 PM
y lo meto todo en el fixedUpdate no? todo lo que sea de trabajar con el rigidbody
 
para que no afecte a la fluidez en los distintos dispositivos no?