DAE 模型未在 iOS 应用程序中显示应用的纹理

Posted

技术标签:

【中文标题】DAE 模型未在 iOS 应用程序中显示应用的纹理【英文标题】:DAE model not showing applied textures within iOS app 【发布时间】:2017-08-26 01:35:03 【问题描述】:

我在我的应用程序的 SceneKit 场景中使用了几个 DAE 模型。但是,纹理不会显示在应用程序中的模型上,即使它们显示在 Xcode 中也是如此。我还使用了包含在应用程序资产目录中的纹理。

这是我应用于模型漫反射通道的纹理。我将它拖到 Xcode 中的模型上以应用它,Xcode 在模型视图中显示带有纹理的模型。

还有模型本身: https://www.dropbox.com/s/lzqkgoumu9yshcf/amalthea.dae?dl=0 模型已从此 Blender 文件中导出(在 Blender 中):https://www.dropbox.com/s/kt3n9f2kn6w6cij/amalthea.blend?dl=0

我正在将模型加载到我的场景中,如下所示:

let scene = SCNScene(named: "amalthea.dae")

我忽略了什么明显的东西?

【问题讨论】:

【参考方案1】:

修改后的答案: 下载dae文件后。

最可能的原因是您的纹理位于相对于模型位置可到达的路径上。

dae文件中的纹理参考是:

 <init_from>Assets.xcassets/jupiter/amalthea/amaltheamap.imageset/amalthea.jpg</init_from>

我认为它应该与模型位置有关。尝试将 dae 中的纹理参考(使用任何文本编辑器)更改为“amalthea.jpg”。然后将jpg复制到模型所在的同一文件夹中。

 <init_from>amalthea.jpg</init_from>

更详细的讨论可以找到here.

【讨论】:

不幸的是,这种方法不起作用。我仍然得到一个无纹理的模型。您是否让它在一个简单的示例应用程序中工作?

以上是关于DAE 模型未在 iOS 应用程序中显示应用的纹理的主要内容,如果未能解决你的问题,请参考以下文章

DAE文件解析错误

应用纹理时 Collada 模型不渲染

为啥我的 .dae 文件在 three.js 中不显示纹理和动画?

【Three.js】请问如何显示带纹理的三维模型?

如何使用 THREE.js 向 collada 文件 (.dae) 添加纹理?

DAE 文件解析错误