合并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); // 打包场景内所有的贴图
}
网友评论