Mc.*_*ver 11 augmented-reality ios qlpreviewcontroller swift arkit
我正在尝试用显示AR内容QLPreviewController。除了照明,其他一切都正常。如果我使用Xcode或macOS的快速预览来预览文件,则照明很自然,但是当我使用QLPreviewController对象预览时,它太暗了!有什么可能的方法来调整照明,比例和其他设置?
创建模型时请确保您的 3D 网格具有 UV 布局。如果没有 UV,3D 对象在 iOS 设备和 QLPreviewController 中将显示为黑色,尽管在使用 3D 或 ARQuickLook 时在 MacOS 上可能看起来很好。
欲了解更多信息,请参阅下面提到的链接:
https://forums.developer.apple.com/thread/107094
例如:如果您使用 Blender 创建模型,这可能会有所帮助:
https://blender.stackexchange.com/questions/1022/adding-uv-mapping-to-mesh
如果你在XCode中打开usdz对象,检查材质检查器,你会发现照明颜色设置为黑色。这就是为什么它在 AR 世界中显得很暗,但在 ARQuickLook 中看起来很好。
设置 UV 贴图将解决您的问题。
我尝试过的其他技巧是(不推荐):
1) 创建 USDZ 模型时更改 emissiveColor。使用基于Python的工具(USDPython)生成usdz文件。
https://developer.apple.com/download/more/?=USDPython
usdzconvert Model.obj -diffuseColor modelDiffuse.png -normal modelNormal.png -metallic 1 -roughness 1 -occlusion 1 -emissiveColor 0.5,0.5,0.5
Run Code Online (Sandbox Code Playgroud)
2) 将照明颜色设置为白色。
首先将 .usdz 转换为 .scn -> 更改照明 -> 将 .scn 转换为 .usdz
let scnScene = SCNScene(named: "sceneName", inDirectory: "art.scnassets", options: nil)
scnScene!.write(to: fileUrl.appendingPathComponent("Model.usdz"), delegate: nil)
Run Code Online (Sandbox Code Playgroud)
您可以从 WWDC 演讲(从 Scenekit 导出 USDZ)中获取帮助:
https://developer.apple.com/videos/play/wwdc2019/602/
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |