摘要
今天在做水渲染时,需要手动创建一个顶点数很多的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重合。
- <