Hi!
I have script for rotation. It can normal work, for example, 9 times, but when I start it 10th time - player don’t rotate. At 11th time it work fine again… Can someone tell me why?
RaycastHit turnRayHit;
Vector3 mousePosition;
Rigidbody playerRigidbody;
Start()
{
playerRigidbody = GetComponentInParent<Rigidbody>();
}
void Update()
{
if (Input.GetKeyUp(KeyCode.Mouse0))
{
GetMousePosition();
Turn();
}
}
void GetMousePosition()
{
Ray turnRay = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(turnRay, out turnRayHit, 1000))
{
mousePosition = turnRayHit.point - transform.position;
Debug.DrawLine(transform.position, mousePosition, Color.red, 2f);
}
}
void Turn()
{
mousePosition.y = 0f;
Quaternion newRotation = Quaternion.LookRotation(mousePosition);
playerRigidbody.rotation = newRotation;
}