gpt4 book ai didi

macos - SceneKit CFURLCreateDataAndPropertiesFromResource 失败,错误代码为 -11

转载 作者:行者123 更新时间:2023-12-03 17:12:03 27 4
gpt4 key购买 nike

我正在尝试 SceneKit,我想做的事情之一是从 COLLADA 文件加载场景。这工作得很好,但是,纹理没有加载,并且在加载文件时,我收到以下错误:

<Error>: ImageIO: CGImageSourceCreateWithURL CFURLCreateDataAndPropertiesFromResource failed with error code -11.

我认为这里的部分问题在于我在应用程序包中组织文件的方式 - 一个名为 Textures.bundle 的文件,其中包含按类别组织的所有纹理,以及一个 Models保存 COLLADA 文件的 .bundle:

xcode file tree

我编写了类来获取包的类别(文件夹)中的文件路径,它返回正确的路径。甚至 Xcode 也可以正确获取文件,并正确加载相同的 COLLADA 文件,甚至可以识别纹理包中的图像:

xcode COLLADA preview

纹理位置设置为“相对于 DAE 文档”,产生以下(正确)路径:../../Textures.bundle/ModelTextures/Computer/motherboard_motherboard.jpg

在应用程序中,它的渲染如下:

render output

有什么想法吗?

最佳答案

我知道 Xcode 和运行时使用不同的算法来查找 Scene Kit 的资源,因此它在其中一种中工作而在另一种中不起作用也就不足为奇了。 (Xcode 显然需要能够查看所有源代码,而运行时则更具体地了解它将查看的位置。)

也就是说,您可以发布您的应用程序的 Resources 目录是什么样的吗?就像,如果你进入它并执行 ls -FR,你会看到你期望的结构吗?一切都复制好了?

此外,如果这是同一个模型,那么您遇到的问题不仅仅是纹理无法加载。我的意思是,这看起来完全不正常。您是否对加载的文件执行了其他操作?

关于macos - SceneKit CFURLCreateDataAndPropertiesFromResource 失败,错误代码为 -11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com