Как создать SCNNode из .usdz? - PullRequest
       78

Как создать SCNNode из .usdz?

0 голосов
/ 15 ноября 2018

Я скачал модели .usdz, предоставленные Apple: 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

Затем я добавляю его на сцену, и результат таков:

enter image description here

Почему у него нет текстур?

Я загрузил файлы .usdz в папку в каталоге моего проекта, как вы можете видеть:

enter image description here

1 Ответ

0 голосов
/ 20 ноября 2018

Правильный способ добавить объект .USDZ - это на самом деле создать сцену с URL-адресом файла:

 let scene = try! SCNScene(url: usdzURL, options: [.checkConsistency: true])

Или даже создать с помощью ссылочного узла:

 let referenceNode = SCNReferenceNode(url: usdzURL)
 referenceNode.load()
...