当前位置: 代码网 > it编程>前端脚本>Golang > Unity云原生分布式运行时

Unity云原生分布式运行时

2024年07月28日 Golang 我要评论
//元宇宙时代的来临对实时3D引擎提出了诸多要求,Unity作为游戏行业应用最广泛的3D实时内容创作引擎,为应对这些新挑战,提出了Unity云原生分布式运行时的解决方案。LiveVideoStack 2023上海站邀请到Unity中国的解决方案工程师舒润萱,和大家分享该方案的实践案例、面临的问题、解决方式,并介绍了Unity目前对其他方案的构想。文/舒润萱整理/LiveVideoStack...

  //  

元宇宙时代的来临对实时3d引擎提出了诸多要求,unity作为游戏行业应用最广泛的3d实时内容创作引擎,为应对这些新挑战,提出了unity云原生分布式运行时的解决方案。livevideostack 2023上海站邀请到unity中国的解决方案工程师舒润萱,和大家分享该方案的实践案例、面临的问题、解决方式,并介绍了unity目前对其他方案的构想。

文/舒润萱

整理/livevideostack

大家好,我叫舒润萱,现在在unity中国担任解决方案工程师,主要负责开发的项目是unity云原生分布式运行时。

ed6ebda86bfa36c1a7fe0abf557d7c19.png

首先介绍一下unity。unity是游戏行业应用最广泛的3d实时内容创作引擎。截止2021年第4季度,70%以上移动平台的游戏是使用unity开发的。

e09413f240e95c07784246a4fdab667e.png

但unity不止是一个游戏引擎,unity的业务目前涉及到汽车行业、建筑行业、航空航天行业、能源行业等等各行各业。

99cbf78467603292fb25fd07f5b7ab9d.png

unity的业务在全球都有开展,在18个国家有54个办公室。在中国,在上海、北京、广州都有办公室,在临港也开了一间新的办公室。

cb58be498d2f83760e7bd6382b04922a.png

unity覆盖的平台是最广泛的,它支持超过20个主流平台,率先支持了apple新发布的vision os。

dbe3ee5bf6fef7b14f8b37fc41cdf014.png

我今天的分享将从这六个方面进行。

-01-

元宇宙时代的挑战

首先,实时3d引擎在元宇宙时代会遇到什么挑战?

8952652407ec455e4ebbbdc73c702515.png

unity认为元宇宙会是下一代的互联网,它将是实时的3d的、交互的、社交性的,并且是持久的。

70783c171c383964ee98776c0929ba66.jpeg

元宇宙会是一个规模庞大的虚拟世界,这个虚拟世界里有很多参与者,它将会是一个大量用户实时交互的场景。同时,元宇宙它必须是一个持续稳定的虚拟世界。

参与者在这个虚拟世界里对它进行的改变将会随着时间保留下来,并且它是稳定的状态。这就对实时3d交互造成了很多挑战。

4d25b0ae19bd13c8bf87a0f24be2d485.png

首先,因为这个虚拟世界将会是一个大规模的高清世界,里面将会有数量庞大的动态元素、静态元素,所以它对实时3d引擎提出了渲染的挑战。

其次,它伴随着大量的网络传输,对引擎的可扩展性和可伸缩性提出了很高要求,所以对运行平台来说也是一个不小的挑战。

最后,因为这个虚拟世界会有超大规模的物理仿真,用户将会在其中进行大量的实时交互,所以这对运算资源也是一个巨大的挑战。

-02-

unity分布式运行时

为了应对这些挑战,unity提出了分布式运行时的解决方案。

e6959ee2ddf1069fbd0b62c5c32f07a4.png

这个方案由两部分组成,第一个部分是unity云原生的分布式渲染,第二个部分是unity云原生分布式计算。

ffb65902d26b1edb0a14cf1dc7ae992b.png

首先介绍分布式渲染。要做一个多人联网的体验,可以从最简单的server-client架构入手。如图所示,在这个架构中有一个中心化的server,它可以服务于多个client。这张图上画了两个client,这是最简单的架构。

878dd52c32abbf306f3eb7e960401d8b.png

为了对应大规模的渲染压力,unity把用户的client端拆成了merger和renderer。在这里面,一个merger对应多个renderer,这些renderer将会负责虚拟世界的渲染。我们把一帧的渲染任务拆分成很多个子任务,分别交给这些render进行。merger负责把renderer渲染的画面组合成最终画面,之后通过webrtc推流的方案推给用户的客户端。要注意,这里除了用户的客户端以外,所有的环境都是运行在云上的。

73dc6c695712460d942bad58fad86e22.png

图示为一个最简单的屏幕空间拆分

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com