熊猫3D不接受最新型号



到目前为止,我对Panda3d导入模型感到非常沮丧。Panda3d只会导入一次模型,并且永远不会再更新(即使更改了.egg文件的名称)

我首先将一个模型(我们称之为版本1)导入到VS2010panda3d中。然后我在3dsMax中修改了模型,并再次将其导出到egg(版本2)中。然而,无论我导入多少次,panda3d都会顽固地使用版本1。重命名.egg也无济于事。我怀疑panda3d缓存系统正在缓存我以前的模型,并且有一些重要的东西将所有版本链接在一起,默认panda3d引擎返回到版本1。

主要的问题是,我该如何解决panda3d没有采用最新型号的问题?非常感谢。

如果你在Panda3D论坛上提问,我想你会更快地得到关于Panda3D的问题的答案。

但为了回答您的具体问题,Panda确实包含了一个模型缓存,默认情况下,它会读取一次特定的文件名(在会话期间),但在同一会话期间不会再次读取磁盘,即使文件发生了更改(但如果需要,您可以明确要求它再次读取磁盘)。Panda还有一个持久磁盘缓存,默认情况下,它也会在会话之间缓存模型的加载,尽管在这种情况下,在盲目返回以前的模型之前,它总是检查文件的时间戳,如果文件更新了,它总是会重新读取并返回新版本。

在这两种情况下,如果你完全重命名文件,它都不会返回缓存版本,所以在这种情况下一定会发生其他事情。

禁用缓存的确切方式取决于用于加载模型的特定调用。你引用了VS2010,所以我推断你是用C++编写的(但官方不支持使用VS2010而不是VS2008,所以你可能也会遇到其他问题,除非你还远远不能正确使用VS2010)。

要避免特定模型的缓存,请尝试将标志中设置了LF_no_cache位的LoaderOptions对象传递给ModelPool::load_model()(或用于加载模型的任何接口)。

相关内容

  • 没有找到相关文章

最新更新