繁体   English   中英

USDZ 文件无法在 QuickLook 应用中打开

[英]USDZ files cannot be opened in QuickLook app

我正在尝试使用 WooCommerce 的CartMagician插件在我的网站上添加一些 AR WooCommerce模型。 对于 iPhone,我创建了一个 USDZ 文件。 当我从 Safari 启动 AR 时,我收到错误Zero KB 文件的路径是正确的。 USDZ 文件小于 20mb。 我还使用 Model 查看器 AR 插件测试了 USDZ 文件,并且出现了同样的问题,因此可能是 model 存在问题而不是平台。 我无法在任何地方找到有关错误Zero Kb的任何信息。

我在这里上传了 model、USDZ 和 BLEND 文件。 我还上传了带有错误消息的视频。

我以 3 种不同的方式创建了 USDZ 文件。 使用 Blender 导出插件,使用 Pixar 的 USD 工具和 CartMagician 转换器。 我现在尝试使用的模型是用 CartMagician 转换器制作的。

您能否提供一些关于转换为 USDZ 的文件准备过程以及如何使用它的提示? 还有关于错误Zerok Kb的任何信息。

谢谢!

您的 USDZ model 拥有超过 400K 的多边形和多个 4K 纹理。 这是您的 QuickLook 应用程序的主要问题,因为 CPU/GPU 处理能力太高。 即使是 macOS 快速查看打开这样的文件也会有相当长的时间延迟。

Apple 建议– AR 场景中的多边形总数不得大于 100K,任何纹理的大小不得大于 2K。

另外,检查你的代码是否和我的一样:

import ARKit
import QuickLook

extension ViewController: QLPreviewControllerDelegate,
                          QLPreviewControllerDataSource {
    
    func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
        return 1
    }
    
    func previewController(_ controller: QLPreviewController, 
                    previewItemAt index: Int) -> QLPreviewItem {
        
        guard let path  = Bundle.main.path(forResource: "BannerESX5000",
                                                ofType: "usdz")
        else { fatalError("Couldn't find a model") }
        
        let url = URL(fileURLWithPath: path)           
        return url as QLPreviewItem
    }
}

class ViewController: UIViewController {
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        
        let previewController = QLPreviewController()
        previewController.delegate = self
        previewController.dataSource = self            
        self.present(previewController, animated: true, completion: nil)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM