unity3d 可见射线
从屏幕中射出一条可见的射线:
核心代码
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
注:别把起点定位与摄像机上,否则看不见