文章出處:http://jxwgame.blog.51cto.com
參考代碼:
using UnityEngine;
using System.Collections;
public class Combine : MonoBehaviour
{
void Start()
{
//MeshFilter 網格過濾器,使用這個作爲一個程序的網格接口
MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
//CombineInstance 合併實例,用來描繪網格合併的結構
CombineInstance[] combine = new CombineInstance[meshFilters.Length];
for (int i = 0; i < meshFilters.Length; i++)
{
//.mesh 合併網格方法
combine[i].mesh = meshFilters[i].sharedMesh;//返回網格過濾器的共享的網格。
//.transform 合併之前,網格變換的矩陣。
combine[i].transform = meshFilters[i].transform.localToWorldMatrix;//返回對象的世界座標位置
meshFilters[i].gameObject.active = false;
}
//新建網格
transform.GetComponent<MeshFilter>().mesh = new Mesh();
//組合多個網格到同一個網格
transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
transform.gameObject.active = true;
}
}