视频教程地址
PolySpatial VisionOS Samples 示例场景
Unity Vision Pro 中文课堂教程地址:
Unity3D Vision Pro 开发教程【保姆级】 | Unity 中文课堂
有界体积样本
Balloon Gallery 气球画廊
气球画廊 是一个迷你游戏,演示了使用**Indirect Pinch and Direct (Poke) 间接捏和直接(戳),**输入对有界体积场景中的目标内容进行有针对性的输入。
Character Walker 角色行者
角色漫步者是一款迷你游戏,展示了在有界体积内动态重新定位体积相机的能力。角色漫步者迷你游戏跟随角色在大于有界体积范围的环境中导航。
Input Data Visualization 输入数据可视化
输入数据可视化 场景允许用户测试各种输入类型:直接(戳)Direct (Poke)、直接捏 Direct Pinch 、间接捏Indirect Pinch,, 以及使用 Debug UI 分析数据。
Manipulation 操纵
操纵场景允许用户在有限体积内操纵具有不同碰撞器形状的各种物体。
Spatial UI 空间用户界面
Spatial UI场景为用户提供了有界应用中使用的常见空间 UI 控件的示例。其中包括按钮、滑块、切换按钮和下拉菜单等元素。
Project Launcher 项目启动器
项目启动器场景允许用户使用旋转木马式空间 UI 从有界体积启动各种 Unity 场景。
无界样本
无界样本使用无界体积相机演示混合现实。
这些示例使用了 Apple visionOS 模拟器不支持的 ARKit 功能。您必须在 Apple Vision Pro 设备上运行这些示例。
无界样本使用以下附加包:
-
XR 交互工具包:XR 交互工具包是一个用于创建 VR、MR 和 AR 体验的高级、基于组件的交互系统。
-
XR Hands:XR Hands 包允许访问来自 visionOS 上的 ARKit 的手部追踪数据。
您可以在上面的链接中找到有关如何安装这些软件包的说明。
在 visionOS 上,Apple ARKit 功能由Apple visionOS XR 插件包 (com.unity.xr.visionos)实现。您不需要Apple ARKit包 (com.unity.xr.arkit),它为 iOS 实现了 ARKit 功能。
图像追踪
图像跟踪场景允许用户在无限制的应用程序中利用预定义的唯一图像标记来生成内容。
此示例使用了 VisionOS 模拟器不支持的 ARKit 功能,您必须在设备上运行它。
混合现实
混合现实场景允许用户在无界应用程序中使用自定义 ARKit 手势生成内容。它还可以在物理环境中可视化平面数据信息。
此示例使用了 VisionOS 模拟器不支持的 ARKit 功能,您必须在设备上运行它。
将 SwiftUI 与 Unity 结合使用
在 visionOS 上,可以将 SwiftUI 与为混合现实 (沉浸式空间) 构建的 Unity 应用程序一起使用。示例包含一个SwiftUI
演示一种方法的示例。
有关详细信息,请查看示例中以下文件中的注释:
-
SwiftUIDriver.cs
- 驱动与 SwiftUI 互操作的 MonoBehaviour。它用于
DllImport
访问在 Swift 中定义的方法。
- 驱动与 SwiftUI 互操作的 MonoBehaviour。它用于
-
SwiftUISamplePlugin.swift
- 与之交互的 Swift 代码
SwiftUIDriver
提供了在 C# 和 Swift 之间来回传递信息的能力。
- 与之交互的 Swift 代码
-
SwiftUISampleInjectedScene.swift
- 定义 SwiftUI 的 Swift 类型,
Scene
该 SwiftUI 被注入到顶级 App 的场景中。以 结尾的 Swift 文件...InjectedScene.swift
会自动注入,无需修改生成的顶级 App。
- 定义 SwiftUI 的 Swift 类型,
-
HelloWorldContentView.swift
- 中定义
View
使用的Swift 。此文件位于名为 的目录中。目录下的所有 Swift 文件都将在顶级应用程序中可用(而不是在 Xcode 项目中)。WindowGroupSwiftUISampleInjectedSceneSwiftAppSupportSwiftAppSupportUnityFramework
- 中定义
通过使用类似于示例的方法,您可以在单独的窗口中利用 SwiftUI 实现平台原生 UI,同时在体积窗口中显示来自 Unity 的 3D 内容。
不支持在单个体积窗口中将 SwiftUI 元素与 Unity 管理的内容混合。