2012-11-30 33 views
0

到目前爲止,我一直非常沮喪與模型的輸入。 Panda3d將只導入一次模型,永遠不會再次更新(即使更改了.egg文件的名稱後)Panda3D沒有采用最新的型號

我首先將模型(我們稱之爲版本1)導入到VS2010 panda3d中。然後我修改了3dsMax中的模型,並將它導出到蛋中(第2版)。不過,無論我輸入多少次,panda3d都會固執地使用版本1.重命名.egg也無濟於事。林懷疑panda3d緩存系統緩存我以前的模型,並有一些重要的鏈接所有版本在一起,默認panda3d引擎回到版本1.

主要問題是,我該如何解決這個問題的panda3d採取最新模式?謝謝。

+0

沒有人能幫助我嗎? – kassarin

回答

2

我想如果你在Panda3D論壇上問他們,你會更快地得到關於Panda3D問題的答案。

但是,爲了回答您的具體問題,Panda確實包含了一個模型緩存,默認情況下會讀取一次特定文件名(在會話期間),但在同一會話期間不會再次讀取磁盤,即使文件更改但如果需要,可以明確要求它再次讀取磁盤)。 Panda也有一個持久磁盤緩存,默認情況下會在會話間緩存加載模型,但在這種情況下,它會一直檢查文件的時間戳,然後盲目地返回前一個模型,並且如果文件已更新,將始終重新閱讀並返回新版本。

在任何情況下,如果您完全重命名文件,它將返回緩存版本,所以在這種情況下必須進行其他操作。

禁用緩存的確切方式取決於您用於加載模型的特定調用。你引用了VS2010,所以我推斷你是用C++編寫的(但是使用VS2010而不是VS2008並沒有官方的支持,所以你可能還會遇到其他問題,除非你正確地使用VS2010)。嘗試將標誌中設置的LF_no_cache位的LoaderOptions對象傳遞給ModelPool :: load_model()(或者您正在使用的用於加載模型的接口),以避免特定模型的高速緩存。

+0

您好,即時通訊在VS2010上使用Python for Panda3D。你介意重新輸入Python嗎?非常感謝! – kassarin

+0

並感謝十億讀我的問題。我有一個實用的考試即將到來,如果這在測試過程中發生,我可能會擰。 – kassarin