- Home /
Question by
JannickL · Dec 10, 2017 at 12:04 PM ·
camerarotationquaternioncamera rotatelook
Rotate player to screen pos
Hey, this is for a top down game.
I want the player to always face the point where the mouse is (without use of raycast).
Got the code working for a controller but not for mouse:
private void RotatePlayer() {
Vector2 mousePos = Camera.main.ScreenToViewport(Input.MousePosition);
float angle = Mathf.Atan2(mousePos.x, mousePos.y) * Mathf.Rad2Deg;
Quaternion desiredRot = Quaternion.AngleAxis(angle, transform.up);
rb.rotation = Quaternion.Lerp(rb.rotation, desiredRot, rotationSpeed * Time.fixedDeltaTime);
}
Actually I think the calculation of the angle is wrong. How can I correctly get the angle of the mouse and an object in 3D space (viewport)?
Any suggestions? Greets
Comment
Your answer
Follow this Question
Related Questions
Top down camera for object moving on sphere 1 Answer
How to make 90 degree snapping camera, center on object? 0 Answers
Camera.WorldToScreenPoint Equivalent 1 Answer
move the object where camera look 0 Answers
View Matrix Camera rotation problem 0 Answers