Я следовал за ответом на форумах Unity о том, как вращать объект в соответствии с положением мыши. Код работает для изменения поворота, но он использует некоторый другой параметр для поворота объекта, как вы можете видеть в этой записи.
Вот мой код для обнаружения мыши и редактирования позиции (из функции Game.cs
* update()
:
playerLocation = PlayerScript.position;
playerRotation = PlayerScript.rotation;
mousePosition = Input.mousePosition;
mousePosition.z = 5.23f;
Vector3 objectPosition = Camera.main.WorldToScreenPoint (playerLocation);
mousePosition.x = mousePosition.x - playerLocation.x;
mousePosition.y = mousePosition.y - playerLocation.y;
float angle = Mathf.Atan2(mousePosition.y, mousePosition.x) * Mathf.Rad2Deg;
playerRotation = new Vector3(0f, 0f, angle);
Вот код для применения позиции (из функции PlayerScript.cs
update()
.: * 10101 *
playerLocation = PlayerScript.position;
playerRotation = PlayerScript.rotation;
mousePosition = Input.mousePosition;
mousePosition.z = 5.23f;
Vector3 objectPosition = Camera.main.WorldToScreenPoint (playerLocation);
mousePosition.x = mousePosition.x - playerLocation.x;
mousePosition.y = mousePosition.y - playerLocation.y;
float angle = Mathf.Atan2(mousePosition.y, mousePosition.x) * Mathf.Rad2Deg;
playerRotation = new Vector3(0f, 0f, angle);
Если вам нужна дополнительная информация, пожалуйста, прокомментируйте ее.