category
AI summary
tags
password
summary
date
icon
status
字数统计
type
slug
orgsrc
URL
在 6 月份的苹果开发者大会上,苹果介绍了将 Unity 作为 Apple Vision Pro VR 内容开发工具的官方教程(Bring your Unity VR App to a full immersive space),这在历届 WWDC 应该都是非常罕见的,以封闭生态著称的苹果竟然引入并宣传第三方开发平台。当然这也是出于 Apple Vision Pro 缺少(3D)内容的焦虑,以及自己的 RealitKit 在手机 AR 场景中一直没有激起什么水花。

除了 Unity 之外,苹果也宣布 Apple Vision Pro 将支持 WebXR 标准,这也是非常令人惊讶(喜)的,如果说有什么比苹果生态更加封闭的,那可能就是苹果系统浏览器 Safari 了。

不仅仅是宣布支持,苹果在 WebXR 标准制定中参与积极(如果想了解苹果和其它开源标准如 OpenXR 之间的矛盾以及接纳并推动 WebXR 背后的历史,推荐参考连接中英文播客):
There have been some movements in terms of Apple's participation in the WebXR standard, most significantly Ada joining. Ada is one of the chairs. She's a very important part of the WebXR standards process. | 苹果公司在 WebXR 标准方面的参与有了一些进展,最重要的是 Ada 加入了。Ada是 WebXR 主席团的一员。她在 WebXR 标准制定过程中扮演着非常重要的角色。

WebXR 开发生态
目前主流的 WebXR 开发框架(3D 引擎)如下,更详细的列表可参考 Awesome WebXR :

在前面几篇文章里我开发的几个原型应用,都是基于 A-FRAME 框架,该框架基于 three.js 3D 引擎,最大限度地封装了繁琐的语句,该框架的设计理念和 Unity 类似,通过 component 绑定场景中对象的各种行为。我把几个项目总结了一份开发模板,详见文章结尾参考资料。
和所有的 Web 生态一样,WebXR 的优势在跨平台兼容、开发效率高、易于分享与发布,例如 PICO 已经支持将网页添加为 Web 应用,可以直接保存到资源库中:

当然 WebXR 也继承 Web 生态的劣势:相比原生(Native)应用性能远远不足。例如我开发的这个简单的游戏 demo(「接头」霸王:neck.v2xr.xyz),在不使用复杂高清大尺寸素材的情况下, 仅使用简单的 Shader 编程可以生成相当不错的 VR 游戏素材:

但可惜的是,上面的效果是在 PC 端运行的效果,如果放在 VR 一体机的浏览器中运行(如 PICO 浏览器),可能刷新率只有个位数,完全无法流畅运行,于是只能选择下面静态纹理的效果:

WebXR 性能答案 — WebGPU
Chrome 113(2023.4.6)开始正式支持 WebGPU,关于 WebGPU 的细节我将在下一篇文章中展开,这里想要说明的有两点:1)WebGPU 将赋予 WebXR 更强悍的 3D 渲染能力;2)苹果同样是 WebGPU 的积极推动者。


借用《I want to talk about WebGPU》中的一句话:
使用 OpenGL ES 的 iPhone 为大众市场提供了学习和使用 OpenGL 的坚实理由。
希望支持 WebXR/WebGPU 的 Vision Pro 将为大众提供学习和使用它们的坚实理由!

参考
- 《2023中国WebXR开发者报告》|93913 Pro 产业智库
- #1213: Primer on WebGPU & Bringing High-Performance 3D Graphics and Parallel Compute to the Web | voicesofvr.com
- Awesome WebXR | https://project-awesome.org/msub2/awesome-webxr
- A-FRAME 本地开发项目模板 | https://gitee.com/v2xr/a-frame-template
- https://developer.chrome.com/blog/webgpu-release/
- 作者:V2XR
- 链接:https://hackvision.pro/post/webxr-as-an-alternative-to-unity
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。