我基于一些示例cocos3d代码组装了一个应用程序,一切似乎工作正常,除非我删除从POD文件加载的节点,然后再次加载它。在这种情况下,模型显示为全黑,就像没有加载纹理一样。
基本流程允许用户从列表中选择模型并对其进行操作(移动,缩放等)。他们可以删除模型并选择另一个模型。选择不同的模型工作正常,但选择之前加载的模型显示为全黑。
代码看起来像(汇总)......
CC3PODResourceNode* rezNode = [CC3PODResourceNode nodeFromFile:[url path]];
[modelNode addChild:rezNode];
// manipulate
[modelNode removeChild:rezNode];
特定模型的第一次看起来很好。如上所述,在删除它后加载相同的模型会产生黑色(非纹理)节点。世界上没有任何其他变化(即光,相机和其他模型保持不变)。调试日志显示随节点移除的纹理,然后在加载模型时再次添加。