我想知道如何卸载模型。我正在使用Panda3D并加载.bam文件作为我在游戏中的模型。你会做这样的事情:
ModelName = loader.loadModel(where the model is.bam)
ModelName = loader.unloadModel(where the model is.bam)
我想卸载一个模型,然后在同一个空间加载另一个模型,如果这有帮助的话。
答案 0 :(得分:1)
您描述的语法(几乎)正确。使用loadModel
时,Panda3D会将模型缓存在内存中,以便下次使用loadModel
时不必从磁盘重新加载模型。
如果您因为不再需要此模型而希望释放此内存,则可以使用unloadModel
函数和从loadModel
收到的返回值,这将从内存缓存。但请注意,它实际上不会删除场景图中您拥有的该模型的任何实例 - 您仍然需要将它们分离。
如果要从场景图中删除模型,只需调用removeNode()
即可。孤立场景图的一部分将导致它被垃圾收集,因为你删除了对它的所有引用(并且没有循环引用。