浪费了Unity Player的运动,并且播放器旋转以面对鼠标

时间:2019-10-11 13:20:05

标签: unity3d raycasting

大家好,我是团结的新手。我正在尝试使用一个角色控制器来制作飞机,该角色控制器会四处移动,而当您移动鼠标时,玩家将面对该方向。 我成功使用了带箭头键的lookat,但鼠标非常接近,只有一个bug我可以看到,但不确定如何解决。

它是3d环境,相机位于播放器后面一定角度。 到目前为止,我有: 做了一架“新飞机” 我向它发出光线 一切正常,但播放器可以俯身和翻转,因为我的光线投射无法使用 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

1 个答案:

答案 0 :(得分:0)

clamp功能可以阻止播放器翻转。

但是我最后使用了一个检测来获得武器高度,然后在跳跃时进行调整以使其保持笔直。