杂篇-01-Unity中创建Mesh时遇到的问题

这篇博客探讨了在Unity中创建Mesh时遇到的顶点数限制问题,以及如何通过设置`Mesh.indexFormat`为`UInt32`来扩展限制。作者详细分析了SubMesh的使用,特别是如何处理超过65535个顶点的场景,包括如何设置`SetTriangles`以避免索引溢出,并讨论了在生成和组织顶点时的策略。博客最后反思了技术与美术资源之间的平衡和权衡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

今天在做水渲染时,需要手动创建一个顶点数很多的Mesh让波形更加精准,写一个MeshCreater脚本,其中遇到了一些Unity限制的问题。

MeshCreater

首先了解Unity的Mesh

  • 每一个GameObj 拥有两个组件MeshFilter和MeshRender,MeshFilter存储Mesh,MeshRender渲染Mesh

1.Mesh类

包含变量

  • Vector3[] vertices 顶点信息

  • Vector2[] uv 每个顶点对应的uv信息

  • int[] triangles 三角形包含的顶点的下标(构成面)

2.MeshFilter类

继承自Component,需要挂到GameObj上

包含变量

  • Mesh (可以是assert直接赋值,或者程序赋值)

3.MeshRender类

继承自Component,需要挂到GameObj上

自动获取Menfilter中的mesh信息,进行渲染,其中可以为各个submesh添加独立material

问题

在制作MeshCreater时,制作了个showvertex的脚本用于显示mesh的顶点,发现以下问题

  • 每个Mesh只是一个独立的模型信息,Mesh的Vertex不会随着物体的Transform改变,需要对vertex进行Transform.transformPoint(vertex)处理后才能和游戏物体的vetex重合。

  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值