Unity3D合并材质球

unity 3d中每倒入一次模型就多一个材质球,可我的这些模型都是共用一张贴图的就想共用一个材质球,所以每次都要删除再附上,很麻烦。怎么才能合并这些材质球?
采用TexturePacking吧
1、遍历gameobject,取出material,并根据shader来将material分类
2、调用Unity自带的PackTextures函数来合并每个shader分类中的material所对应的textures(PackTextures函数有缺陷,不过可以将就用)
3、根据合并的大的texture来更新原有模型的texture、material已经uv坐标值。


需要注意的是:需要合并的纹理应该是物体在场景中距离相近的,如果物体在场景中的距离较远,则不建议合并纹理,因为这样做很有可能非但起不到优化的作用,反而降低了运行效率。

你可能感兴趣的:(Unity3D合并材质球)