Unity实现画线条功能
- 作者: 长脚侠
- 来源: 51数据库
- 2020-08-07
这篇文章主要为大家详细介绍了Unity实现画线条功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
废话不多说,今天实现一个用LineRender组件实现画图的功能。网上已有相关博文,感觉步骤有些模糊,今天就整理出来供大家学习
第一步、创建一个空对象,为其添加LineRender组件。

注意:将材质的Shader改为Particles/Additive,否则在代码里面控制颜色不起效。
二、再创建一个新的对象,来挂载脚本。脚本如下:
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
private GameObject clone;
private LineRenderer line;
int i;
//带有LineRender物体
public GameObject target;
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown (0)) {
//实例化对象
clone=(GameObject)Instantiate(target,target.transform.position,Quaternion.identity);
//获得该物体上的LineRender组件
line=clone.GetComponent<LineRenderer>();
//设置起始和结束的颜色
line.SetColors(Color.red,Color.blue);
//设置起始和结束的宽度
line.SetWidth(0.2f,0.1f);
//计数
i=0;
}
if(Input.GetMouseButton(0))
{
//每一帧检测,按下鼠标的时间越长,计数越多
i++;
//设置顶点数
line.SetVertexCount(i);
//设置顶点位置(顶点的索引,将鼠标点击的屏幕坐标转换为世界坐标)
line.SetPosition(i-1,Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,15)));
}
}
}
三、将第一步建的空对象,拖入Inspector面板

四、运行效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,
推荐阅读
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
热点文章
团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
0
使用 MSBuild.exe 在发布模式下构建 C# 解决方案
0
当我发布 Web 应用程序时,AfterPublish 脚本不运行
0
构建时 T4 转换的产品仅在下一个构建中使用
0
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
0
新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
0
如何将条件编译符号(DefineConstants)传递给 msbuild
0
MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
0
NuGet 包还原找不到包,没有源
0
使用 C# 6.0 功能运行 TFS 构建
0
