Xcode构建项目时如何将USDZ文件背景设置为透明或黑色
USDZ SceneKit 背景设置方案
你无法生效的核心原因是:USDZ是3D模型资源文件,本身不存储场景背景配置,你调整USDZ参数和光照颜色不会修改SceneKit场景的背景属性,需要手动对加载后的SCNScene实例做配置。
具体修改方法
替换你代码中SceneView部分的实现,手动加载SCNScene并设置背景:
SceneView( scene: { // 安全加载USDZ对应的SCNScene实例 guard let scene = SCNScene(named: models[index].modelName) else { return SCNScene() } // 设置黑色背景 scene.background.contents = UIColor.black // 若需要透明背景,替换上面一行为下面的代码,同时额外给SceneView添加.background(.clear)修饰符 // scene.background.contents = UIColor.clear return scene }(), options: [.autoenablesDefaultLighting, .allowsCameraControl] ) .frame(width: UIScreen.main.bounds.width , height: UIScreen.main.bounds.height / 2) // 透明背景必须加这行 // .background(.clear)
补充说明
- 如果你觉得黑色背景下模型亮度过高,可以移除
.autoenablesDefaultLighting选项,手动添加自定义光源调整显示效果 - 若设置透明后背景仍然显示白色,检查SceneView父层级的视图背景色是否设置为透明或你需要的目标颜色
内容的提问来源于stack exchange,提问作者54Hex
相关产品推荐
相关产品推荐

