unity quaternion euler change angles c# rotation angle movement

c# - quaternion - Calculando el movimiento XY basado en el ángulo de rotación?



transform rotation c# (2)

Digamos que tengo un objeto en el espacio 2D que puede girar y luego debe moverse de acuerdo con su ángulo de rotación.

Por ejemplo:

  • Si el ángulo es 0 (apuntando hacia arriba), entonces on_timer debería moverse 1 por Y y 0 por X.

  • Si el ángulo es 45, entonces debería moverse 1 en Y y 1 en X.

  • Si apunta 90 grados, luego 0 por Y y 1 por X.

  • Si apunta 135 grados, luego -1 por Y y +1 por X, etc.

¿Conoces alguna función para calcular esto?



bueno, parece moverse a diferentes velocidades para diferentes ángulos.

Para 0 degress (hacia arriba) se movió por 1, pero 45 grados movió sqrt (1 ^ 2 + 1 ^ 2) = 1.41.

Creo que quieres ver a Sin y Cos.

X += Speed * Math.Cos(angle); Y += speed * Math.Sin(angle);

Saludos Gert-Jan