Unity 5圆形Mesh动态生成测试
Unity 里自己手撸一个圆形 Mesh,挺有意思的练手项目,适合刚接触图形编程的朋友。这个测试用的是 Unity5,性能还不错,核心就是用代码动态生成顶点和三角形。嗯,没用什么花哨的技巧,靠的是数学:用Mathf.Sin
和Mathf.Cos
算出一圈点的位置,再拼成三角形贴出来。
圆形的顶点怎么来?你可以想象时钟上的每个小时点,把它们均匀分布在圆周上。用角度转弧度,套Sin
和Cos
公式搞定。再把这些点加上中心点,一个个拼三角形,搞出Mesh.triangles
数组,Unity 就能渲染出一个圆了。
脚本基本围着Mesh
类转:vertices
放坐标,triangles
拼面,uv
决定贴图效果。你可以写个DrawCircle.cs
,直接挂在一个空GameObject
上,跑起来就能看到效果。配合MeshFilter
和MeshRenderer
,响应也快,代码也简单。
这方法其实挺灵活,不光能画圆,想要星形、多边形、动态扭曲啥的也能用同样思路。顺便说一句,贴图或加个材质球的话,视觉效果更出彩。哦,对了,Mathf
相关函数记得都用的是弧度,不然图形会飞。
如果你还没动手写过自定义Mesh
,这个小例子适合入门。玩转了以后,你在游戏里搞个技能特效圆、画面指示圈,分分钟的事。
unity绘制圆形mesh测试
预估大小:212个文件
12fd8a0055b84bb59e84c9835a37e333
6KB
00000000000000006100000000000000
4KB
00000000000000007100000000000000
4KB
00000000000000005100000000000000
4KB
00000000000000005000000000000000
4KB
0000000000000000a100000000000000
4KB
00000000000000004100000000000000
4KB
0000000000000000b000000000000000
4KB
00000000000000008000000000000000
4KB
00000000000000009000000000000000
4KB
919.28KB
文件大小:
评论区