如何查看ApplevisionOS示例代码

这 Apple Vision Pro 将为用户提供全新类别的空间应用程序。 以下是如何通过查看 Apple 示例代码来开始使用。

什么时候 Apple 介绍了 Apple 两个月前的 WWDC 2023 上,Vision Pro 和 VisionOS 震撼了世界。 Apple Vision Pro 承诺以简单而优雅的方式向用户提供沉浸式应用程序。

除了系统演示及其外观之外, Apple 还添加了资源页面 开发者网站。 这些页面的其中一个部分包含您可以下载的示例代码 下载 了解如何创建自己的visionOS 应用程序。

目前有四个示例应用程序 Apple:

  1. 你好世界
  2. 目标视频
  3. 西洋镜
  4. 快乐雷

所有示例应用程序页面都有可播放的简短视频,因此您无需在 Xcode 中构建它们即可看到它们的外观。

第一步

首先您需要下载并安装 macOS Sonoma beta 到备用驱动器,启动它并运行任何更新。 然后你需要安装Xcode beta 4、它的命令行工具和visionOS模拟器。

所有三个组件都可以单独下载 Apple的开发者下载页面。 您必须有一个 Apple 登录ID即可下载。

软件环境设置完毕后,请转到 VisionOS文档 页。 滚动到页面底部,您将看到列出的所有四个示例应用程序。

单击每个示例应用程序页面,然后单击 下载 单击每个按钮可单独下载示例应用程序项目。

要构建和运行每个应用程序,您需要熟悉 Xcode、Swift、SwiftUI,在某些情况下还需要熟悉 ARKit 和 3D 工具。

你好世界

与传统的 Hello World 应用程序不同,visionOS Hello World 是一款 2D 和 3D SwiftUI 应用程序,可显示地球、轨道物体和太阳系。

与大多数 Hello World 应用程序不同,visionOS 版本包含四十多个文件 – 其中有与应用程序本身相关的文件,例如模型、设置、地球对象、轨道文件、太阳系文件和现实视图。

Hello World 使用沉浸式空间和 3D 体积在一个空间中以三个维度表示地球和太阳系。 您可以抓取和移动空间中的对象,缩放它们,并查看与它们关联的其他对象,例如轨道上的对象。

有一点是明确的:visionOS 应用程序将比大多数应用程序更加复杂 iOS,或 macOS 应用程序。 准备好花费大量时间学习创建visionOS应用程序所需的新技术。

目标视频

Destination Video 是一个跨平台视频Streaming在visionOS上运行的应用程序。 iOS和电视操作系统。 它允许通过通用界面进行跨平台视频播放,同时仍然在visionOS上提供身临其境的体验。

Target video 使用 Apple 经过验证的 AVFoundation 框架,该框架为音频和视频播放以及媒体处理提供高级 API。

有关 AVFoundation 的精彩介绍,请参阅 Bob McCune 的优秀著作《学习 AV Foundation:掌握 AV Foundation 框架的实践指南》。 由…出版 艾迪生-韦斯利。

西洋镜

西洋镜 3D 地图视图。

Diorama 是一款应用程序,演示如何使用 Apple 的 RealityKit 和 Reality Composer Pro (RCP) 来创建交互式 3D 地图,用户可以在 3D 空间中旋转和导航。

Diorama 可让您在 3D 地图上参观加利福尼亚州的两个现实徒步旅行地点:优胜美地国家公园和卡特琳娜岛。

要创建像 Diorama 这样的交互式 3D 应用程序,首先使用或创建 3D 资源,例如对象、图像和 RCP 场景。 您还可以添加音频。

RCP 提供了一个对象库,您可以使用或创建自己的对象。 Diorama 使用自定义资源而不是 RCP 库中的资源。

要将资产添加到 Swift VisionOS 应用程序,您可以将它们导入 RCP 或将它们添加到 Swift 包中应用程序的 .rkassets 包中。

您还可以使用行业标准的 3D 对象文件格式,通用场景描述 USDZ 文件。 然而,它们的性能不如本机编译的 RCP 资产。

RCP 项目可以有多个场景,其中包含称为实体的对象层次结构。 实体层次结构仍然显示在新类中 beta 被称为 RealityView

示例代码还展示了如何附加兴趣点,然后在用户导航到它们时过渡到它们,以及如何使用着色器图向对象添加自定义纹理。

快乐雷

快乐雷。

Happy Beam 是一款小型游戏应用程序,展示了如何在visionOS 中创建简单的交互式3D 游戏。 在这款游戏中,您可以在身临其境的 3D 空间中用彩虹击落悲伤的浮云,让它们振作起来。

您可以使用手势或游戏控制器。 该应用程序使用 ARKit 的 3D 手部跟踪来识别和跟踪心形手势,作为用户界面的一部分。 VisionOS 中会提示用户输入手势,并且必须授权才能运行游戏。

NSHandsTrackingUsageDescription 用户信息键向用户解释为什么请求手部跟踪。 Happy Beam 使用 ARKit 的高级图像分析和 simd 矩阵浮点数学库,用于确定用户的手在 3D 空间中的位置。

方法 computeTransformOfUserPerformedHeartGesture() 示例代码中的 很有趣,因为它实际上分析用户手指上的关节以查看用户是否正在创建心形。

Appleist SharePlay 还支持多人游戏。

Happy Beam 令人兴奋地展示了带有交互式手势的沉浸式 3D 游戏在 VisionOS 上的外观。

新平台的良好开端

Apple Vision Pro 和 VisionOS 是计算和计算领域令人兴奋的新进展 Apple 提供了大量新材料来帮助开发人员入门。 尤其是这几个示例应用程序确实令人兴奋。

如果今天这样的应用程序已经可以在visionOS上实现,那么不难想象几年后系统完善时应用程序会是什么样子。

这是一个比以往任何时候都更好的时代 Apple 开发商和 Apple Vision Pro 承诺在未来几年内让开发人员保持兴奋。