网格合并有两种方式以及区别
效果都是把使用相同材质球的mesh进行合并
静态就是预先处理会增加包体大小,看需求,如果减包体可以考虑使用动态合并
1.勾选静态精选合并
所有被勾选了“Static”的GameObject,其中的Mesh Filter中的mesh都会被合并到 "Combined Mesha (root: scene)" 中
2.使用脚本动态合并
//找到需要合并的节点
GameObject staticObjects = GameObject.Find("Static");
if (null == staticObjects)
return;
//遍历所有render,把材质球对应的render列表存起来
Dictionary<Material, List<Renderer>> Material2RendersDic = new Dictionary<Material, List<Renderer>>();
Renderer[] allRenders = staticObjects.GetComponentsInChildren<Renderer>();
for (int i = 0; i < allRenders.Length; i++)
{
Material mat = allRenders[i].sharedMaterial;
if (null == mat)
continue;
if (!Material2RendersDic.ContainsKey(mat))
Material2RendersDic.Add(mat, new List<Renderer>()

最低0.47元/天 解锁文章
344

被折叠的 条评论
为什么被折叠?



