LineRenderer

public class L13 : MonoBehaviour
{
    private Material material;
    // Start is called before the first frame update
    void Start()
    {
        //LineRenderer是Unity提供的用于画线的组件
        //可以在场景中绘制线段
        //一般可用于:绘制攻击范围,武器红外线,辅助功能,其他画线功能

        //LineRenderer参数相关
        //Loop - 终点和起点自动相连
        //Positions - 线段的点,构成线段的点 默认使用世界坐标系
        //Width - 线段宽度曲线调整
        //Color - 颜色变化
        //Corner Vertices(角顶点,圆角) 指示一条线中绘制角时使用了多少额外的顶点,增加这个值会让线角看起来更圆
        //End Cap Vertices(端点圆角) 起点和终点的圆角
        //Use World Space - 勾选不会随着物体移动,不勾选会随着物体移动
        //Materials - 线使用的材质球

        //LineRenderer代码相关
        //动态添加一个线段
        GameObject line = new GameObject();
        line.name = "Line";
        LineRenderer lineRenderer = line.AddComponent<LineRenderer>();

        //首尾相连
        lineRenderer.loop = true;

        //开始和结束的宽
        //开始的宽
        lineRenderer.startWidth = 0.02f;
        //结束的宽
        lineRenderer.endWidth = 0.02f;

        //开始和结束的颜色
        lineRenderer.startColor = Color.white;
        lineRenderer.endColor = Color.white;

        //设置材质
        lineRenderer.material = Resources.Load<Material>("M");

        //设置点,设置点先要设置点的个数
        lineRenderer.positionCount = 4;
        //设置完点的个数之后就开始设置每个点的位置
        //如果设置点的位置不够设定的点的数量,没有设定的点会默认是0,0,0
        lineRenderer.SetPositions(new Vector3[] {new Vector3(0,0,0),
                                                 new Vector3(0,0,5),
                                                 new Vector3(5,0,5)});
        //指定设置
        lineRenderer.SetPosition(3, new Vector3(5, 0, 0));

        //是否使用世界坐标系
        lineRenderer.useWorldSpace = true;

        //是否受到光照影响
        lineRenderer.generateLightingData = true;


    }
}

posted @ 2025-03-22 13:17  cannedmint  阅读(42)  评论(0)    收藏  举报