public LineRenderer ptzCamLaSerRanging;
public Transform ptzCamLaSerRangingStart;
public override void Start()
{
//是否使用世界坐标
ptzCamLaSerRanging.useWorldSpace = true;
//设置开始和结束位置0代表第一个点,1代表第二个点
ptzCamLaSerRanging.SetPosition(0, ptzCamLaSerRangingStart.position);
Ray ray = new Ray(ptzCamLaSerRangingStart.position, ptzCamLaSerRangingStart.forward);
//声明一个射线信息存储对象
RaycastHit hitInfo;
//如果碰撞到
if (Physics.Raycast(ray, out hitInfo))
{
//获取到被碰撞物体 射线碰到地面
if (hitInfo.collider.gameObject.CompareTag("Ground"))
{
//画出射线 参数(射线起点,射线终点)
Debug.DrawLine(ray.origin, hitInfo.point, Color.yellow);
}
}
ptzCamLaSerRanging.SetPosition(1, hitInfo.point);
//开始和结束位置的颜色
//ptzCamLaSerRanging.startColor = Color.red;/* new Color(1, 0.8F, 0.1F, 0);*/
//ptzCamLaSerRanging.endColor = Color.red;
//开始和结束粗细大小
ptzCamLaSerRanging.startWidth = 0.01f;
//ptzCamLaSerRanging.endWidth = 0.015f;
}
Unity 射线结合LineRenderer发射线并且碰撞检测
最新推荐文章于 2025-07-11 15:02:26 发布