我正在尝试使用SceneKit,并且我想要做的事情之一是从COLLADA文件加载场景。这种运作良好,但是,纹理不加载,并且加载文件时,我收到以下错误:SceneKit CFURLCreateDataAndPropertiesFromResource失败,显示错误代码-11
<Error>: ImageIO: CGImageSourceCreateWithURL CFURLCreateDataAndPropertiesFromResource failed with error code -11.
我相信这里的问题的一部分是我整理我的应用程序包中的文件的方式 - 一个名为Textures.bundle
持有所有纹理,按类别组织和Models.bundle
保存的COLLADA文件:
我写的类来获取文件中捆绑的类别(文件夹)的路径,它返回正确的路径。即使Xcode中可以得到的文件正确,并正确加载相同的COLLADA文件,甚至会在纹理包识别图像的点:
质地位置被设置为“相对于DAE文件”得到以下(正确的)路径:../../Textures.bundle/ModelTextures/Computer/motherboard_motherboard.jpg
在应用中,随后将其呈现:
任何想法?
第一个问题,您是否在Xcode编辑器,预览和QuickLook(按Finder中的空格)文件之间获得一致的结果,或者其中一个是否存在此问题?第二个问题,你检查Xcode编辑器中的几何对象,它们中的一些是否具有颜色值以及顶点和法线? –
Xcode,Preview和QuickLook均正确渲染模型。几何图形确实使用了几种材质,其中只有一种具有纹理,其余都是纯色,但没有一种是白色的。 –