unity合并网格

匿名 (未验证) 提交于 2019-12-03 00:32:02
using UnityEngine; using System.Collections; using System.Collections.Generic;   public class CombineMeshes : MonoBehaviour {       void Start()     {         //获取MeshRender;         MeshRenderer[] meshRenders = GetComponentsInChildren<MeshRenderer>();           //材质;         Material[] mats = new Material[meshRenders.Length];         for (int i = 0; i < meshRenders.Length; i++)         {             mats[i] = meshRenders[i].sharedMaterial;         }           //合并Mesh;         MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();           CombineInstance[] combine = new CombineInstance[meshFilters.Length];           for (int i = 0; i < meshFilters.Length; i++)         {             combine[i].mesh = meshFilters[i].sharedMesh;             combine[i].transform = meshFilters[i].transform.localToWorldMatrix;             meshFilters[i].gameObject.SetActive(false);         }           MeshRenderer mr = gameObject.AddComponent<MeshRenderer>();         MeshFilter mf = gameObject.AddComponent<MeshFilter>();         mf.mesh = new Mesh();         mf.mesh.CombineMeshes(combine, false);         gameObject.SetActive(true);         mr.sharedMaterials = mats;     }

文章来源: unity合并网格
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!