合并网格和合并材质球

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CombineMesh : MonoBehaviour
{
public GameObject[] Filters;//合并网格的对象集合
// Start is called before the first frame update
void Start()
{
Mesh mesh = new Mesh();//创建网格对象
List<CombineInstance> combines = new List<CombineInstance>();//创建合并实例集合
List<Material> materials = new List<Material>();//材质球集合
for (int i = 0; i < Filters.Length; i++)//遍历需要合并对象的集合
{
CombineInstance combine = new CombineInstance();//创建合并实例对象
combine.mesh = Filters[i].GetComponent<MeshFilter>().mesh;//从每一个合并对象的网格渲染器上获取网格
combine.transform = Filters[i].transform.localToWorldMatrix;
combines.Add(combine);//添加至合并实例集合
materials.Add(Filters[i].GetComponent<MeshRenderer>().material);//获取材质添加至材质球集合
}
mesh.CombineMeshes(combines.ToArray(),false);//合并网格,不合并子网格
GetComponent<MeshFilter>().mesh = mesh;//网格赋值
GetComponent<MeshRenderer>().materials = materials.ToArray() ;//材质球赋值
}
// Update is called once per frame
void Update()
{
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)