unity3d 可见射线

unity3d 可见射线_第1张图片


从屏幕中射出一条可见的射线:

核心代码

 public LineRenderer line;//添加画线:LineRenderer

 void Update () {
        if (EventSystem.current.IsPointerOverGameObject() == true)
        {
            line.enabled = false;//如果不在UI界面上的话则不启用
        }
        else
        {
            line.enabled = true;//启用画线
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//定义射线,定位到鼠标的位置
            RaycastHit hit;//定义射线碰撞
            Physics.Raycast(ray, out hit);//输出射线
            line.SetPositions(new Vector3[] { transform.position, hit.point });//设置射线的起点与终点
        }
    }

核心组件:LineRenderer

注:别把起点定位与摄像机上,否则看不见

你可能感兴趣的:(unity3d认知)