用途:为 visionOS 应用、窗口、体量或沉浸空间做设计或设计评审;排查“用户觉得累/不舒服/控件难命中”的问题;评估 iPad 应用移植时哪些内容应转为空间化;设计悬停、手势、环境与空间音频;选择视频体验格式。
核心方法:不要简单把 2D 应用开成窗口,先找到只有 visionOS 才能实现的“关键瞬间”并围绕它构建。沉浸有三种路径:完整环境、与真实环境融合(场景感知)、有意义的音频,全沉浸并非必须。
布局与人体工学:宽优于高,布局贴合人眼视野,左右转头比上下更容易;中心放主内容,边缘放次要低频操作。默认位置沿自然视线、略超一臂距离;长文阅读放得更远、居中并略低于视线。以点(pt)而非米设计,动态缩放保证任意距离可读,UI 不用固定缩放。深度用于层级且要克制,模态把父视图推远;文字保持平面。用玻璃而非实心背景,玻璃上用 vibrancy 与白色文字/符号,优先系统颜色,品牌色放背景或整按钮。字体比 iOS 更重,正文 medium、标题 bold,略增字距。组件规格含左侧竖直标签栏(≤6 项)、底部边缘外扩 20pt 的 ornaments、居中 sheets、同心嵌套圆角等。SwiftUI 中栈默认 .back 深度对齐、需要朝向观看者时用 .front,旋转影响布局用 rotation3DLayout,共享 3D 空间用 SpatialContainer/spatialOverlay,模型用 scaledToFit3D()。
输入:眼睛瞄准、手势确认。每个可交互元素总目标区域 ≥60pt;标准按钮 44pt 加 ≥8pt 间距,堆叠按钮间隔 ≥16pt。可交互内容尽量保持同一深度。目标形状用圆形、胶囊、圆角矩形,避免尖角粗描边。只有可交互元素才有悬停效果,悬停需克制(约 5% 缩放),短暂延迟防闪烁,尊重“减弱动态”。先用标准手势语言,自定义手势须可解释、可重复、与系统手势区分。长时间使用优先远距离交互,近距直接触摸需补偿触感缺失。仅在阅读/浏览界面用注视滚动。
动效与舒适度:深度线索须一致,避免重复图案、0.2Hz 附近振荡、头部锁定内容与大面积满视野运动(可半透明以锚定用户);用户或场景移动时淡出再淡入,以静止优先设计。
空间音频:点声源加环境底噪两层,重复元素随机化,用距离与方向引导注意力。
输出格式:空间设计评审按“区域|发现|违反的舒适/人体工学规则|修复”输出,先舒适度违规,再输入目标,最后布局打磨。环境制作与小组件规则分别见 immersive-environments.md 与 visionos/widgets。限制与收费方式资料未提供。