Я строю игру сверху вниз с моим основным игроком, вращающимся в направлении указателя мыши, но по какой-то причине игрок смотрит на указатель справа (его ось x), и мне нужно, чтобы он смотрел из своего Y.
Я пробовал несколько способов и все так же, как и в, я пытался изменить вектор с vector3 на vector2, но это приведет к тому, что мне это не нужно, и я даже попытался использовать кватернионы.
void controlScheme()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.up * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(Vector3.down * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * PlayerSpeed * Time.deltaTime,Space.World);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * PlayerSpeed * Time.deltaTime,Space.World);
}
transform.up = dir;*/
var dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
единственная странная вещь - отсутствие кода, позволяющего двигателю заставить игрока поворачиваться к мышке с правой стороны игрока.