LESSON 32 / 575 分钟

visionOS:窗口、空间与沉浸

先从熟悉的窗口开始,再判断你的任务是否真的需要空间内容。

用你的前端经验理解

二维 UI 仍然有用,但空间尺度、视线与手势输入、舒适性是 Web 中较少面对的约束。

为什么需要它

空间应用可以从普通二维窗口开始,不需要第一天就进入完全沉浸。窗口、体积内容和沉浸空间分别适合不同任务。对阅读工具,稳定可读的窗口可能比漂浮三维文字更有价值;空间能力应解决理解或操作问题,而不只是展示技术。

它是怎样工作的

交互主要通过系统支持的视线与手势完成,应用不应假定可以自由取得用户精确眼动轨迹。空间感知和环境相关能力有各自的授权与运行条件。内容位置、运动和深度会影响舒适度,因此不要强迫用户持续仰头、追逐目标或承受不必要的视觉移动。

把关键概念连起来

1

层级

Window 承载常规界面;Volume 展示有边界的三维内容;ImmersiveSpace 用于沉浸体验。

2

技术

SwiftUI 构建界面,RealityKit 构建空间内容。不同感知能力与数据访问受系统授权限制。

3

体验

尊重用户空间与舒适度,避免把所有信息漂浮在四周。尽量复用系统交互,不模拟原始眼动追踪。

从阅读窗口到有价值的空间内容

  1. 先实现可缩放且文字清晰的窗口,保证基本导航和输入可用。
  2. 如果内容确实需要三维理解,再用独立体积展示模型,让用户主动进入或退出,不强制改变整体环境。
  3. 处理能力不可用与权限拒绝,保留二维说明或静态内容作为有意义的体验。

这里需要你亲自判断

“能做 3D”不等于“应该做 3D”;常规效率工具可以先采用窗口体验。

做一个小练习

为阅读 App 分别提出一个有价值的空间功能和一个没必要的空间装饰。

  1. 说明你的功能在哪种空间呈现中受益,并写出不使用三维也能完成的基础流程。
  2. 设计进入与离开沉浸的明确入口,考虑中断后的恢复。
展开参考思路与验收标准

平台独特能力应按需渐进加入。二维窗口不是不合格的 visionOS 应用;是否舒服、可理解并有实际价值,比三维元素数量更重要。

普通设置面板适合先用什么?

继续查阅官方资料
Apple Developer 官方资料

本课聚焦核心认知。具体 API、系统要求与发布政策,以当前官方文档和工程验证为准。

答对理解题后即可标记完成