Unity--使用Line Renderer实现画图划线效果

using UnityEngine;

public class Draw : MonoBehaviour
{
    
    public GameObject linePrefab;

    // 线条渲染器
    private LineRenderer line;
    // 顶点下标
    private int i;
    public GameObject obj_Parent;
    void Update()
    {
        // 鼠标左键按下瞬间
        if (Input.GetMouseButtonDown(0))
        {
            GameObject go = Instantiate(linePrefab, linePrefab.transform.position, transform.rotation);
            line = go.GetComponent<LineRenderer>();
            line.transform.parent = GameObject.Find(obj_Parent.name).transform;
            // 设置材质
           // line.material = new Material(Shader.Find("Particles/Additive"));
            // 设置颜色
            line.startColor = Color.red;
            line.endColor = Color.red;
            // 设置宽度
            line.startWidth = 0.1f;
            line.endWidth = 0.1f;
            i = 0;
        }
        // 鼠标左键按下期间
        if (Input.GetMouseButton(0))
        {
            i++;
            // 设置顶点数
            line.positionCount = i;
            // 设置顶点位置
            line.SetPosition(i - 1, Camera.main.ScreenToWorldPoint(
                    new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10)));
        }
       
    }
//删除obj_Parent下面的全部子物体,清空图画内容
    public void Btn_Close()
    {
        for (int i = 0; i < obj_Parent.transform.childCount; i++)
        {
            Destroy(obj_Parent.transform.GetChild(i).gameObject);
        }
        
    }

}

创建一个Line Renderer预设体,别忘了设置材质。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值