function CombineMeshes (combine : CombineInstance[], mergeSubMeshes : boolean = true, useMatrices : boolean = true) : void
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.
@script RequireComponent(
MeshFilter)
@script RequireComponent(
MeshRenderer)
function Start () {
var meshFilters = GetComponentsInChildren(
MeshFilter);
var combine :
CombineInstance[] =
new CombineInstance[meshFilters.length];
for ( 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;
}