小编Mus*_*ara的帖子

无法使用 Xcode 上的 ModelIO 库快速通过脚本加载 USDZ 文件的纹理

我在我的 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 查看器的快照,成功显示了带有纹理的蜜蜂:

在此处输入图片说明

  • 手机APP截图,蜜蜂和飞机,蜜蜂纹理不可见:

在此处输入图片说明

  • 在 Xcode 控制台上,我收到以下错误日志:

在此处输入图片说明

我在这里缺少什么将模型文件完全加载到我的场景中,包括纹理?

xcode modelio swift usdz

0
推荐指数
1
解决办法
346
查看次数

标签 统计

modelio ×1

swift ×1

usdz ×1

xcode ×1