废话不多说,今天实现一个用LineRender组件实现画图的功能。网上已有相关博文,感觉步骤有些模糊,今天就整理出来供大家学习
第一步:创建一个空对象,为其添加LineRender组件。
注意:将材质的着色器改为颗粒/添加剂,否则在代码里面控制颜色不起效。
二再创建一个新的对象,来挂载脚本脚本如下。:
- 使用UnityEngine;
- 使用System.Collections;
- 公共课NewBehaviourScript:MonoBehaviour {
- 私人GameObject克隆;
- 私人LineRenderer线;
- int i;
- //带有LineRender物体
- 公共GameObject目标;
- void Start(){
- }
- //每帧调用一次Update
- void Update(){
- if(Input.GetMouseButtonDown(0)){
- //实例化对象
- 克隆=(游戏物体)实例化(目标,target.transform.position,Quaternion.identity);
- //获得该物体上的LineRender组件
- 行= clone.GetComponent <LineRenderer>();
- //设置起始和结束的颜色
- line.SetColors(Color.red,Color.blue);
- //设置起始和结束的宽度
- line.SetWidth(0.2F,0.1F);
- //计数
- I = 0;
- }
- 如果(Input.GetMouseButton(0))
- {
- //每一帧检测,按下鼠标的时间越长,计数越多
- 我++;
- //设置顶点数
- line.SetVertexCount(ⅰ);
- //设置顶点位置(顶点的索引,将鼠标点击的屏幕坐标转换为世界坐标)
- line.SetPosition(i-1,Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,15)));
- }
- }
- }
三:将第一步建的空对象,拖入督察面板
四:运行效果如下: