unity rotate vector
Vector3 rotated = Quaternion.AngleAxis(-45, Vector3.up) * vector;
unity rotate vector
Vector3 rotated = Quaternion.AngleAxis(-45, Vector3.up) * vector;
unity 2d rotate towards direction
/// <summary>
/// Rotate a gameobject to face a direction in 2D space with offet
/// </summary>
/// <param name="target"></param>
/// <param name="RotationSpeed"></param>
/// <param name="offset"></param>
private void RotateGameObject(Vector3 target, float RotationSpeed, float offset)
{
//https://www.youtube.com/watch?v=mKLp-2iseDc
//get the direction of the other object from current object
Vector3 dir = target - transform.position;
//get the angle from current direction facing to desired target
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
//set the angle into a quaternion + sprite offset depending on initial sprite facing direction
Quaternion rotation = Quaternion.Euler(new Vector3(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);
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us