En este momento estás viendo Congelación del movimiento lateral después de girar GameObject

 – Unity

Congelación del movimiento lateral después de girar GameObject – Unity

Congelación del movimiento lateral después de girar GameObject

– UnityAssets3Free

hola , me llamo kein y esta vez os traigo
esta unity pregunta

Estoy tratando de congelar la posición de un GameObject hacia el eje z, pero al girar el GameObject, el eje z debería girar con él (o al menos la posición de congelación)

Básicamente, quiero que mi objeto solo pueda moverse hacia adelante y hacia atrás y hacia arriba y hacia abajo sin importar en qué dirección esté mirando.

Una posición congelada de RigidBody es relativa al eje universal y no al eje rotado del objeto.

agradezco la ayuda, gracias

Vista de arriba hacia abajo del objeto, antes y después de la rotación

1 respuesta 1

Puede obtener el «eje z» de GameObject con transform.forward. Si este no es el eje que desea, intente transform.right o transform.up.

No está claro lo que estás pidiendo. Aquí hay dos casos que podrían responder a su pregunta:

Para limitar la velocidad al «eje z»:

//reference to the Rigidbody to restrict
private Rigidbody rig;
void Start()
    //find the Rigidbody attached to this GameObject
    rig = GetComponent<Rigidbody>();


//Updates every physics frame
void FixedUpdate()
    //set the velocity to the component of the velocity that is parallel to the forward direction
    rig.velocity = transform.forward * Vector3.Dot(transform.forward, rig.velocity);

Si no desea ningún movimiento en el «eje z», reemplace el rig.velocity = ... alinear con rig.velocity -= ...

Coloque este código en un MonoBehaviour (script) adjunto a su GameObject.

Tenga en cuenta que si el GameObject es golpeado físicamente, puede girar, lo que hace que el «eje z» cambie rápidamente. Para evitar esto, puede usar la rotación congelada de Rigidbody.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,espero que te halla servido

Deja una respuesta