Unity 可以在构建时和运行时执行静态批处理Unity 使用的一种技术,用于将屏幕上的游戏对象绘制组合在一起,即将静态(非移动)游戏对象组合成大型网格,并以更快的速度渲染它们。 更多信息
参见 术语表。通常,如果游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功 能由附加在其上的组件定义。 更多信息
参见 术语表存在于构建应用程序之前的场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,你放置环境、障碍物和装饰,本质上是分块设计和构建你的游戏。 更多信息
参见 术语表中,请使用编辑器在构建时对游戏对象进行批处理。如果在运行时创建游戏对象及其网格,请使用运行时 API。
使用运行时 API 时,可以更改静态批处理根节点的变换属性。这意味着可以移动、旋转或缩放构成静态批处理的整个网格组合。但无法更改各个网格的变换属性。
要对一组游戏对象使用静态批处理,这些游戏对象必须符合静态批处理的条件。除了常见用法信息中描述的条件外,请确保:
DisableBatching
标记设置为 true。注意:要使用运行时静态批处理,还必须将网格设置为启用读/写。
有关静态批处理的性能影响信息,请参阅性能影响。
可以在编辑器中启用构建时的静态批处理。
要在构建时执行静态批处理
如果满足常见用法信息中描述的条件,Unity 会自动将指定的静态网格批处理到同一个绘制调用中。
注意:如果在构建时执行静态批处理,Unity 不会在运行时使用任何 CPU 资源来生成静态批处理的网格数据。
要运行时批处理静态网格,Unity 提供了StaticBatchingUtility类。静态StaticBatchingUtility.Combine方法将传递给它的游戏对象组合在一起,并为静态批处理做好准备。这对于运行时生成的程序化网格特别有用。
与构建时的静态批处理不同,运行时的批处理不需要启用静态批处理播放器设置。有关如何使用此 API 的信息,请参阅StaticBatchingUtility。