Unity的Mesh合并(1)——FindMeshesInScene

合并Mesh的第一步,需要找到场景中所有有可能需要进行合并的物体,存在类的变量中供后续使用

// 函数功能: 找到场景中所有带有MR的物体
void FindMeshesInScene() {
      AllMeshRenderersInScene = new List<MeshRenderer>(GameObject.FindObjectsOfType<MeshRenderer>());
      for (int i = 0 ; i < AllMeshRenderersInScene.Count; i++) {
           AllGameobjectsInScene.Add(AllMeshRenderersInScene[i].gameobject as GameObject);
           AllMeshFiltersInScene.Add(AllGameobjectsInScene[i].GetComponent<MeshFilter>());
           GameObjectToIndex[AllGameobjectsInScene[i]]  = i ;
      }
      CubesOfGameobjects = new List<List<GameObject>>();
      CubesOfGameobjects = getBlockGo(BlockEdge); // 对场景分成正方体块,返回正方体块数组
      PackAllTexturesInScene(MaxNumOfPlane, MaxSizeOfTexture, AtlasPadding); // 打包场景内所有的贴图
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容