代码改变世界

unity model优化——mesh、顶点数据压缩

2020-02-28 20:29  kk20161206  阅读(1967)  评论(0编辑  收藏  举报

1. 在Unity中,主要有三种方式用来优化mesh数据的空间开销。

即Player Setting中的:

Vertex Compression

Optimize Mesh Data

以及Model importer中的:

Mesh Compression 

其中,Vertex Compression的实现是将顶点channel的数据格式format设置为16bit,因此可以节约运行时的内存使用(float->half)

Optimize Mesh Data则主要用来剔除不需要的channel,即剔除额外的数据。因为与压缩无关,本文先暂时不讨论这个选项。

MeshData是将mesh数据压缩,但运行时内存并不改变。

 

如果开启了dynamic batching,则300个顶点以下的mesh不会被执行顶点压缩

其次,Read/Write Enabled这个选项也会使Vertex Compression失效。所以一般情况下,为了节约内存最好不好勾选这个选项,除了无法进行顶点压缩之外,它还会额外在内存中保留一份mesh数据。

如果开启了Mesh Compression,则会override掉Vertex Compression以及Optimize Mesh Data的设置 。Mesh Compression会将mesh在硬盘上的存储空间进行压缩,但是不会在runtime时节省内存

 

 

参考文档:https://www.cnblogs.com/murongxiaopifu/p/10447076.html