
苹果为 Vision Pro 打造的 VisionOS 新平台在设计上大量借鉴了现有 3D 与 iOS 工具。但在开发者眼中,这一切是否足够有吸引力?

苹果在发布自己的这款 Vision Pro 混合现实头显时,打出了“欢迎来到空间计算时代”的标语。公司 CEO 库克将其描述为“一种将现实世界与数字世界无缝融合,借此实现增强现实的新型计算机。”而为该设备提供动力的新操作系统名为 VisionOS,苹果称其带来了“空间计算的基本构建块”。
如果这像苹果宣称的是一台“新型计算机”,那对开发者来说无疑代表着前所未有的待探索舞台。那么开发者群体对于 VisionOS 和 Vision Pro 究竟抱有哪些期待?就让我们从 WWDC 大会上的《上手构建空间计算应用》主题研讨中寻找答案:
https://developer.apple.com/videos/play/wwdc2023/10260
苹果 RealityKit 团队工程师 Jim Tilander 开门见山地表示,“默认情况下,应用程序会在共享空间(Shared Space)内启动,并在这里一个个并排列出,跟 Mac 桌面上的应用布局差不多。人们则可通过透传随时观察背景环境。”(所谓透传,就是指背景环境为用户面向的真实物理空间,可以随时将注视焦点在虚拟和物理之间往来切换。)
之后他又介绍了三个新概念,即 Windows、Volumes 和 Spaces 三个 SwiftUI 场景。SwiftUI 已经拥有四年历史,成为苹果各款产品中的主要用户界面框架。在 VisionOS 之上,SwiftUI 也实现了一系列升级,包括“全新的 3D 功能,以及对纵深、手势、效果和沉浸式场景类型的支持”。

这三个场景的基本思路非常清晰,但需要注意的是,除了“共享空间”的概念,苹果还提出了“全空间”(Full Space)。在全空间中,用户面前“将仅显示当前应用程序的内容”,从而提供“更加身临其境的体验”。
有趣的是,苹果对于“临场感”的定义似乎与 Meta/Facebook 有所不同。Meta 认为临场感是指“在虚拟世界中,为能够实际联系的对象创造高保真数字表示”。换句话说,Meta 的临场感强调让用户完全沉浸在虚拟世界当中。但从苹果发布会上公布的演示来看,苹果的“临场感”并不过多强调沉浸感,而是宽容地允许物理世界进入 Vision Pro 头显的视野。

隐私利弊
苹果宣称,Vision Pro 和 VisionOS 平台将把保障用户隐私视为核心原则,同时“允许开发者轻松通过 API 使用设备上的众多功能”。
苹果给出的用户隐私保护方案,就是代替开发者处理数据和交互。Tilander 为此举了两个有趣的例子:
“系统不允许应用程序直接访问来自传感器的数据,而是代为提供事件的视觉提示。例如,系统知晓用户在 3D 空间中眼睛和手部的位置,并将手势作为触控事件进行传递。此外,系统会在检测到注视时在视图上呈现悬停效果,但不会直接与用户所查看的当前应用进行通信。”
有时候,这种“代劳”并不能满足开发需求。Tilander 解释道,“如果您确实需要访问更敏感的信息,系统会首先征求用户的许可。”

考虑到 Vision Pro 对人们隐私的潜在侵犯——毕竟用户需要接受眼部扫描以实现登录和视线跟踪——苹果对开发者施加的限制听起来确实有理有据。
但谷歌开发者 Brandon Jones 在推文中指出,“如果想要开发 AR 应用,就必须向苹果完全开放渲染控制权。”虽然总体而言他也承认这并不是坏事,“毕竟我们也不希望广告能通过跟踪视线来判断用户到底看了多久”,但他对苹果“悄悄重构和回避现有网络标准的作法”仍有微词。
简而言之,苹果对 Vision Pro 的隐私保障是在操作系统层面上实现的,这也赋予了苹果自身很大的控制权。Jones 承认,大多数开发者都会对此感到满意,但他也一针见血地指出“苹果之前已经在严格限制我们在 iOS 上能做哪些操作,现在更是加倍施以约束、阻止人们偏离其预设的使用模式。”
相关工具
在谈到开发者要如何在 VisionOS 上构建应用程序时,Tilander 表示“一切都从 Xcode 开始”。Xcode 是苹果的集成开发环境(IDE),带有 Vision Pro 模拟器和增强的“Instruments”性能分析工具(其中包括新的 RealityKit Trace 模板)。

3D 内容的构建框架则是 ARKit 和 RealityKit,它们负责处理跟踪、渲染、物理、动画、空间音频等元素。
苹果还为 VisionOS 推出了一款名为 Reality Composer Pro 的新编辑器,“用于为应用程序预览和准备 3D 内容”。一位 Reddit 用户指出,它“就像 AR 版本的 PowerPoint”,如此说来应该是以易用性作为设计主线。

毫无疑问,为 Vision Pro 开发软件的不只是原苹果开发阵营,因此苹果公司决定与 3D 平台 Unity 建立合作。在 WWDC 23 的开幕主题演讲中,主讲人表示“基于 Unity 引擎的主流游戏和应用程序,可以完全访问 VisionOS 中的各项功能,包括透传、高分辨率渲染和原生手势。”Tilander 还在会上确认,过程中无需借助任何 Unity 插件,开发者能够直接“将现有内容搬运过来”。
上手第一课
要创建一款新应用,大家首先需要在 Xcode 中选择默认的“xrOS”(应该是 VisionOS 的缩写形式)应用模板。接下来选择“场景类型”,默认为“Window”,即显示在共享空间当中。当然,大家也可以根据设计需求做出更改。

Tilander 继续解释道,“在引导完成后,大家会在 SwiftUI 中看到初始应用,其中包含您所熟悉的按钮,还有由 RealityKit 渲染的 3D 对象。”

大家还可以轻松将 iPhone 或 iPad 应用转换为 VisionOS 形式。
今年 7 月苹果将面向开发者发布更多资源,包括开发工具包。而 6 月底之前,Xcode 也将上线初始 VisionOS SDK。
吸引更多开发者投身 3D 新世界
与往常一样,每当苹果公布一款新设备,都会在开发工具和技术上投入大量心力。对现有 iOS 开发者来说,VisionOS 这边也确实没有太多难以掌握的元素。因此对于原苹果开发社区来说,整个过渡体验堪称是顺畅无缝。
当然,这里的问题就是苹果明显是在诱导开发者投入新的封闭生态。我们在 WWDC 23 大会上获悉,VisionOS 将拥有自己的 App Store,而且估计在开放度上还不如 iOS 版 App Store。
最后需要注意的是,VisionOS 的用户界面跟 iPhone 并没有多大区别——至少在初代 Vision Pro 上是如此。正如一位 Twitter 用户所言,“仍然沿用互联网上常见的矩形框体”。从好处想,苹果这是希望开发者能够快速适应、轻松在 VisionOS 上开发新应用。但从用户的角度出发,目前的 Vision Pro 只能说是噱头虽足,视觉设计却缺乏革命性。
原文链接:
https://thenewstack.io/vision-pro-for-devs-easy-to-start-but-ui-not-revolutionary/
评论