Unity 2023:深入探讨Entities与Graphics的革新

需积分: 5 0 下载量 128 浏览量 更新于2024-06-25 收藏 4.12MB PDF 举报
"Unity Open Day Beijing 2023 是一场专注于Unity技术的活动,特别关注Entities和Graphics方面的深入理解。本次大会由Unity中国DOTS技术主管李中元主持,主要内容涵盖EntitiesGraphics的架构设计、底层原理,以及与现有渲染系统(如SRP)的对比。活动中将探讨Hybrid Renderer,包括V1的MegaCityDemo和V2的全新设计版本,同时揭示了EntitiesGraphics并非纯DOTS渲染器,而是结合了Mesh、Material和Shader的特性。此外,还讨论了EntitiesGraphics相对于传统Unity GameObject渲染架构的改进目标,如新的GPU数据持久化模型、对HDRP和URP所有着色器输入数据的DOTS C#代码访问,以及自动的DOTS ECS块到GPU内存的增量更新等。" 在Unity Open Day Beijing 2023中,参与者有机会深入了解EntitiesGraphics,这是Unity引擎的一个重要组件,用于提升图形渲染效率和性能。EntitiesGraphics是Unity对Data-Oriented Technology Stack (DOTS)的一次扩展,旨在优化游戏开发中的数据处理和渲染流程。 首先,EntitiesGraphics被介绍为一个混合渲染器(Hybrid Renderer),它并非纯粹基于DOTS的渲染器。它结合了Mesh、Material和Shader,以实现更高效的渲染效果。例如,V1版本的MegaCityDemo展示了这种混合技术在大规模城市场景中的应用,而V2则是对其进行全面重新设计,进一步提升了性能和灵活性。 在对比传统的Unity GameObject渲染架构时,EntitiesGraphics的改进点主要集中在减少主线程负担、提升常量缓冲区的设置速度,以及修复实例化着色器变体的问题。传统架构中的Mainthread build batches过程在EntitiesGraphics中得到了优化,避免了缓慢的常量缓冲区设置。同时,EntitiesGraphics V1版本存在的一些问题,如特定的ShaderGraph和材质创作工作流,以及HDRP/URP功能的缺失,在新设计中得到了解决。 EntitiesGraphics的主要目标是构建一个新的GPU数据持久化模型,允许开发者通过DOTS C#代码完全访问HDRP和URP的所有着色器输入数据。此外,它实现了自动的DOTS ECS块到GPU内存的增量更新,确保批次的持续性。这意味着所有的批次都是完全持久的,即使在添加或移除实体/组件时,也可以进行迭代式的批次更改,这极大地提高了渲染效率和响应速度。 Unity Open Day Beijing 2023揭示了EntitiesGraphics如何通过创新的架构设计和底层原理,推动Unity引擎在大型项目和复杂场景中的渲染性能,为开发者提供了更高效、更灵活的工具,以应对现代游戏开发的挑战。