Unity的Mesh合并(1)——FindMeshesInSce

2018-02-05  本文已影响0人  DarkKnightRedoc

合并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); // 打包场景内所有的贴图
}
上一篇 下一篇

猜你喜欢

热点阅读