Аргумент 1: невозможно преобразовать из 'float' в 'UnityEngine.Quaternion' - PullRequest
0 голосов
/ 11 октября 2019

Я делаю 2D-игру, и мне нужно, чтобы объект повернулся к игроку. Player - это место, куда повернет объект

public Transform Player;
public Transform Turell;
Rigidbody TurelPhisics;


// Update is called once per frame
void Update()
{
    var turn = Quaternion.Lerp(Turell.rotation, Quaternion.LookRotation(Vector3.forward, Player.position - Turell.position), Time.deltaTime * 1.8f);

    TurelPhisics.MoveRotation(turn.eulerAngles.z);
}

1 Ответ

1 голос
/ 11 октября 2019

Rigidbody.MoveRotation ожидает Quaternion. Вы передаете float в

TurelPhisics.MoveRotation(turn.eulerAngles.z);

Тот, который будет принимать float, будет Rigidbody2D, где Rigidbody2D.MoveRotation плавает, так как в оси Z есть только вращение.

Так как вы указали

Я делаю 2D игру

просто измените тип на

Rigidbody2D TurelPhisics;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...