Привет всем, я новичок в единстве. Я пытаюсь создать самолет с контроллером персонажей, который перемещается, и когда вы двигаете мышью, игрок поворачивается в этом направлении. У меня есть успех с использованием lookat с клавишами со стрелками, но с помощью мыши, я очень близко, только одна ошибка, которую я вижу, но я не уверен, как исправить.
3D камера, камера находится под углом позади плеера. До сих пор я сделал: сделал «новую плоскость», в которой я использую raycast, все работает, но игрок может наклониться и перевернуться, потому что мой raycast падает на пол, используя Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
есть ли способ, которым я могу использовать raycast, но заставить игрока оставаться в вертикальном положении, а бросок линии остается в заданной точке, а не падает на пол?
float dist;
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (plane.Raycast(ray, out dist))
{
Vector3 point = ray.GetPoint(dist);
transform.LookAt(point);
Debug.DrawLine(transform.position, point, Color.red);
}
Я ожидаю, что игрок не будет смотретьвверх и вниз и игрок, чтобы вращаться, чтобы посмотреть на положение мыши.
Камера находится под фиксированным углом, поэтому ее 3d