Unity3D开发之GL画线
最近一直在专心炒股,博客也没时间整。虽然很耗费精力,但是确实有意思。炒股不仅是对大盘形势的判断,有时候更是对自己全身心的考验。还是新鲜的小韭菜,还有很长的路要走。加油奥利给!
最近有个需求就是要给一个面片加边缘线。之前使用的边线贴图盖上面片上面,可是当面片拉伸时,边缘线也跟着拉伸,导致拉伸边缘线变粗或者变细。因为都是规则的方形,所以我使用gl自己画一个边缘线。效果如下:
最后一个是未添加外线的面片。代码贴在下面:
void OnRenderObject(){lineMaterial.SetColor("_Color", color);lineMaterial.SetPass(0);Vector3 v1=new Vector3(-size.x/2, size.y/2,0);Vector3 v2 = new Vector3(size.x / 2, size.y / 2, 0);Vector3 v3 = new Vector3(size.x / 2, -size.y / 2, 0);Vector3 v4 = new Vector3(-size.x / 2, -size.y / 2, 0);GL.Begin(GL.QUADS);GL.Color(color);GL.Vertex(transform.TransformPoint(v1));GL.Vertex(transform.TransformPoint(v1) +new Vector3(-width,0, +width));GL.Vertex(transform.TransformPoint(v2) +new Vector3(width, 0,width));GL.Vertex(transform.TransformPoint(v2));GL.Color(color);GL.Vertex(transform.TransformPoint(v2));GL.Vertex(transform.TransformPoint(v2)+new Vector3(width,0, width));GL.Vertex(transform.TransformPoint(v3) + new Vector3(width, 0, -width));GL.Vertex(transform.TransformPoint(v3));GL.Color(color);GL.Vertex(transform.TransformPoint(v3));GL.Vertex(transform.TransformPoint(v3) - new Vector3(-width, 0, +width));GL.Vertex(transform.TransformPoint(v4) - new Vector3(width, 0, +width));GL.Vertex(transform.TransformPoint(v4));GL.Color(color);GL.Vertex(transform.TransformPoint(v4));GL.Vertex(transform.TransformPoint(v4) - new Vector3(width, 0, width));GL.Vertex(transform.TransformPoint(v1)- new Vector3(width, 0, -width));GL.Vertex(transform.TransformPoint(v1));GL.End();}
注意:GL.Vertex(vector3 v)传入的是世界坐标。
Unity3D开发之GL画线相关推荐
- Unity GL画线的坑
Unity中使用GL画线时注意一个问题,材质设置pass的代码应该放在GL.Color后面.类似下面这样: void RenderLine(DTGizmos gizmos) {if (!gizmos) ...
- Android开发之shape画圆环的方法
方法一: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=" ...
- Unity3D开发之3D按钮的声音播放
这里我们首先就简易的制作一个非常简单的3D按钮![这里写图片描述](https://img-blog.csdn.net/20170915120955448?watermark/2/text/aHR0c ...
- Unity3D开发之OnPointerClick事件
OnPointerClick是unity事件系统自带的点击推送事件.继承IPointerClickHandler接口,并在脚本中实现接口,点击挂此脚本的物体系统会调用实现的OnPointerClick ...
- Unity3D开发之Error while reading movie Bug解决
之前一个老项目要加一个播放视频的需求.美工那面给我的视频文件名字以及格式如下:热是如何传递到居民家中的_最终成品.mp4.我直接就把视频导入到Unity项目文件夹下.然后,就报出了如下error:Er ...
- Unity画线之GL
上一篇中,SetPixel的方法,卡顿严重,暂未解决,又去看了原来的GL画线,自己画图思考了一下适配UI的问题,最终解决. 特此说明,GL画线功能,及Shader均为借鉴,自己做了优化. 程序代码如下 ...
- unity3d 使用GL 方式画线
这个是画线部分 private Vector3[] linePoints;public int m_LineCount;public int m_PointUsed;public void Rende ...
- 【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能
[巨人的肩膀上制造世界]--10--Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能 目录 1.博客介绍 2.内容 (1)编辑器预制线条 (2)编辑器修改线条 (3)线条 ...
- [整理]Unity3D游戏开发之Lua
原文1:[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上) 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我地博客地址是blog.csdn.net/qinyuanpei.如果 ...
- 【线上峰会】如何一天掌握物联网全栈开发之道
当移动红利时代结束,人才需求接近饱和的同时,传感技术.云计算.大数据.人工智能的日益成熟,并与智能家居.智慧城市相融合,将我们带入了真正智能化的物联网时代.那么,作为开发者的我们,又该如何顺势而为? ...
最新文章
- C# TripleDES NoPadding 时对待加密内容进行补字节(8个字节为一个Block)
- Java继承个人的理解_我对java继承的理解
- NOIP模拟测试21「折纸·不等式」
- 隐藏自己电脑的IP地址
- 数据分析 数据科学_数据科学中的数据分析
- android中svn插件安装,AndroidSDK安装SVN插件问题解决
- 移动设备和SharePoint 2013 - 第5部分:自定义应用
- Nginx模拟负载均衡
- 互联网+法律兴起,品牌上线数量出现爆发
- 为什么可积不一定可导_为什么很多人开车时一定要听歌?老司机:不听歌,要车何用?...
- js基础--javascript基础概念之函数
- delphi连接SQL2005做的数据库管理系统的一些部署问题
- Webservice 的安全
- mysql varbinary类型_mysql中varbinary、binary、char、varchar异同
- smartdns使用指南_OpenWrt之SmartDNS 使用教程(PLUS+版)
- PHP幸运抽奖系统带后台源码
- 游戏开发之地图编辑器
- 英文PDF怎么翻译成中文?两分钟让你学会翻译PDF
- 将CF卡移动磁盘标识改为本地磁盘标识的软件
- vue3.0页面模板-示例