category
AI summary
tags
password
summary
date
icon
status
字数统计
type
slug
orgsrc
URL
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Ff08582f6-144e-46b7-8138-3b4616b7ef11%2FUntitled.png?table=block&id=32e04450-65ac-4e52-84d6-bcd4e9a0b9b2)
WWDC24 《针对空间网页进行优化》和《使用 WebXR 打造沉浸式网站体验》两个主题视频,介绍了 visionOS 2.0 全面开放对 WebXR 的支持,并进一步完善 Vision Pro 眼手在 Safari 浏览器网页中的交互体验。
苹果向来以封闭生态和注重隐私作为公司基本策略,因此对于开放、跨平台的 Web 生态并不算特别友好,虽然在去年 WWDC23 发布 Vision Pro 时已经公布了对 WebXR 的支持,但仍只是可选项,需要用户手动开启。
除了 Safari (WebKit 渲染引擎)技术因素之外,更重要的一点是出于用户隐私的考虑。对于网页应用来说,眼动数据意味着用户注意力的分布,能够获取这一指标,可能是所有网站、电商、广告梦寐以求的:
![网站用户注意的眼动研究](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F98fc559b-32ee-4dab-a422-8e35577ac83b%2FUntitled.png?table=block&id=d3e8a8be-dbf1-45d6-8f20-c879cb3f7bbd)
我们知道 Vision Pro 为了防止第三方应用获取用户真实眼动注视数据,在 visionOS 底层设计中只有系统级交互组件才能够获取并响应用户眼动。这一策略对于 Safari 浏览器同样适用,即使用浏览器访问网页时,只能在用户产生交互(如点击链接、按钮)才能做出响应,而不能实时检测用户当前视线坐标。
然而对于以 WebGL 为渲染引擎的 WebXR 来说,却并没有那么简单,或者至少可以说,在去年 WWDC23 时,还无法做到使用 Apple Vision Pro 设备眼动追踪进行交互的同时,在 WebXR 中有效隐藏用户真实眼动数据。
![Apple Vision Pro Privacy Overview, 2024](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fbb0b3ca3-946b-437e-9fd9-43098f1a3beb%2FUntitled.png?table=block&id=30db8ca6-0002-4cb7-970c-d4d9dd48a986)
visionOS 2 终于给出了 WebXR 隐私保护的正确答案:瞬态指针(Transient pointer)
![WebXR 瞬态指针](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F92193b29-9561-4e01-b238-104cd679a783%2FUntitled.png?table=block&id=082e416a-8724-4c3a-89af-7b3687372597)
瞬态指针的涉及思路和 visionOS 系统保持一致,即不会将硬件传感器数据(如眼动)直接用于传达交互指令,而是由经过操作系统脱敏处理后识别到的「用户意图」作为交互事件的触发指令。
当然,严格意义上来说
transient-pointer
是写在 WebXR 标准草案里的,并非 Apple 独家定义。不过负责 Apple Vision Pro 产品 WebXR 部分的 Ada 本身也是 WebXR 标准编辑之一,而且根据 WebXR 草案历史记录,自 20231005 才开始引入,重点强调了对注视(Gaze)等用户敏感数据的保护,我们当然可以视其为 Apple Vision Pro 为 WebXR 开源标准和用户隐私所做出的积极贡献!![WebXR 草案对 transient-pointer 的定义](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F00a0e1d6-1c5b-4a33-9f54-706d82aa4446%2FUntitled.png?table=block&id=ab2d844e-cc30-400e-9251-4e7bbc04b518)
Safari 远程调试 Vision Pro WebXR 应用
除了对 WebXR 的支持升级之外,visionOS 2 还非常贴心地为开发者提供了 Safari 远程调试功能,即在配对的 macOS Safari 浏览器中,可以通过开发者控制台实时查看 WebXR 应用的运行日志。再配合 visionOS 中开启「沉浸式体验测试」下允许 Mac 虚拟显示器,我们就可以获得目前可能最理想的 WebXR 实时预览 & 沉浸式开发环境!
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fbb1f8e3b-0778-4365-a346-074e8361f56d%2FUntitled.jpeg?table=block&id=1bb08043-093c-49b8-84ed-aa08657d7aea)
小结
总体来看 visionOS 2 对 WebXR 生态的支持可谓诚意满满,我们也希望借助 WebXR 开放、跨平台、免审核等优势,进一步扩展 Apple Vision Pro 的内容生态,也希望 WebXR 开发者能够给用户带来更多更新期有趣的应用体验!
最后,你也可以通过 Vision Pro 访问 https://v2xr.xyz 体验我们为 visionOS 2 开发的体验演示 Demo!