Highlight
Quick Look 在 visionOS 上以 Volume 窗口展示 3D 模型,系统会自动处理初始朝向、地面平面和阴影。开发者需要关注 USDZ 模型的真实世界尺寸、视觉质量和性能优化。
核心内容
Quick Look 的 3D 展示方式
在 visionOS 上,Quick Look 将 3D 模型显示在 Volume 窗口中。Volume 有明确的边界,可以与其他应用并排使用。用户可以自由重新定位 Volume,从不同角度查看模型。
(01:14)
系统行为:
- 模型始终放置在 Volume 中心
- 首次出现时,Volume 会调整朝向使内容正面面对用户
- 用户可通过 Volume 窗口栏重新定位内容
- Quick Look 根据用户缩放自动调整 Volume 大小
尺寸与缩放
Quick Look 尊重 USDZ 元数据中的 metersPerUnit 来确定与现实世界的比例关系。
(02:32)
缩放策略:
- 极小的模型(如玩具车):施加最小缩放限制,确保内容可见
- 极大的模型:施加上限限制,避免占用过多空间
- 中等尺寸模型:按真实世界尺寸 100% 展示
- 用户可随时点击按钮查看真实世界尺寸
地面平面与阴影
Quick Look 自动在模型下方显示地面平面和阴影,帮助用户理解模型大小和相对地面的位置。
(03:56)
不要在模型中添加自己的地面平面和阴影,让系统处理这部分工作。
创建 USDZ 的四种途径
- 复用现有 USDZ:为 iOS 创建的 USDZ 文件可直接用于 visionOS
- 专业 3D 创作工具:创建 3D 内容后导出为 USDZ
- RealityKit Object Capture API:扫描真实世界物体生成 3D 模型,支持 iOS 和 macOS
- RoomPlan API:创建 2D 或 3D 房屋平面图
(04:51)
完整工作流案例
Session 展示了设计师 Jerry 创建房间模型的完整流程:
- 使用 RoomPlan 样例应用扫描房间
- 预览 3D 布局或导出 USDZ 到 Mac
- 导入 3D 创作工具添加材质和纹理
- 在 Reality Composer Pro 中预览和调整
(06:31)
详细内容
在 Reality Composer Pro 中预览
Reality Composer Pro 右上角的设备预览按钮可直接在设备上预览 Quick Look 效果。
(07:37)
常见问题:初始模型朝向不正确。Quick Look 使用右手坐标系,需要在内容创作工具或 Reality Composer Pro 中调整 Y 轴旋转,确保最有趣的部分正面朝向用户。
视觉质量问题
Z-fighting(闪烁重叠)
多个物体在同一位置渲染时会重叠闪烁。解决方案:在创作工具中移除重叠几何体,或增加物体间距。
(09:44)
高频法线贴图
高频法线贴图在近距离或运动场景中容易产生锯齿伪影。建议使用低频法线贴图,或用几何细节替代。
(10:06)
小物体渲染
渲染细小物体(如树叶)时,系统在可变光栅化率下可能无法一致采样,导致周边区域闪烁。建议将精细几何细节存入透明度纹理,用更大的三角形网格渲染。
(10:22)
性能优化
文件大小
- 更小的文件意味着更快的下载和加载
- 只包含最终场景实际使用的资源
- 移除不再使用的旧版本音频、动画和纹理
- 建议文件大小保持在 25MB 以下
(13:42)
几何体优化
- 移除被完全遮挡、永远不会显示的部分
- 合并小网格为单一较大网格以减少系统负载
- 单个模型建议:少于 200 个 mesh part,少于 10 万个顶点
(15:01)
纹理优化
- 使用灰度图处理非颜色输入以节省内存
- 将多张灰度图打包到单个纹理的不同通道
- 尽可能使用材质常量值代替纹理加载
- 单个 PBR 材质建议最大纹理尺寸为 2K x 2K
- 使用 8-bit 而非 16-bit 每通道纹理
- 将纹理预算投入到最能增加真实感的区域
(15:51)
材质优化
- 合并共享相同材质的 mesh part 以减少加载时的材质编译
- 小面积透明或清漆效果使用独立材质,而非在整个模型上使用
- 避免重叠透明度,实时渲染透明物体计算量更大
- 烘焙光照或不需要光照的部分使用 MaterialX Unlit surface
(16:59)
物理优化
- 减少碰撞体总数
- 不会移动或不受其他物体影响的实体使用 static collider
(18:26)
动画优化
- 限制每个顶点的动画权重数量
- 变形或蒙皮动画遵循与几何体相同的优化指南
(19:17)
粒子系统
- 限制粒子发射器数量
- 保持屏幕上的粒子数量最小
- 用更简单的形状和样式实现类似效果,减少 overdraw
(19:52)
性能分析工具
Statistics 面板:Reality Composer Pro 中的统计面板显示三角形数量、纹理内存使用量等关键指标。
(11:55)
RealityKit Trace:更高级的运行时性能分析工具,可深入分析单个渲染帧,识别性能瓶颈并给出建议。需要附加到 Quick Look 进程使用。
(12:15)
核心启发
-
用 RoomPlan + Reality Composer Pro 快速创建房间展示
- 做什么:扫描房间生成 3D 模型,添加材质后在 Quick Look 中预览
- 为什么值得做:无需专业建模技能,几分钟即可创建可交互的房间 3D 展示
- 怎么开始:使用 RoomPlan API 扫描,导出 USDZ,在 Reality Composer Pro 中预览调整朝向
-
为电商产品创建优化后的 USDZ 预览
- 做什么:将产品 3D 模型控制在 25MB 以内,确保 10 万顶点以下
- 为什么值得做:Quick Look 让用户在真实空间中以真实尺寸查看产品,提升购买信心
- 怎么开始:用 Object Capture 扫描或从 3D 工具导出,在 Reality Composer Pro 的 Statistics 面板检查指标
-
用透明度纹理替代精细几何体
- 做什么:将树叶等细小物体的几何细节烘焙到透明度纹理
- 为什么值得做:避免可变光栅化率下的闪烁问题,同时减少顶点数量
- 怎么开始:在 3D 创作工具中创建低多边形模型,用 alpha 贴图控制轮廓
-
合并材质减少编译开销
- 做什么:将共享相同材质的 mesh part 合并
- 为什么值得做:自定义材质在首次加载时需要编译,合并后减少编译次数
- 怎么开始:在 3D 创作工具中检查材质分配,将相同材质的子网格合并
关联 Session
- Discover Quick Look for spatial computing — 在空间计算平台上使用 Quick Look
- Explore rendering for spatial computing — 空间计算渲染技术探索
- Meet Reality Composer Pro — Reality Composer Pro 工具介绍
- Object Capture — 使用 Object Capture 创建 3D 模型
评论
GitHub Issues · utterances