Unity 5圆形Mesh动态生成测试

Unity 里自己手撸一个圆形 Mesh,挺有意思的练手项目,适合刚接触图形编程的朋友。这个测试用的是 Unity5,性能还不错,核心就是用代码动态生成顶点和三角形。嗯,没用什么花哨的技巧,靠的是数学:用Mathf.SinMathf.Cos算出一圈点的位置,再拼成三角形贴出来。

圆形的顶点怎么来?你可以想象时钟上的每个小时点,把它们均匀分布在圆周上。用角度转弧度,套SinCos公式搞定。再把这些点加上中心点,一个个拼三角形,搞出Mesh.triangles数组,Unity 就能渲染出一个圆了。

脚本基本围着Mesh类转:vertices放坐标,triangles拼面,uv决定贴图效果。你可以写个DrawCircle.cs,直接挂在一个空GameObject上,跑起来就能看到效果。配合MeshFilterMeshRenderer,响应也快,代码也简单。

这方法其实挺灵活,不光能画圆,想要星形、多边形、动态扭曲啥的也能用同样思路。顺便说一句,贴图或加个材质球的话,视觉效果更出彩。哦,对了,Mathf相关函数记得都用的是弧度,不然图形会飞。

如果你还没动手写过自定义Mesh,这个小例子适合入门。玩转了以后,你在游戏里搞个技能特效圆、画面指示圈,分分钟的事。

folder
unity绘制圆形mesh测试 预估大小:212个文件
file
12fd8a0055b84bb59e84c9835a37e333 6KB
file
00000000000000006100000000000000 4KB
file
00000000000000007100000000000000 4KB
file
00000000000000005100000000000000 4KB
file
00000000000000005000000000000000 4KB
file
0000000000000000a100000000000000 4KB
file
00000000000000004100000000000000 4KB
file
0000000000000000b000000000000000 4KB
file
00000000000000008000000000000000 4KB
file
00000000000000009000000000000000 4KB
file
00000000000000006000000000000000 4KB
file
00000000000000004000000000000000 4KB
file
00000000000000001000000000000000 4KB
file
0000000000000000c000000000000000 4KB
file
00000000000000007000000000000000 4KB
file
0000000000000000a000000000000000 4KB
file
00000000000000002000000000000000 4KB
file
00000000000000003000000000000000 4KB
file
1c6d1fbb51834b64847b1b73a75bfc77 7KB
file
0d3bb855445e36e479c85976fc88383a 5KB
zip 文件大小:919.28KB