Hello, similar questions are asked but I still can not resolve mine. I am trying to rotate my game object to a mouse position but I think i have something wrong. I want to rotate my object only at Y-axis.
public class Drag : MonoBehaviour
{
private Vector3 offset;
private Vector3 movementDirection;
public Vector3 mousePosition;
public Camera cam;
void Update()
{
//smoothLookTowardDirectionOfMovement();
if (Input.GetMouseButton(0))
{
Plane plane = new Plane(Vector3.up, new Vector3(0, 18.4f, 0));
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
float distance;
if (plane.Raycast(ray, out distance))
{
transform.position = ray.GetPoint(distance);
}
mousePosition = cam.ScreenToWorldPoint(Input.mousePosition);
calcuateNewMovementVector();
gameObject.transform.rotation = Quaternion.LookRotation(movementDirection);
}
}
void calcuateNewMovementVector()
{
movementDirection = new Vector3(0, mousePosition.y,0).normalized;
}