










Vision Pro 可以使用之前的 Swift 开发工具进行开发,也可以使用 Unity 工具进行开发,后者更适合 MR/VR 游戏和 3D 交互相关内容的开发。
Unity 的 Apple Vision Pro 开发工具包叫做 PolySpatial。
(1)硬件要求
(2)软件要求
将 Apple Vision Pro 和电脑连接在同一个 Wi-Fi 中,通过网络将电脑中的程序传输到 Vision Pro 中。
(1)配对 Vision Pro 与 Mac
打开 Xcode,创建一个新 Project。
选择 visionOS 模板。

取一个项目名字,与选择项目位置。
新建完成 Xcode 工程。
进入 Vision Pro 的设置页面,位置在 Settings > General > Remote Devices。
回到 Xcode,点击菜单栏的 Window > Devices and Simulators,会看到配对界面,点击 Pair。(注意要保证 Vision Pro 和 Mac 在同一个局域网内,如果看不到配对界面,可以替换成手机热点试一下)

Vision Pro 中会显示配对码,输入然后 Connect 即可完成连接。

(2)打开 Vision Pro 开发者模式
Vision Pro 设置页面拉到最下面,可以看到 Developer Mode,可以将它开启,进入开发者模式。
(3)将 Xcode 程序打包到 Vision Pro 真机中运行
Xcode 默认是使用模拟器运行,要想在真机中运行,需要点击界面上方的 Apple Vision Pro 按钮,设备切换为与电脑配对的 Vision Pro。(注意需要保证 Vision Pro 系统版本高于项目最低 visionOS 版本)

点击左侧项目文件夹顶部(上图同样位置),点击 Signing & Capabilities,选择 Team,找到自己的开发者账号。将当前项目与开发者账号关联,每次创建新的工程都需要手动添加。

点击运行,可以将程序打包到 Vision Pro 中,可以在菜单中看到新建的项目应用,打开可以看到 Hello World 字样。
可能的 Error: Apple Vision Pro’s visionOS doesn’t match project. 说明需要匹配 Apple Vision Pro 系统版本和 Xcode 设置的 visionOS 版本。 可以点击左侧项目栏上方项目名,在 General 中设置最低系统版本 Minimum Deployments 的 visionOS 版本。
(1)安装 Unity
在 Unity 官网下载 Unity Hub【一定要是国际版】,并在 Unity Hub 中安装 Unity Pro 2022.3.18f1 及以上版本(通过 学生计划 免费申请 Pro 许可)。
点击 Unity 版本右侧的齿轮 > Add modules,添加 visionOS Build Support 模块。


(2)创建项目
需要创建 Universal 3D 模板的项目,右侧可以更改项目名称和位置。

在项目中,点击左上角 File > Build Settings,切换项目平台为 visionOS(注意选择真机调试):

(3)安装插件
点击 Edit > Project Settings,找到 XR Plug-in Management,安装这个插件(如果开发 AR/MR 必须安装这个插件,如果只开发窗口应用则不需要)。

安装完成后,再次点击 XR Plug-in Management,勾选 Apple visionOS(如果没有 Pro 许可证,是没有这个选项的),这里可能会跳一个 Warning,只要点击 Yes 即可,之后 Unity 会重启重新导入一些包,这时再勾上 Apple visionOS 即可。

还是在这个界面,点击 XR Plug-in Management > Apple visionOS,在第一行 App Mode 可以修改开发模式为 VR/MR,因为之后的项目都是 MR 应用,因此这里切换为 MR,系统会自动帮我们安装 PolySpatial。

还是在这个界面,点击 Project Validation,找到其中的 Vision Pro 图标下面的 Fix All,点击后 Unity 会自动帮我们修复一些环境配置。

还是在这个界面,点击 Apple visionOS,填写 Hands Tracking Usage Description 和 World Sensing Usage Description。
当程序想要访问手势追踪和空间数据的权限的时候,在 Vision Pro 中会跳出一个弹窗确认,这里填写的就是通知大标题下面的小字具体内容。

(4)导入 PolySpatial 样例场景
点击左上角 Window > Package Manager,找到 PolySpatial 包,其中有 Samples 选项,在这里可以导入 PolySpatial 的模板设置和模板场景。

导入之后,可以在下方找到 Assets > Samples > PolySpatial > Scenes,里面是 PolySpatial 提供的样例场景。
可以打开其中的 ProjectLauncher,按照要求导入 TMP。

然后打开 File > Build Settings,将 PolySpatial 的所有样例场景都拖到上面的 Scenes in Build 栏中,并将 ProjectLauncher 拖动到第一个(因为这个是所有场景的启动器)。

(5)配置实机串流调试
找到 PolySpatial 的 Play to Device 页面,可以看到其中有一条 TestFlight 的链接,点开安装 TestFlight 以及 Unity 的 Play to Device 软件。

然后在头显端也安装 TestFlight 软件,并登录与 Mac 相同的账号,这里可以看到 Unity Play to Device 应用。
然后打开 Unity Play to Device Host 这个应用,可以看到页面中显示了一个 IP 地址,记住这个 IP 地址。
打开 Unity 的 Window > Play to Device,在下方输入 Vision Pro 的 IP 地址,名字任意,点击 Add Device。在上方列表可以看到添加后的设备,在此处勾选 Connect,并将上面的 Connect on Play 设置为 Enable。

回到 Unity,点击 Play,可以将程序打包发布到头显上。
退出时,最好在 Unity 界面中结束程序运行,而不要在 Vision Pro 中关闭。 如果点击 Play 没有将程序发布到 Vision Pro 中,首先确认 IP 地址无误。可以同时长按 Vision Pro 顶部两个按钮,然后终止 Unity Play to Device 应用,重新启动该应用,然后再运行 Unity 程序。
这种情况,可以在 Unity 中运行程序显示,不过无法脱离 Unity,下面介绍如何将 Unity 中的程序打包成一个应用发布到 Vision Pro 头显中。
(6)打包为 Xcode 工程
打开左上角 File > Build Settings,点击下方 Build 按钮,创建一个文件夹用来保存打包后的 Xcode 工程文件,然后点击 Choose 开始打包。

打包完成后,就会在创建的文件夹中,生成一个 Xcode 工程。此时可以使用 Xcode 打开该项目,具体运行方式与上一节相同。
(1)安装 Unity
在 Unity 官网下载 Unity Hub【一定要是国际版,国际版才能安装 Unity 6】,并在 Unity Hub 中安装 Unity 6.0 及以上版本(通过 学生计划 免费申请 Pro 许可)。
点击 Unity 版本右侧的齿轮 > Add modules,添加 visionOS Build Support 模块。
(2)创建项目
注意 Unity Editor 的版本,以及选择 Universal 3D。

(3)导入 PolySpatial 2.0
首先点击 Unity 的 File > Build Profiles,切换开发平台为 visionOS,并设置 target SDK 为 Device(如果要真机调试的话)。

打开 Edit > Project Settings,找到最下方的 XR Plug-in Management,安装,并启用 Apple visionOS,在电脑端勾选 PolySpatial XR。

然后打开 Apple visionOS 选项,按照如下选择(其中两个 Description 可以随意填写)

剩余的 Sample 导入与 Play to Device 均与之前相似,注意需要安装 Play to Device v2
(1)空间类型分类
可以理解为在电脑上的应用程序,Shared Space 就是不同的应用可以同时以窗口的形式进行显示,而 Full Space 就是应用的全屏显示。
需要注意的是,Full Space 中才能够使用 ARKit 的功能,例如手势追踪,网格数据获取,头部跟踪,物体跟踪等,在 Shared Space 中是无法获取的。
(2)应用形态
(1)创建场景
首先打开 Project 面板,进入 Assets > Scenes 目录下,新建一个场景,任意命名(例如 SharedSpace_VolumeCamera),然后双击打开。

(2)添加体积相机
打开 Hierarchy 面板,在空白区域右键,点击 XR > Setup > Volume Camera 添加体积相机。

接下来需要设置体积相机的配置文件。点击 Volume Camera,找到右侧的属性栏,按下图找到其中的 Volume Window Configuration,点击右侧的圆圈符号,如果前面正确加载 PolySpatial 的样例场景的话,此时会有两个可以选择的 Volume Camera 配置,分别是 Bounded… 有边界的,和 Unbounded… 无边界的体积相机。

如果想自己创建配置文件,可以找到 Assets > Samples > PolySpatial > Resources 文件夹,然后新建配置文件。(右键 > Create > PolySpatial > Volume Camera Window Configuration)。
配置文件必须要在 Resources 文件夹下,但 Resources 文件夹的位置可以是任意的,只要是在 Assets 包含的目录中即可。
(3)应用与体积相机边界盒大小的区别
Bounded_VolumeCameraConfiguration中的Output Dimensions修改,单位为米应用的边界盒大小,决定了 Vision Pro 中启动应用时,应用在空间中占据空间的大小。
体积相机的边界盒大小,决定了在 Unity 中渲染时,有多少物体会被渲染(所有在边界盒范围内的物体才会被渲染)。
如果应用的边界盒大小不变,体积相机的边界盒大小变大,那么应用中物体的大小就会变小来保证所有物体都能够被渲染显示。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。