void OnComputeMesh() { for (int i = 0; i < computeMeshGoList.Count; i++) { //1.清除原来的数据 GameObject go = computeMeshGoList[i]; MeshSimplify simplify = go.GetComponent <MeshSimplify>(); if (go == null || simplify == null) { continue; } simplify.RestoreOriginalMesh(true, simplify.m_meshSimplifyRoot == null); RemoveChildMeshSimplifyComponents(simplify); //2.开始计算 try { if (simplify.DataDirty || simplify.HasData() == false || simplify.HasNonMeshSimplifyGameObjectsInTree()) { simplify.RestoreOriginalMesh(true, simplify.m_meshSimplifyRoot == null); bool mMeshSimplefyRoot = simplify.m_meshSimplifyRoot == null; simplify.ComputeData(mMeshSimplefyRoot, null); } } catch (System.Exception e) { Debug.LogError("Error generating mesh: " + e.Message + " Stack: " + e.StackTrace); EditorUtility.ClearProgressBar(); Simplifier.Cancelled = false; } //3.最后应用Prefab } isClickButton = true; }