首页 > 解决方案 > 在统一 3d 中模拟 linerenderer 严重出错(具有不同的开始高度和结束高度)

问题描述

所以试图为玩家绘制一条移动路径,这条路径用linerenderer表示。线是根据鼠标位置绘制的。但是将相机放在自上而下的视图中会弄乱 linerenderer ,使其不可见。问题是鼠标位置的高度不同。我如何使鼠标位置不具有不同的高度,例如它必须具有恒定的 y 轴值。

这是代码。Liner 是 linerenderer

if (Input.GetButton("Fire1")) // 鼠标 {

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hitinfo;
        if (Physics.Raycast(ray, out hitinfo))
        {
            if (Dist(hitinfo.point) > 1f)
            {

                points.Add(hitinfo.point);
                liner.positionCount = points.Count;
                liner.SetPositions(points.ToArray());
            }
        }

然后我有另一个脚本,在这个鼠标路径上移动角色。不幸的是,该行的起始位置与结束位置的高度不同。那么如何模拟在 mouseposition 上绘制但具有相同高度的线(以获得 2d 屏幕效果)?

标签: unity3dunity3d-2dtools

解决方案


推荐阅读