[MenuItem("GameObject/合并Mesh", false, 1)]
public static void MergeMesh()
{
Object[] selecTransform = Selection.objects;
Transform cube = DrawCubeObject();
GameObject cubeParent = new GameObject();
List<CombineInstance> combineInstances = new List<CombineInstance>();
foreach (GameObject animator in selecTransform)
{
MeshFilter mesh = animator.GetComponent<MeshFilter>();
CombineInstance combune = new CombineInstance();
combune.mesh = mesh.sharedMesh; //将mesh,赋值
combune.transform = mesh.transform.localToWorldMatrix; //本地坐标转矩阵,赋值
combineInstances.Add(combune);
}
Mesh newMesh = new Mesh(); //声明一个新网格对象
newMesh.CombineMeshes(combineInstances.ToArray()); //将combineInstances数组传入函数
AssetDatabase.CreateAsset(newMesh, "Assets/MapMesh.asset");
DestroyImmediate(cube.gameObject);
DestroyImmediate(cubeParent);
}
合并Mesh
最新推荐文章于 2022-10-18 14:45:27 发布