RealFlow 經驗隨記 001 – 遇到Cache 問題的幾個經驗
前言
記下三個遇到的狀況。
不確定是否由於我不熟、不懂、不會軟體,從而導致這些莫名的狀況。
僅供參考,歡迎留言討論!
狀況一:
即使只有部分模型作 Cache,但場景中所有的模型的運動資訊就再也不會更新了,無論怎麼改,RealFlow 死都不肯變動。
換言之,如果你有 A、B、C 三個模型,你很滿意 A、B 的運動,把它做 Cache,而 C 只是一塊用來當檔板的平面,你也就沒有對它做 Cache。
現在,你突然因為別的需要想移動一下檔板C,哼哼~很抱歉,你會發現即便你調整了模型 C 的位置(甚至加入 key frame),只要你一播放、移動 timeline 的時間滑塊 ,所有的模型資訊就會被刷回原本的值。
嗯 .. 你會因此而以為 RealFlow 有 bug 而大怒嗎?你會進一步嘗試多改一些 key frame 或是加入一些亂七八糟的極端數值來試驗看看嗎?
現在要告訴你更不幸的事情,其實, RealFlow 對於你的修改通通都記住了! 問題是它非要等到下次 Simulate 之後,才願意更新這些變動給你看 (這都是由於場景內有 Cache )。所以,你若胡亂測試了一些亂七八糟的極端數值,其實 RealFlow 通通都記住了。
而下次 Simulate 之後,在你毫不記得曾經改過哪些數值的情況下, 它會給你最亂七八糟的模擬結果,而悲慘的是,你根本不知道這些亂七八糟的結果來自什麼原因。
莫名其妙的邏輯!
附註‧ 2013/11/06 更新
又觀察到,就算場景內沒有 Cache, 假設你曾經做過 Simulate,那麼當你調整模型資訊後(例如移動模型),如果沒有 Reset 。那麼模型的修改也是不會被 RealFlow 執行的,但是 RealFlow 有記住你的修改
換言之,你沒辦法即看即修,必須Reset 一次才能看到更新。只不過 Reset 後,你就無法搭配原本的模擬結果作參考了,就是這樣囉!
簡單的試驗
雖然我用來寫說明的截圖是以 RealFlow 5 來操作,不過在 RealFlow 2013 的狀況是相同的。
圖一、我建立了柔體A、B,普通平面 C,被動剛體 Vase,以及發射器一枚
圖二、第一次模擬完畢後,設定A、B為Cache
圖三、正常的作其他模擬,例如調整發射器參數
圖四、假設現在突然需要修改 C 的位置,注意 C 現在 y=1.26456
圖五、把 C 拉到 y=0.91354
圖六、沒用,只要拖動時間滑塊,就會被拉回 y=1.26456
模型C 並沒有作 Cache,甚至沒有在 Export Central 內勾選匯出暫存檔,只是因為場景內其他模型有 Cache,所以模型 C 的各個資訊也就被鎖住無法立即更新。
解決辦法:
更新你需要的設定之後,必須重新 Simulate ,如果想節省時間,或是其他的計算結果絕不可被變動到,你可以把除了模型 C 之外的其他物件通通都先作 Cache,只留下要修改的模型不 Cache,很快的 Simulate 過後,就可以看到更新後的模型 C 的運動了。
單純取消 A、B 的 Cache 沒有用,終歸必須要再次 Simulate ,強制更新。
只有 Reset 再 Update Cache 沒用,終歸必須要再次 Simulate 。
狀況二:
發射器作 Cache 的情況下,若 Build Mesh 必當! 截至 2013 還是沒有做出修正。
莫名其妙的邏輯!
解決辦法:
Build Mesh 之前養成好習慣,多多留意 Cache。 並且注意時時存檔,以免沒有心理準備的當掉,剛剛調的參數都不記得了。
狀況三:
某個發射器,從來沒有做 Cache,節點顯示也是 Active,但硬是開始鬧脾氣,當按下Simulate 作計算時,發射器就會自動變成橘色的 Cache 狀態,不計算也不更新 particles 的 .bin
原本是專注在解決某些奇怪的粒子行為,一直測試參數卻都沒有效果,白費很長的時間,都被這個莫名其妙的 bug 吃掉了。
等到發現時,particles 的 .bin 最後更新時間已經是12小時前了 -_-
重開,沒用。 對發射器故意的開啟/關閉 Cache,沒用。
莫名其妙的軟體!
解決辦法:
直接捨棄檔案,使用更早的存檔才解決。
總結:
這諸多的莫名其妙事件,我自己是懷疑 RealFlow 內部的程式邏輯可能還很混亂XD,或者說它的設計給使用者的使用邏輯還沒有成形、成熟,所以會漏東漏西,所以會發生很多「不貼心」,所以會發生很多諸如 Cache啦、設定啦…不隨著使用者的需要更新的事件。
這些有賴使用者自己保持清醒,不能信任軟體會幫你記住、不能信任軟體會幫你想好。你都必須自己記得設定、記得條件、記得狀態甚至記得操作順序。只要出現不合理的顯示結果,最好留神 – 它可能又要準備擺烏龍了!
你保持清醒的記住自己的設定、狀態、操作時,才能最快的發覺到 RealFlow 它究竟是在哪裡擺烏龍? 如此才不致於浪費太多的時間,嗯…還有電費!
Leave a Reply