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 (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=G1-VzyK1Yuk%5B/youtube%5D)
yo lo uso en el controlador de nave de mi juego (//<___base_url___>/topic/34411-android-space-wing/) 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
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.
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 :/