我已经下载了 Apple 提供的 .usdz 模型:https://developer.apple.com/arkit/gallery/
但是现在,我想用这些模型之一创建一个 SCNNode,所以我这样做是为了获取节点:
guard let urlPath = Bundle.main.url(forResource: "retrotv", withExtension: "usdz") else {
return
}
let mdlAsset = MDLAsset(url: urlPath)
let modelRootNode = SCNScene(mdlAsset: mdlAsset).rootNode
然后我将它添加到场景中,结果是这样的:
为什么没有纹理?
如您所见,我已将下载的 .usdz 文件放入我的项目目录中的文件夹中:
最佳答案
添加.USDZ对象的正确方法实际上是使用文件的URL创建场景:
let scene = try! SCNScene(url: usdzURL, options: [.checkConsistency: true])
甚至通过引用节点创建:
let referenceNode = SCNReferenceNode(url: usdzURL)
referenceNode.load()
关于ios - 如何从 .usdz 创建 SCNNode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53317392/