如何卸载模型
我在想怎么卸载一个模型。我正在使用Panda3D,并且在游戏中加载.bam文件作为我的模型。你会像这样做吗:
ModelName = loader.loadModel(where the model is.bam)
ModelName = loader.unloadModel(where the model is.bam)
我想卸载一个模型,然后在同样的位置加载另一个模型,这样做是否有帮助。
1 个回答
1
你说的语法(几乎)是对的。当你使用 loadModel
的时候,Panda3D 会把模型存储在内存里,这样下次再用 loadModel
时,就不需要从硬盘重新加载这个模型了。
如果你想释放这部分内存,因为你不再需要这个模型了,可以使用 unloadModel
函数,后面跟着你从 loadModel
得到的返回值,这样就能把模型从内存缓存中释放掉。不过要注意,这样并不会把你在场景图中已经存在的模型实例删除,你还需要把它们分离出来。
如果你想从场景图中移除一个模型,只需要调用 removeNode()
就可以了。像这样把场景图的一部分孤立出来,会导致它被垃圾回收,只要你不再引用它(并且没有循环引用)。