Могу ли я загрузить как объект, так и материалы как MDLAsset?
У меня есть каталог, содержащий obj, mtl и текстуры. Если я сделаю
let asset = MDLAsset(url: url)
затем загружает сетку, но не текстуры. Теперь, если я переименую
model.mtl
файл в
model.abc
и запустите тот же код, я получаю на консоли следующее
020-10-08 19:24:36.277305-0700 ModelLoader2[1607:11820939] Unable to find mtl file /Users/myname/Documents/ModelLoader2/Models/model/model.mtl
Это говорит мне, что
MDLAsset
находит файл mtl, но не загружает текстуры должным образом. Есть ли способ заставить его загружать текстуры? Я вижу протокол под названием
MDLAssetResolver
со следующим определением, но абсолютно НЕТ документации в Интернете и 0 полезных обращений на github
public protocol MDLAssetResolver : NSObjectProtocol {
func canResolveAssetNamed(_ name: String) -> Bool
func resolveAssetNamed(_ name: String) -> URL
}
Мой вопрос,
- как лучше всего загружать файлы obj? Я намеревался использовать ввод-вывод модели, чтобы экспортировать в
.usdz
и другие форматы - Стоит ли тратить время на ввод-вывод модели, или мне следует перейти к другим методам? Похоже, что было несколько разговоров на WWDC, рекламирующих его как мощный фреймворк, но пока он кажется бесполезным из-за отсутствия документации.
1 ответ
Вы пробовали assets.loadTextures(), так как вы уже загрузили актив?