全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Unity中如何批处理静态和动态问题

发布时间:2022-07-21 15:45:00
发布人:syq

  Unity 在游戏开发行业中扮演着非常重要的角色。很多游戏都是用Unity开发的,所以在Unity运行的时候,需要合并一些对象,用一张图来渲染。这就是Batch processing,今天的文章只是想告诉大家Unity中如何处理批处理的静态和动态问题

Unity中如何处理批处理的静态和动态问题

  动态批处理

  如果动态对象共享相同的材质,Unity 会自动批处理这些对象。

  动态批处理是自动完成的,不需要您进行额外的工作。

  提示:

  1、 批处理动态对象需要每个顶点的开销,因此动态批处理仅支持少于 900 个顶点的网格。

  2、 如果你的着色器使用顶点位置、法线和UV值,那么你只能批处理低于300个顶点的对象;如果您的着色器需要使用顶点位置、法线、UV0、UV1 和切线向量,那么您只能批处理低于 180 个顶点的对象。

  3、请注意:属性数量的限制将来可能会改变。

  4、 不要使用比例。两个具有比例的对象(分别为 1,1,1) 和 (2,2,2)) 不会被批处理。

  5、 均匀缩放的对象不会与非均匀缩放的对象进行批处理。

  两个具有尺度 (1,1,1) 和 (1,2,1)) 的对象不会被批处理,而是具有尺度 (1,2,1) 和 (1,3, 1) 两个对象将能够被批处理。

  6、 不同材质的实例化对象会导致批处理失败。

  7、带有光照贴图的对象具有额外的(隐藏的)材质属性,例如光照贴图偏移和缩放因子。因此,带有光照贴图的对象不会被批处理(除非它们指向光照贴图的同一部分)。

  8、 多通道着色器会妨碍批处理操作。例如,Unity 中几乎所有的着色器都支持前向渲染中的多个灯光,从而有效地为它们打开了多个通道。

  9、预设实例将自动使用相同的网格和材质。

  静态批处理

  相比之下,静态批处理允许引擎批处理任何大小的几何对象以减少绘制调用(只要对象不移动并且具有相同的材质)。因此,静态批处理比动态批处理效率更高,您应该尽量少使用它,因为它需要的 CPU 开销更少。

  为了更好地使用静态批处理,您需要明确指出哪些对象是静态的,并且在游戏中永远不会移动、旋转和缩放。要完成此步骤,您只需在 Inspector 中勾选 Static 复选框。

  使用静态批处理操作需要额外的内存开销来存储合并的几何数据。在静态批处理之前,如果某些对象共享相同的几何图形,引擎将为处于编辑和运行状态的每个对象创建几何图形的副本。这并不总是一个好主意,因为有时,您将不得不牺牲一点渲染性能来防止某些对象的静态批处理,从而减少内存开销。例如,将茂密森林中的树设置为静态会导致严重的内存开销。

  静态批处理目前仅支持 Unity iOS Advanced。

  Unity中如何处理批处理的静态和动态问题?不同的问题必须以不同的方式处理。如果您对Unity有更多的专业知识需要学习,那么您可以来我们千锋教育的Unity培训班实地考察,或咨询我们了解详情。更多关于Unity培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

相关文章

什么是PlatformIo?

什么是PlatformIo?

2023-10-14
文件扩展名(后缀名)是什么?

文件扩展名(后缀名)是什么?

2023-10-14
云快照与自动备份有什么区别?

云快照与自动备份有什么区别?

2023-10-14
OKR与自驱力的关系是什么?

OKR与自驱力的关系是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取