1、在发射射线的位置创建一个空物体用于存储发射点的位置信息。

Unity3D制作红色射线-LMLPHP

2、制作射线,为发射射线物体添加LineRenderer组件  制作Material材质并把其类型改为Particles/Addictive模式并为其加颜色把纹理放到LineRenderer的Material中,修改LineRenderer 的Width属性改成细线。

Unity3D制作红色射线-LMLPHP

Unity3D制作红色射线-LMLPHP

3、写脚本发射射线

    public Transform rayPos;
public LineRenderer rayLine;
public int rayLength = 10; void Update()
{
Ray ray = new Ray(rayPos.position, rayPos.forward);
rayLine.SetPosition(, ray.origin);//SetPosition中第一个参数表示射线的发射点还是终点 0表示起始点,1表示终点
RaycastHit hit;
if (Physics.Raycast(ray, out hit, rayLength))
{
rayLine.SetPosition(, hit.point);
}
else
{
rayLine.SetPosition(, ray.origin + ray.direction * rayLength);
}
}

Unity3D制作红色射线-LMLPHP

05-11 15:02