我在我的 Xcode 项目中添加了一个 USDZ 文件。USDZ 文件在我的 Mac 上打开的 Xcode 项目中正常显示,但是,当我尝试使用 modelIO 库通过代码加载它时,它会加载网格,但不会加载纹理。
在下面的快照中有一个我尝试加载的蜜蜂模型。第二个是蜜蜂和飞机,蜜蜂纹理没有渲染,而飞机纹理加载没有问题。我还将 USDZ 文件转换为 scn 文件,它工作正常。我认为问题不在于文件,而是我使用的代码无法正确加载 USDZ 文件。我正在尝试通过代码加载 USDZ 文件,而我使用的库并不重要。如果您有其他建议,我愿意倾听。
我使用以下代码加载我的模型:
let fileName = “bee”
let ext = “usdz”
let asset = MDLAsset(url: Bundle.main.url(forResource:fileName, withExtension: ext)!)
let loadedScene = SCNScene(mdlAsset: asset)
for child in loadedScene.rootNode.childNodes {
child.geometry?.firstMaterial?.lightingModel = .physicallyBased
}
这里有一些快照来展示我得到的结果: - 来自我 Mac 上 Xcode 查看器的快照,成功地显示了带有纹理的蜜蜂:
- 手机、蜜蜂和飞机上的应用程序快照,蜜蜂纹理不可见:
- 在 Xcode 控制台上,我收到以下错误日志:
我在这里缺少什么将模型文件(包括纹理)完全加载到我的场景中?