Saltar al contenido

unidad 2d movimiento de arriba hacia abajo girar en dirección ejemplo de código

Hola, encontramos la solución a lo que buscabas, continúa leyendo y la encontrarás un poco más abajo.

Ejemplo 1: cómo hacer que un objeto gire hacia una posición en unidad 2d

Vector3 targ = staticCompassTarget.transform.position;
 targ.z =0f;Vector3 objectPos = transform.position;  
 targ.x = targ.x - objectPos.x;  
 targ.y = targ.y - objectPos.y;float angle = Mathf.Atan2(targ.y, targ.x)* Mathf.Rad2Deg;   
 transform.rotation = Quaternion.Euler(newVector3(0,0, angle));

Ejemplo 2: la unidad 2d gira hacia la dirección

/// <summary>/// Rotate a gameobject to face a direction in 2D space with offet/// summary>/// <paramname="target">param>/// <paramname="RotationSpeed">param>/// <paramname="offset">param>privatevoidRotateGameObject(Vector3 target,float RotationSpeed,float offset)//https://www.youtube.com/watch?v=mKLp-2iseDc//get the direction of the other object from current objectVector3 dir = target - transform.position;//get the angle from current direction facing to desired targetfloat angle = Mathf.Atan2(dir.y, dir.x)* Mathf.Rad2Deg;//set the angle into a quaternion + sprite offset depending on initial sprite facing directionQuaternion rotation = Quaternion.Euler(newVector3(0,0, angle + offset));//Roatate current game object to face the target using a slerp function which adds some smoothing to the move
        transform.rotation = Quaternion.Slerp(transform.rotation, rotation, RotationSpeed * Time.deltaTime);

Acuérdate de que puedes optar por la opción de valorar este tutorial si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *