Unity3d生成Mesh

本文介绍如何在Unity3D中利用已知点数据生成Mesh,并实现多个Mesh间的连接。通过理解三角形生成原理,计算点数量与索引数量的关系,创建24个int类型的索引数组。在处理大量点时,通过共享横坐标相同的点数据来减少冗余。最终实现首尾相连的Mesh效果。
摘要由CSDN通过智能技术生成

因为项目需要导入已知点,根据已知点生成一个类似于圆胎的Mesh,所以想了下Mesh生成物体的代码逻辑。
这里写图片描述
假设现在有9个Vertice(Vector3),横向HorizontalNumber=3,纵向Horizontal=3,那么按照三角形生成原理,有索引145,152,256,263,478,485,589,596。总共24个int类型的索引Triangles(int),点的数量和索引数量之间的关系是triangles=(horizontalNumber-1)*(horizontal-1)*6。可以得到这样的代码,很神奇的算法,过了一段时间自己都忘了他是怎么来的。


for (int i = 0; i < (horizontalNumber - 1) * (horizontal - 1); i++)
            {
                trialges.Add(i + i / (horizontalNumber - 1));
                trialges.Add(i + horizontalNumber + i / (horizontalNumber - 1));
                trialges.Add(i + horizontal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值