2012/11/03

Realflow 2012 細節表現重要參數(一)



編譯: Hammer Chen

Polygon size 多邊形的大小
這是關於整個流體表面最重要的參數,因為會影響到流體最終大小。越小的數值會產生越高解析度,越多的多邊形。越高的解析度,就能顯示越多細節。


請注意!流體的圓邊或是厚重的邊界無法用縮小多邊形的大小來解決。如果你希望產生比較薄的流體,你應該要調整Tension,filter等參數。

Resolution 解析度
增加這個參數你可以提昇粒子的數目,所以這也是個重要參數。解析度跟場景的尺度,發射器的尺度有關。但它也會影響流體的質量,所以也受到密度Density參數所影響。預設值為1.0 意思是在1 x 1 x 1的單位體積內填滿1,000顆粒子,這時質量剛剛好就是1,000 kg。換句話說,如果你把解析度提昇,個別的粒子質量就會隨之下降。你可以到Statistics > Particle mass查看粒子質量。

當你提昇“Resolution”解析度時,粒子的質量會明顯地下降,所以這時候你就必須要提昇Density密度,才能讓粒子的質量維持在1.0。 這是很重要的觀念。

Interpolation 差補法
有時候你可以不需要整個場景重新模擬就可以提昇場景的粒子數目。這個功能讓你可以產生更多粒子,根據現有快取的BIN file序列檔產生,但是不完全只是這樣,當初設計的個參數的目的是要當解析度低的frame會停住,然後調整到高的解析度,然後再進行計算。

Realflow會分析流體,然後會把新的粒子放在正確的空間位置,新的粒子並不只是填滿間隔而已,這些新的粒子會滿足流體力學方程式。 RealFlow提供三種差補選項: “None”、“Local” 與 “Global”。
由左至右: None,Local,Global


“Local”會在現有的流體雲中添加新的粒子,精確度很高。請記住還是有可能有些粒子無法填入。用這種補插法的優點是流體能夠精確地維持原本的形狀。

“Global” 是當你不需要煩惱流體原本的形狀使用的,新的粒子的位置會有比較大的模糊空間(比較不精確) 讓邊界比較模糊。這很適合大量流體,比方說水槽中的水。

另外一點很重要,是差補選項與流體/物件之間的交互作用,當流體很接近物件時,新的粒子可能會出現在物件的內部。 RealFlow不會檢查補差粒子與物件的碰撞,只會檢查流體與物件的碰撞。


“MIN substeps”最小的substeps
 增加這個數值模擬時間會變長,但是可以提昇精確度,解決不穩定的問題。當你發現有不穩定的問題時,你可以將MIN substeps提高至5~10左右,如果還是有問題,可以再稍微增加這個數值。

[相關資訊]
The Science of Fluid Sims流體模擬背後的科學

RealFlow重要的Daemon參數介紹

2012/10/31

FumeFX進階技巧(一)



編譯:Hammer Chen


上圖出現像素狀,詭異的水平垂直線條,是使用FumeFX常見的錯誤。

Quality品質 定義出模擬效果的寫實度,數值越高寫實度就越高。但也表示需要更多的計算時間。有時這是必要的,對於移動快速的物件越需要提高這個數值。


越高的數值,解算器就需要越多的迭代計算(iterations)才能達到更高的精確度。 別忘了 ,使用越高的Quality數值,你必須要把Maximum Iterations的數值調的夠高,否則不會得到更高品質的效果。(譯者註: 比方說你用Quality=5, 然後你進行模擬 ,注意觀察FumeFX的log資訊 ,如果它每次的迭代(iterations)都到達它最高數值(Maximum Iterations),就表示它被最高數值給限制住了,無法發揮它最佳的表現,這時候你就要把Maximum Iterations數值提高)

你可以參考log資訊中的“CG done with nnn iterations” 看它迭代計算的數值有沒有達到上限了, 如果有的話就代表到頂了, 你應該要把上限提高。

如上圖中的log資訊,iterations只達到37而已。

Maximum Iterations最高迭代次數  解算器並不需要太多次的迭代才能得到好效果 。對於小的grid大概需要20-30次, 對於比較大的grid大概需要100次。 如果移動很快的物件, 也需要到100次。 下圖我們是用Quality=5 100 iterations做出來的效果。

CFL Condition 這個參數定義cell資料(速度、煙、火等等)的最大移動距離。 一般來說這個數值設定為4~5左右,除非你模擬出現顆粒感。 你也可以用更高的數值, 如果你把數值設的比較小, 你可能會看到模糊的結果。

Advection - Default 適用於大部分的狀況

Advanced (fields) advection
用這個會產生比較低的消散現象(dissipation)。這會影響火焰、煙霧、 溫度等參數, 但不會影響速度。

Advanced (fields and vels)
會影響到所有: 包含了速度。這個選相對於移動緩慢的流體。 具有很多不同移動速的的場(火焰、煙霧、溫度)會容易導致像素化(線條與十字的錯誤,這個錯誤譯者也常常遇到!) 這個選項能夠產生許多小細節, 所以你可以把vorticity調到0.1也沒問題!

小技巧:如果你出現像素化的錯誤,首先不要慌,你可以把grid sensitivity調低,甚至改成0.0 。這會把像素化的問題修的平滑一點, 如果沒幫助的話, 你可以切換到Advanced (fields) advection 或是增加solver Quality。

流體水平運動(Advection Stride)
這個數字越小, 對於速度與煙霧就有越小的消散 ,但會花更多時間計算

小技巧: 如果你希望煙霧有很多小卷卷細節的話, 你可以把這個數值降到0.1或是更低的數值。

以下是與是站長與網友的對話:

Q:  這篇教學超棒的!!Fumefx但我即使調了,還是會遇到一樣的問題
A:  是不是iteration不夠?
Q:  我目前Interation 是設成300,我卡在沒辦法一次就算到很細緻的spacing grid
A:  你的Quality=5 ,可以試試看把Quality提高
Q:  好! 我試試看
我改成10 在preview下用5看,變得很好!
A:  恭喜你! 你觀察log的iteration數值, 如果沒有到頂, 那就ok了
不必把quality設到太高
Q:  interation上面顯示300,這是頂到我的spacing的意思嗎?
A:  當iteraion等於Maximum Iterations的數值, 就代表到頂了
Q:  目前好像都維持在300以下, 所以我應該可以保持這個數字繼續算下去?
A:  那就把Quality往下調, 調到剛剛好到頂
Q:  iteration這個數值, 翻譯是交互作用, 但實際上它是甚麼意思?我不是很清楚。
跟解析度有關嗎?
A:  如圖越多次的iteration 就可以產生越多細節
  iteration就是把運算結果再丟回算式中, 一直反覆計算同樣的算式

Q:原來是這樣!


[相關資訊]

2012/10/29

Field3D開放式Voxel data檔案格式



Field3D是一個開放式的函式庫,用來儲存voxel data。它提供C++ classes,可以用來處理記憶體中的資訊,以HDF5處理的檔案格式,允許C++ objects可以從硬碟中寫入與讀取。

這個函式庫與檔案格式具有彈性及延伸性:彈性是它可以支援不同類型(heterogeneous)的資料結構、位元深度、位移與貼圖以及metadata ,全部儲存在單一的檔案裡面。當你需要延伸功能時,可以透過外掛或是class factory架構,允許新的資料結構或是mappings與file I/O routines添加進來。

Field3D是專為視覺特效的大尺度需求所研發的。Dense 與 MAC-fields會處理基本的fluid simulation 與 volume rendering所需的工作。當記憶體變成了空間使用上最佳化的限制因子時,就會提供sparse fields,也就是out-of-core/dynamic載入的機制。也支援程序性的fields,這可以用在可交換的voxel-based fields。

這程式碼最初是由Sony Pictures Imageworks所研發,後來有三家不同的公司內部檔案格式所取代,用在儲存voxel資料。這格式目前用在幾個地方:volume rendering與 fluid simulation 最為原始資料的架構與格是,在Houdini中這可以最為voxel的基底,以及levelset編輯工具。

[相關資訊]
迪士尼釋出BRDF Explorer

夢工廠開放OpenVDB---體積檔案格式

FumeFX 3.5新增功能完整介紹


FumeFX 3.5新增功能完整介紹



FumeFX 3.5新增功能:

  • 無邊界的grid (Boundless grid),讓你能完全地控制模擬邊界
  • 支援Field3D檔案格式
  • 改變Effector名稱,也會自動更新FumeFX UI中的名稱
  • 在更大的grid可吃進cache檔然後繼續運算
  • Object Source支援範圍的發射(Volume emission)
  • MXS command ffxSilent靜音功能,你可以不要顯示訊息資訊(例如停止/繼續...等)
  • 在預覽視窗就可以看到透光散射效果(Multiple Scattering)
  • 你可以決定Multiple Scattering是否要投射或是接收(陰影)。 這個選項在當你有多個 grid的時候,為了避免Multiple Scattering進行過多計算,十分有用
  • 你可以在輸出預覽的時候壓上多種模擬資訊
  • 在Obj/Src選單中 在viewport選中了object/src 就會自動啟動釘住UI的選項,這個功能也支援多物件選取
  • 現在在Asset Manager會顯示Paths
  • Pin UI釘住UI的選項會讓UI持續顯示,即便是你已經沒有選中FumeFX。你可以在這時候移動物件或是燈光,那麼GPU運算的預覽視窗也會更新
  • 預覽視窗多了一個新選項那就是"Lock to Viewport" 。你可以在多個Viewports中使用預覽視窗,就會在該視窗中顯示預覽
  • FumeFX Gravity現在支援負值了
  • Sim Loop Mode循環模擬的選項現在可以在每個loop開始前reset sim

  • 添加了tooltips的功能。現在用戶可以看到很長的輸出路徑
  • 支援在Scene Selection window選取節點的群組,支援以下:
  1. 物件清單
  2. 燈光照明清單
  3. 物件來源(object source)清單
  4. 粒子來源(particle source)清單
  • 當你啟用grouping button ('G')的選項,你就可以支援改變FumeFX deflector objects中所有物件的參數

[相關資訊]



2012/10/13

台灣人玩動畫開放PayPal小額贊助


PAYPAL台灣人玩動畫開放小額捐款

感謝各位朋友多年支持本站,如果有某篇文章對您十分有幫助,歡迎您小額(美金15元,約台幣450元左右)贊助本站。站長會持續地提供您優質的CG動畫相關文章~

站長email: hammerbchen@gmail.com

點擊以下『立即購』會進入PayPal安全捐款介面:





有朋友問, 如果沒有PayPal帳號要怎樣捐款? 你可以匯款到以下我的華南銀行帳戶:

 銀行名稱:華南銀行
 分行名稱:北投分行
 帳號:178-20-021588-1
 戶名:陳炳璋