我想在我的应用程序中添加AR Quick Look,但将USDZ模型放入应用程序会占用太多存储空间。这就是我决定将模型存储在Firebase存储中并在需要时下载模型的原因。这是我快速查看本地USDZ模型的代码。
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let url = Bundle.main.url(forResource: models[thumbnailIndex], withExtension: "usdz")!
return url as QLPreviewItem
}
func showModel() {
let previewController = QLPreviewController()
previewController.dataSource = self
previewController.delegate = self
present(previewController, animated: true)
}
我如何从Firebase存储下载该模型并将其加载?
我建议将相对于场景的所有文件压缩:纹理,环境图像,准备好的.scn(避免.usdz)等
然后将此zip存储在您使用的任何服务器中。每个型号一个拉链。
从应用程序中,只需下载zip并解压缩即可。我推荐一个名为ZIP Foundation的框架。
然后使用下载的.scn中的节点(灯光或其他)填充场景