Apple 提供的 visionOS 开发技术、框架与工具指南

了解如何使用 Apple 提供的开发技术、框架与工具,来开始你的 visionOS 应用开发。

Apple 提供的 visionOS 开发技术、框架与工具指南

Apple 提供了一整套强大的开发技术、框架和工具,来帮助开发者创建令人惊叹的沉浸式体验。

相较于传统的 iOS 或 macOS 平台的“二维”应用开发,visionOS 因为涉及到“三维”应用,因此会使用到一些独有的新技术和新工具。对于新接触 visionOS 开发的同学来说,难免会疑惑这些技术和工具分别用来做什么?应该在哪些场景下使用它们?本文将介绍 Apple 提供的这些主要开发技术、框架和工具。

注意,我在这篇文章中专注于介绍 Apple 提供的开发生态中的技术和工具,因此不会涉及 Unity 或其他传统 AR 领域的开发工具和技术。

开发技术与框架

Swift

Swift 是 Apple 推出的现代化编程语言,具有强大的功能和简洁的语法,专为提高开发效率而设计。Swift 提供了安全的内存管理和快速的性能,是开发 visionOS 应用的首选语言。

Swift 开发语言无需单独安装部署,在安装 Xcode 开发工具时,Swift 会和 Xcode 一起安装。Swift 是所有下面这些框架的基础 —— 它们都是在 Swift 语言基础上开发、封装而成。

SwiftUI

SwiftUI 是基于 Swift 开发的一个现代化的用户界面框架,允许开发者使用声明式语法构建用户界面。通过 SwiftUI,开发者可以轻松创建响应式和动态的用户界面。

例如,对于下面这个 2D 平面窗口的 UI,即可使用 SwiftUI 框架来轻松创建:

本质上来说,iPhone 或者 Mac 平台的 SwiftUI 组件,绝大部分在 visionOS 平台上仍然可用,只是在显示风格上稍有不同——例如会添加毛玻璃效果。这意味着你可以使用同一套代码,构建多个平台可用的应用,仅仅只需做很少的修改,甚至完全不用修改。

RealityKit

RealityKit 是苹果公司在 WWDC 2019 上推出的一款全新框架。

RealityKit 能够提供逼真的 3D 模型渲染、动画、空间音频等功能。对于混合现实场景,RealityKit 还提供了一个强大的物理引擎,用于在增强现实环境中模拟真实世界的物理行为,包括重力、碰撞和弹性等。这些都是创建高质量、逼真的 AR 体验必不可少的技术。

例如,在空间中渲染一个下图这样的 3D 模型,就必须使用到 RealityKit 提供的 API:

再比如,我们要开发一个 3D 游戏或应用,可能会使用到这些技术:

  • 3D 模型渲染:渲染逼真的三维模型,并能够根据现实世界光照条件,动态的渲染模型的表面材质反光效果、阴影等。
  • 物理模拟:创建逼真的物理效果,例如重力、碰撞和弹跳效果。
  • 高级动画:通过关键帧动画和骨骼动画,制作高质量的角色动画和物体运动。
  • 音效和光照:添加环境音效、碰撞音效和复杂的光照效果,提升沉浸感。

在实现上述功能时,就需要使用到 RealityKit 中的 API。

ARKit

ARKit 是 Apple 在 WWDC 2017 上推出的增强现实(AR)框架,它利用设备的相机、传感器和处理器,提供高性能的 AR 体验。ARKit 不仅支持基本的平面检测和对象放置,还支持人脸追踪、环境感知和光线估计等功能,使开发者能够创建出更加沉浸和互动的 AR 应用。

平面检测

例如,我们要在现实世界中放置虚拟家具或其他虚拟物体时,ARKit 的平面检测功能能够识别出水平和垂直平面,从而精确地放置虚拟物体。

ARKit 可以检测出水平和垂直平面,并提供这些平面的详细信息,如位置和尺寸。开发者可以使用这些信息将虚拟物体稳定地放置在真实世界的表面上。

光线估计

例如,我们希望在 AR 环境中模拟现实光照效果,使虚拟物体更自然地融入实际场景时,ARKit 的光线估计功能就非常有用。

ARKit 可以估计环境光照,并调整虚拟物体的光照效果,使其看起来更符合真实世界的光影变化。

人脸追踪

例如,我们要开发一个 AR 滤镜应用,可以实时跟踪用户的面部表情,并在面部上叠加特效时(抖音或 SnapChat),ARKit 的人脸追踪功能非常关键。

ARKit 3 Face Tracking Tutorial 4Experience VR Studio

ARKit 支持高精度的人脸追踪,能够检测到用户面部的 3D 几何形状和表情变化。开发者可以利用这些数据创建互动性强的面部特效和动画。

运动追踪

例如,我们要开发一个需要精确位置和运动数据的 AR 游戏或导航应用时,ARKit 的运动追踪功能能够提供准确的设备位置和姿态信息。

ARKit 利用设备的 IMU 传感器(包括加速度计和陀螺仪),结合视觉数据,实时追踪设备在空间中的位置和方向。这使得虚拟内容可以在用户移动设备时保持准确的定位。

visionOS 开发工具

Xcode

Xcode 是 Apple 提供的一体化开发环境(IDE),支持所有 Apple 平台的开发。Xcode 包含代码编辑器、调试工具和模拟器,是开发 visionOS 应用的核心工具。开发者可以使用 Xcode 来编写、测试和部署他们的应用。

安装方式:可以直接在 App Store 中搜索 Xcode,免费下载安装即可。

Simulator

Simulator 是 Xcode 的一部分,允许开发者在不同的 Apple 设备环境中测试他们的应用。对于 visionOS,Simulator 提供了模拟 AR 和 VR 环境的功能,使开发者能够在真实设备之前测试和优化他们的应用。

安装方式:Simulator 是 Xcode 的一部分,会随着 Xcode 一起安装。你可以点击 Xcode -> Open Developer Tool -> Simulator 来打开:

Simulator 需要使用操作系统的镜像文件(runtime 文件)才能运行,你可以根据提示按需下载 visionOS 、iOS 或其他系统的镜像文件,然后启动即可。

Create ML

Create ML 是一个用于机器学习模型训练和部署的工具,集成在 Xcode 中。通过 Create ML,开发者可以轻松创建和训练自定义的机器学习模型,然后将其集成到 visionOS 应用中,以增强应用的智能化和互动性。

安装方式:Create ML 是 Xcode 的一部分,会随着 Xcode 一起安装。你可以点击 Xcode -> Open Developer Tool -> Create ML 来打开:

Reality Composer Pro

Reality Composer Pro 是一个专业的 3D 和 AR 场景设计工具,允许开发者在可视化环境中创建和调整 3D 内容。通过 Reality Composer Pro,开发者可以设计复杂的 3D 场景和动画,然后将其导入到 visionOS 应用中。