欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

Unity使用LineRender实现绘画功能

时间:2020-12-15 01:29:17|栏目:.NET代码|点击:

本文实例为大家分享了Unity LineRender实现绘画功能的具体代码,供大家参考,具体内容如下

老规矩,直接上代码:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawLine_ZH : MonoBehaviour
{
 private GameObject _Clone;
 private LineRenderer _Line;
 int _Number;

 //带有LineRender物体
 [Header("LineRender预制体")]
 public GameObject _Target;

 void Update()
 {
  if (Input.GetMouseButtonDown(0))
  {
   //实例化对象
   _Clone = Instantiate(_Target, _Target.transform.position, Quaternion.identity);

   //获得该物体上的LineRender组件
   _Line = _Clone.GetComponent<LineRenderer>();

   //设置起始和结束的颜色
   //_Line.SetColors(Color.red, Color.blue);
   _Line.startColor = Color.red;
   _Line.endColor = Color.blue;

   //设置起始和结束的宽度
   // _Line.SetWidth(0.2f, 0.1f);
   _Line.startWidth = 0.2f; ;
   _Line.endWidth = 0.1f;

   //计数
   _Number = 0;
  }
  if (Input.GetMouseButton(0))
  {
   //每一帧检测,按下鼠标的时间越长,计数越多
   _Number++;

   //设置顶点数
   //_Line.SetVertexCount(_Number);
   _Line.positionCount = _Number;

   //设置顶点位置(顶点的索引,将鼠标点击的屏幕坐标转换为世界坐标)
   _Line.SetPosition(_Number - 1, Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 15)));


  }

  //清除绘画

  if (Input.GetMouseButtonDown(1))
  {
   GameObject[] _Draw = GameObject.FindGameObjectsWithTag("DarwLine");
   for (int i = 0; i < _Draw.Length; i++)
   {
    Destroy(_Draw[i]);
   }
  }

 }
}

注意添加 预制体 和 材质球:

脚本要搭载:

预制体(可自定义):

预制体材质(可自定义):

最终效果:

暂时先这样吧

上一篇:C#计算两个时间差的方法代码分享

栏    目:.NET代码

下一篇:C#实现的简单整数四则运算计算器功能示例

本文标题:Unity使用LineRender实现绘画功能

本文地址:http://www.codeinn.net/misctech/33015.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有