WebXR – 网络扩展现实技术解决方案 (Web XR)
发布日期:2021 年 12 月 27 日 / 更新日期:2022 年 2 月 23 日 - 作者: Konrad Wolfenstein
WebXR 是一种 JavaScript 编程接口 (API),允许应用程序在 Web 浏览器中与增强现实和虚拟现实设备(例如 HTC Vive、Oculus Rift、Google Cardboard 或开源虚拟现实 (OSVR))进行交互。 WebXR API 由一组 W3C 规范指定,并由沉浸式 Web 社区组和沉浸式 Web 工作组这两个组协作管理。
2018 年,WebXR API 取代了 WebVR,因为它是为增强现实和虚拟现实设备设计的。 WebVR 在被弃用和删除之前已在基于 Firefox 和 Chromium 的浏览器中实现。 2018 年 9 月 24 日,沉浸式网络工作组正式成立。
这使得 WebXR 成为 Web 开发人员的新 API 标准,使他们能够创建 VR 或 AR 应用程序,而无需直接使用相应的硬件。 用户只需使用网络浏览器即可查看 VR/AR 内容,无需安装额外的插件或软件。
关于 WebXR、WebVR 或 WebAR 您应该了解的内容!
数字化的下一个革命性步骤是什么?
简而言之:它可以是链接到 WebXR、WebVR 或 WebAR 技术的 QR 码或图像。 您将智能手机放在二维码或图像上进行扫描,CAD 或 3D 产品模型就会立即显示在网络浏览器中。 此处还可以显示更多附加信息。 依靠WebXR 3D建模,你在这里不是被动的,而是可以在这个3D世界中进行交互。
在桌面版本中,您可以通过链接在浏览器中查看 3D 可视化并与之交互。
先驱者:WebVR——网络虚拟现实
WebVR 是一个实验性的 JavaScript API,只能表示虚拟现实。 它已被 WebXR 取代。
开发此 API 时考虑到以下目标:
- 检测可用的虚拟现实设备
- 查询设备的能力
- 查询设备的位置和方向
- 以适当的帧速率在设备上显示图像
WebVR API 最初由 Vladimir Vukićević 于 2014 年春季为 Mozilla 开发。 该 API 的贡献者包括 Brandon Jones、Boris Smus 和 Mozilla 团队的其他成员。 2016年3月1日,Mozilla VR团队和Google Chrome团队宣布发布WebVR API提案1.0版本。 由此产生的 API 重构为 WebVR 带来了许多改进。
最后标记的版本是 1.1,最后编辑于 2017 年 4 月 5 日。 该文档的编辑包括 Mozilla 和 Google 团队的成员。 不过,微软的一些成员已经加入并积极致力于WebVR API 2.0版本的设计过程。
WebVR API
WebVR API 提供了一些新的接口(例如 VR Display、VR Pose),允许 Web 应用程序通过使用 WebGL 以及必要的相机设置和设备交互(例如控制器或视点)来显示虚拟现实中的内容。 该 API 旨在遵循与其他侵入式 Web API(例如地理定位 API)非常相似的特定路径。 必要的步骤是:
- 查询可用的VR设备列表
- 检查所需设备是否支持应用程序所需的显示模式
- 如果是,则应用程序向用户提供 VR 功能
- 用户执行指示他们想要切换到 VR 模式的操作
- 请求 VR 会话来呈现 VR 内容
- 启动渲染循环,生成显示在 VR 设备上的图形帧
- 帧的生成将持续进行,直到用户表示他们想要退出 VR 模式
- 结束 VR 会话
WebVR 1.0 在适用于 Windows 的 Firefox 55+ 发行版(仅限 64 位版本)中得到支持,并且在版本 80 之前被 Android 版 Chrome 使用作为原始试用实验,这意味着开发人员可以请求他们访问您的网站的令牌无缝启用 WebVR。 WebVR 1.1 在 Microsoft Edge(版本 15002+)以及 Samsung Internet、Chromium、Servo 和 Oculus Carmel 中得到支持。
Windows 版 Chrome 在特殊版本中支持 WebVR 1.1。 当用户启用设置时,macOS 上的 Firefox 55+ 也支持 WebVR。
尽管 WebVR 作为 API 是独一无二的,但大多数设备上都有本机应用程序,可以实现互联体验和访问 Web 内容。 Unity 和 Blender 等几种主要工具还可以导出到网络,使用户无需安装特殊应用程序即可使用其内容。
网页GL
WebGL(Web 图形库的缩写)是一种 JavaScript API,用于在任何兼容的 Web 浏览器中以硬件加速的方式显示交互式 2D 和 3D 图形,而无需使用插件。 WebGL 与其他 Web 标准完全集成,并支持使用 GPU 加速图像处理和效果作为网页渲染的一部分。 WebGL 元素可以与其他 HTML 元素混合,并与页面的其他部分或页面背景组合。
WebGL 程序由用 JavaScript 编写的控制代码和用 OpenGL ES 着色语言 (GLSL ES) 编写的着色器代码组成,GLSL ES 是一种类似于 C 或 C++ 的语言,运行在计算机的图形处理单元 (GPU) 上。 WebGL 由非营利性 Khronos Group 开发和维护。
2009 年初,非盈利技术联盟 Khronos Group 成立了 WebGL 工作组,最初成员包括 Apple、Google、Mozilla、Opera 等。 WebGL 规范 1.0 版于 2011 年 3 月发布。
2011年3月3日,第一版WebGL规范在旧金山游戏开发者大会上发布。 2011 年 3 月,WebGL 得到了 Google Chrome 网络浏览器和 Mozilla Firefox 的支持,并且在 Apple Safari 和 Opera 浏览器预发布版本中默认启用。
2011 年 11 月,Google 于 2011 年 3 月推出的 Angle 项目(代表“Almost Native Graphics Layer Engine”)获得了 OpenGL ES 2.0 版认证,使得创建支持 WebGL 的跨平台应用程序成为可能。 ,三个最著名的操作系统平台 - Windows、Mac 和 Linux - 进行开发。
WebGL 的第一个应用程序是 Zygote Body。 2012 年 11 月,Autodesk 宣布他们已将大部分应用程序移植到云端,并在本地 WebGL 客户端上运行。 这些应用程序包括 Fusion 360 和 AutoCAD 360。
WebGL 2 规范的开发于 2013 年开始,并于 2017 年 1 月完成。 该规范基于 OpenGL ES 3.0。 第一个实现可以在 Firefox 51、Chrome 56 和 Opera 43 中找到。
自 2017 年以来,W3C 一直致力于开发下一代 WebGPU。
网络GPU
WebGPU 是未来网络标准和 JavaScript API 的暂定名称,用于与硬件相关的加速图形和计算计算,旨在取代 WebGL。 W3C GPU for the Web Community Group 的开发工作由来自 Apple、Mozilla、Microsoft、Google 等公司的软件工程师进行。
与基于 OpenGL ES 的 WebGL 相比,WebGPU 不是现有图形接口的直接端口。 然而,它是基于硬件相关接口 Vulkan、Metal 和 Direct3D 12 的概念。移动设备和桌面平台都应该从速度提升中受益。
2017 年 2 月 7 日,Apple 的 WebKit 团队提出了概念验证,其中包括基于其自己的“Metal”接口的“WebGPU”标准的想法。 此外,还建议成立一个W3C社区组。
W3C“GPU for the Web”社区小组于 2017 年 2 月 16 日开始工作。 目前,苹果、谷歌和 Mozilla 都已经进行了实验,但只有苹果有正式提案。 2017 年 3 月 21 日,Mozilla 提出了自己的 WebGPU 标准提案。
2018 年 6 月 1 日,谷歌 Chrome 浏览器背后的开发人员宣布,他们已就最重要的方面达成一致,现在计划在未来实施该标准。
“WebGPU”这个名称后来被社区团体用作开放标准的工作名称。 为避免混淆,最初的 Apple 演示文稿被重命名为“Web-Metal”。
匹配PDF库:
您是否正在为您的扩展现实网络解决方案寻找技术和战略支持? Xpert.Digital 支持您!
我很乐意担任您的扩展现实解决方案的私人顾问。
您可以通过填写下面的联系表与我联系,或者直接致电+49 89 89 674 804 (慕尼黑) 。
我很期待我们的联合项目。
Xpert.Digital – 康拉德·德军总部
Xpert.Digital 是一个专注于数字化、机械工程、物流/内部物流和光伏的工业中心。
凭借我们的360°业务发展解决方案,我们为知名企业提供从新业务到售后的支持。
市场情报、营销、营销自动化、内容开发、公关、邮件活动、个性化社交媒体和潜在客户培育是我们数字工具的一部分。
您可以通过以下网址了解更多信息: www.xpert.digital – www.xpert.solar – www.xpert.plus