//
元宇宙时代的来临对实时3d引擎提出了诸多要求,unity作为游戏行业应用最广泛的3d实时内容创作引擎,为应对这些新挑战,提出了unity云原生分布式运行时的解决方案。livevideostack 2023上海站邀请到unity中国的解决方案工程师舒润萱,和大家分享该方案的实践案例、面临的问题、解决方式,并介绍了unity目前对其他方案的构想。
文/舒润萱
整理/livevideostack
大家好,我叫舒润萱,现在在unity中国担任解决方案工程师,主要负责开发的项目是unity云原生分布式运行时。
首先介绍一下unity。unity是游戏行业应用最广泛的3d实时内容创作引擎。截止2021年第4季度,70%以上移动平台的游戏是使用unity开发的。
但unity不止是一个游戏引擎,unity的业务目前涉及到汽车行业、建筑行业、航空航天行业、能源行业等等各行各业。
unity的业务在全球都有开展,在18个国家有54个办公室。在中国,在上海、北京、广州都有办公室,在临港也开了一间新的办公室。
unity覆盖的平台是最广泛的,它支持超过20个主流平台,率先支持了apple新发布的vision os。
我今天的分享将从这六个方面进行。
-01-
元宇宙时代的挑战
首先,实时3d引擎在元宇宙时代会遇到什么挑战?
unity认为元宇宙会是下一代的互联网,它将是实时的3d的、交互的、社交性的,并且是持久的。
元宇宙会是一个规模庞大的虚拟世界,这个虚拟世界里有很多参与者,它将会是一个大量用户实时交互的场景。同时,元宇宙它必须是一个持续稳定的虚拟世界。
参与者在这个虚拟世界里对它进行的改变将会随着时间保留下来,并且它是稳定的状态。这就对实时3d交互造成了很多挑战。
首先,因为这个虚拟世界将会是一个大规模的高清世界,里面将会有数量庞大的动态元素、静态元素,所以它对实时3d引擎提出了渲染的挑战。
其次,它伴随着大量的网络传输,对引擎的可扩展性和可伸缩性提出了很高要求,所以对运行平台来说也是一个不小的挑战。
最后,因为这个虚拟世界会有超大规模的物理仿真,用户将会在其中进行大量的实时交互,所以这对运算资源也是一个巨大的挑战。
-02-
unity分布式运行时
为了应对这些挑战,unity提出了分布式运行时的解决方案。
这个方案由两部分组成,第一个部分是unity云原生的分布式渲染,第二个部分是unity云原生分布式计算。
首先介绍分布式渲染。要做一个多人联网的体验,可以从最简单的server-client架构入手。如图所示,在这个架构中有一个中心化的server,它可以服务于多个client。这张图上画了两个client,这是最简单的架构。
为了对应大规模的渲染压力,unity把用户的client端拆成了merger和renderer。在这里面,一个merger对应多个renderer,这些renderer将会负责虚拟世界的渲染。我们把一帧的渲染任务拆分成很多个子任务,分别交给这些render进行。merger负责把renderer渲染的画面组合成最终画面,之后通过webrtc推流的方案推给用户的客户端。要注意,这里除了用户的客户端以外,所有的环境都是运行在云上的。
图示为一个最简单的屏幕空间拆分
发表评论