当前位置: 首页 > news >正文

Unity性能优化---动态网格组合(一)

网格组合是将 Unity 中的多个对象组合为一个对象的技术。因此,在多物体的场景中,使用网格组合,会有效的减少小网格的数量,最终将得到一个包含许多小网格的大网格游戏对象,这将提高游戏或模拟器的性能。在Unity 的 “Statistics” 窗口中的批次数量来衡量是否有效,批次越少越好。

首先搭建如下一个场景:

可以看到有24k Batchs,在FrameDebug中显示如下:没有组合网格前时调用了五次绘制物体。

添加组合网格代码,将脚本挂载到root物体上

  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.SetActive(false);i++;}Mesh mesh = new Mesh();mesh.CombineMeshes(combine);transform.GetComponent<MeshFilter>().sharedMesh = mesh;transform.gameObject.SetActive(true);}

Batches变成了9

在FrameDebug中,只调用了一次父物体的绘制。

参考链接:

Unity - 脚本 API:Mesh.CombineMeshes (unity3d.com)

http://www.lryc.cn/news/499698.html

相关文章:

  • Appium:安装uiautomator2失败
  • 电子信息工程自动化 单片机彩灯控制
  • word poi-tl 表格功能增强,实现表格功能垂直合并
  • LSTM-CNN-BP-RF-SVM五模型咖喱融合策略混合预测模型
  • 《鸿蒙开发-答案之书》 怎么设置Json字段的别名
  • ftp服务器搭建-安装、配置及验证
  • 鸿蒙应用获取wifi连接的ip地址(官方文档获取的格式转换成192.168.1.xxx格式)
  • c++数据结构算法复习基础--11--高级排序算法-快速排序-归并排序-堆排序
  • 人工智能学习路线详细规划
  • 深度学习之视觉处理
  • 遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。
  • Spring Boot与Spring Security集成:前后分离认证流程的优化实践
  • 设计模式——Chain(责任链)设计模式
  • HarmonyOS(63) ArkUI 自定义占位组件NodeContainer
  • Python深度强化学习对冲策略:衍生品投资组合套期保值Black-Scholes、Heston模型分析...
  • 【opencv入门教程】2. Point()类用法
  • 前端导出excel实战(xlsx库和exceljs库)
  • 【附源码】基于环信鸿蒙IM SDK实现一个聊天Demo
  • Python库常用函数-数据分析
  • 汽车EEA架构:架构的简介
  • 渗透测试--数据库攻击
  • 反向路径转发(RPF)
  • Python 正则表达式常用特殊字符及其含义
  • Uniapp Android SpringBoot3 对接支付宝支付(最新教程附源码)
  • SQL DML 语句
  • 饲料颗粒机全套设备有哪些机器组成
  • MySQL事务与锁
  • 汽车免拆案例 | 2007款宝马650i车发动机偶尔无法起动
  • PostgreSQL和Oracle的sql差异
  • SpringMvc完整知识点二(完结)