Mesh.CombineMeshes 合并网格

Parameters 参数

void CombineMeshes(CombineInstance[] combine, bool mergeSubMeshes = true, bool useMatrices = true);

Description描述

Combines several meshes into this mesh.

合并多个网格到一个网格。

Combining meshes is useful for performance optimization. If mergeSubMeshes is true, all the meshes will be combined to a single submesh. Otherwise each mesh will go into a different submesh. If all meshes share the same material, set this to true. If useMatrices is false, the transform matrices in CombineInstance structs will be ignored.

结合网格有利于性能最优化。如果mergeSubMeshes为true,所有的网格会被结合成一个单个子网格。否则每一个网格都将变成单个不同的子网格。如果所有的网格共享同一种材质,设定它为真。如果useMatrices为false,在CombineInstance结构中的变换矩阵将被忽略。

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(MeshFilter))]
[RequireComponent(typeof(MeshRenderer))]
public class Example : MonoBehaviour
{
	void Start ()
	{
		MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter> ();
		CombineInstance[] combine = new CombineInstance[meshFilters.Length];
		int i = 0;
		while (i < meshFilters.Length) {
			combine [i].mesh = meshFilters [i].sharedMesh;
			combine [i].transform = meshFilters [i].transform.localToWorldMatrix;
			meshFilters [i].gameObject.active = false;
			i++;
		}
		transform.GetComponent<MeshFilter> ().mesh = new Mesh ();
		transform.GetComponent<MeshFilter> ().mesh.CombineMeshes (combine);
		transform.gameObject.active = true;
	}
}
@script RequireComponent(MeshFilter)
@script RequireComponent(MeshRenderer)
function Start () {
	var meshFilters: MeshFilter[] = GetComponentsInChildren(MeshFilter);
	var combine : CombineInstance[] = new CombineInstance[meshFilters.Length];
	for (var i = 0; i < meshFilters.Length; i++){
		combine[i].mesh = meshFilters[i].sharedMesh;
		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;
}
}
Page last updated: 2014-1-3