用途:在 SwiftUI 应用中用 SceneKit 搭建“透明舞台”,让单个 3D 对象(产品、徽章、硬币、转盘等)完成带编排的表演,涵盖入场、出场、抛掷、阴影与触感。适合作为装饰性 3D 主角;若需完整交互世界或重度 3D(USD/USDZ、AR、大场景),资料建议优先考虑 RealityKit。
主要能力:核心舞台配方为透明 SCNView、@MainActor coordinator 持有场景图、站立视角相机、三灯光加独立投影光、接触阴影块与阴影承接面,动作以烘焙关键帧动画驱动。文档还覆盖首帧 Metal 管线编译卡顿与两种预热方案、阴影与灯光陷阱、烘焙动画与生成令牌、从参考素材复刻运动、无引擎物理、运行时网格切割、浮雕对象、手势与触感、多舞台排序、建模、相机编排、实例化与群组、雾片、多对象物理、HDR 环境等主题。
用法:以 UIViewRepresentable 包装 SCNView(backgroundColor = .clear、isOpaque = false、MSAA 4x),coordinator 构建场景,调用 prepare([scene]) 后台预热并延迟首次入场,用状态键做差分避免重播入场。各子主题的完整代码与细节见 references/ 下对应 md 文件。
限制:SceneKit 处于维护模式;资料强调多处静默失败(如延迟阴影与 MSAA 冲突、首帧管线编译、鼠标朝向金属呈黑洞、光照环境贴图方向不可控等),并给出对应修复。具体收费、平台版本、性能数据暂未提供。