一 把fbx的Optimize GameObject勾选上,会优化你模块的面数,不过好像有可能会引起别的问题,优化后和代码上的mesh数据对不上造成bug
二 由于每个sinnedmesh会产生一个drawcall,所以多人同屏时就会卡,针对于这个问题,我们将sinnedmesh转mesh,并且有三个实施办法
1关键帧预bake加插值计算 只烘培关键帧的mesh,然后运行时,跟据时间去找最近的两个关键做插值,优点内存占用不多,缺点需要耗时计算
2全帧预bake不插值 全部都烘培出来,优点不用计算,缺点内存占用大,资源大
3实时bake不插值 实时去烘培,优点资源小,缺点,要耗时计算,内存占用大
原理就像2d序列帧动画一样,只不过换成了3dmesh序列帧动画
其实就是用cpu+内存去换drawcall,有可能并不划算反而更卡,因为drawcall实际上就是cpu+gpu,而且由于实际上等于使用了更多的模型所以场景中obj的数量会很大,造成额外开销
由于没具体研究怎样去烘培,好像是maya里的blendshape或导出插件中有烘培关键帧,所以理解的不是很透彻
这里只是提供了一个方向,但实用性有待考察