Noticias

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

Ayuda AddRelativeTorque

Iniciado por DGE, Junio 28, 2016, 09:13:39 PM

Tema anterior - Siguiente tema
Junio 28, 2016, 09:13:39 PM Ultima modificación: Septiembre 16, 2016, 02:24:08 PM por pioj
Bueno pues eso estoy moviendo una nave con física y uso AddRelativeTorque para girarla pero al momento de rotar la nave se modifican los ejes vamos que la nave se inclina la idea es que no importa si giro así arriba o a los lados, evitar que la nave se incline alguna forma de que esto no pase? con transform,rotation = quaternion.Euler(); no pasa eso pero no se ve bien :/ el movimiento
 
https://www.youtube.com/watch?v=G1-VzyK1Yuk

yo lo uso en el controlador de nave de mi juego y no me da problemas... usalo con el parametro ForceMode.VelocityChange

ya probé con los diferentes parámetros pero sigue igual yo uso Force ya que usa la masa y se siente mas realista dejo un video de rigidbody y transform es a lo que me refiero :/
 


   
eature=oembed" width="480">

 
que ve

no se q estaras haciendo, mi nave se mueve como esperarias en tu ejemplo del transform... nada mas armo el vector con las entradas de los ejes y lo agrego al torque con ese parametro, sin mas

Junio 29, 2016, 01:45:39 AM #4 Ultima modificación: Junio 29, 2016, 02:09:05 AM por DGE
ese es mi script
 

#pragma strict
var FMov : float;
var FRot : float;
function FixedUpdate(){
var H : float = Input.GetAxis("Horizontal");
var V : float = Input.GetAxis("Vertical");
var X : float = Input.GetAxis("Mouse X");
var Y : float = Input.GetAxis("Mouse Y");
GetComponent.<Rigidbody>().AddRelativeForce(H * FMov * Time.fixedDeltaTime,0,V * FMov * Time.fixedDeltaTime, ForceMode.Force);
GetComponent.<Rigidbody>().AddRelativeTorque(Y * FRot * Time.fixedDeltaTime,X * FRot * Time.fixedDeltaTime,0, ForceMode.Force);
}

yo uso Horizontal y Vertical para el torque

Como dice la documentación,
 
AddRelativeTorque: Adds a force to the rigidbody relative to its coordinate system. Es decir, que considera las coordenadas locales del GameObject.
 
Utiliza AddTorque en lugar de AddRelativeTorque, que no considera las coordenadas del GameObject.

Junio 30, 2016, 01:58:58 AM #7 Ultima modificación: Junio 30, 2016, 02:00:48 AM por DGE
ya probé pero no sige igual es como si moviera los ejes del objeto en vez de mover el objeto sobre los ejes, no entiendo  :/

Etiquetas: