我在我的 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
}
Run Code Online (Sandbox Code Playgroud)
这里有一些快照来演示我得到的结果: - 我的 Mac 上 Xcode 查看器的快照,成功显示了带有纹理的蜜蜂:
我在这里缺少什么将模型文件完全加载到我的场景中,包括纹理?