Oncyber 在开放沉浸式网络的画面性能方面有所突破,让使其虚拟空间可以任何地方的人以设备上访问。
本周,Oncyber 接待了来自 100 多个国家 / 地区,超过 3500 名参与者同时在他们的虚拟空间中,这在几周前是不可想象的。以下为 Oncyber 的 @Samsyyyy 对近期优化的总结:
我们的挑战:混合多人游戏、多样化的虚拟空间和高质量的视觉效果,同时快速渲染帧以实现流畅的交互(60 FPS 的屏幕,渲染时间 16 毫秒、120 FPS 的屏幕,渲染时间 8 毫秒),以下是我们的几个优化方向:动画、实例化、地图集、编辑器。
Avatar 动画
一般的动画系统使用 CPU,但这在处理数百万个 Avatar 的动画时会遇到瓶颈。我们切换到了基于 GPU 的动画系统,创建了一个将所有角色动画打包到浮点纹理中的系统。结果是,在高端 PC 机上,我们可以以 120 FPS(帧率)的速度同时呈现 1000 个 VRM 角色 ( 注:VRM 是一种基于 glTF 2.0 的 3D 头像文件格式 )。
Avatar 实例化
Avatar 实例化 时减少绘制调用(单个绘制操作的数量),对于提升性能至关重要。我们的解决方案:在单个绘制调用中渲染同一网络的多个副本(例如默认头像)。在一个同时有 200 个 Avatar 的虚拟空间中,我们设法削减了 85% 的绘制调用。
Avatar 归并
Avatar 归并(Atlasing) 指将多个 Avatar 头像图片归并到一个纹理(贴图)中。我们的打包(atlas)系统动态地将 Avatar 头像图片渲染到更大的纹理(贴图)中。极大地减少了我们大多数 Avatar 头像的绘制调用。常规方法需要 400 次调用,Oncyber 只需要 13 次调用。
用户名呈现和归并
我们使用相同的系统在每个 Avatar 的顶部显示用户名。这将绘制调用减少到仅 1,从而保持高效。
综合所有这些优化,我们现在可以在高性能计算机上以大约 120 FPS 的速度显示 1000 个动态 VRM 角色、在中等性能计算机上显示 600 个动态 VRM 角色。此外,我们的 LOD 系统更适用于模型的远景呈现,进一步提高了性能。
场景编辑器
对于场景编辑器,我们将很快推出一套易于使用的工具集,用于实时照明、光影、地形编辑、脚本等(带有 GPT 支持的命令)。目标是让任何人无需任何预学习的技能即可创建高质量、高性能的 3D 空间。
Cyber No City
个人认为,Cyber No City 是有史以来第一个使用新 kitbash 系统的虚拟世界场景,在过去的 3 年里,我一直在通过它测试基于网络的图形显示上限!
该工具集很快就可以被我所有的用户使用(Jiometory 和我即将推出的 drop Fushi No Reality)。在这里,你可以访问 Cyber No City 的变体,其中包含我们为 NOT NYC 制作的特别画风的场景:https://oncyber.io/notnyc
(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)