Pages

2014/12/20

Phoenix FD 2.2 燃燒的木椅教學

前言

作為一套先進的流體模擬外掛,PhoniexFD 提供你多種不同方法產生火焰。在本教學裡面,我將使用木椅作為火焰來源,利用貼圖來控制火焰的分佈。


整體設置

基本上一個PHSource, 一張椅子與一個PHSimulator就足夠。你可以添加風的外力 一個天光(作為環境光) 一個點光源 (用來模擬火焰本身的照明), 這些東西可以讓場景更加寫實。

準備工作

請確認您的場景尺度設定在合理範圍內。這裡我將系統單位設定為等於10公分,如果你希望得到跟我一模一樣的結果,請使用我的設定值,因為流體模擬是非常受到場景尺度影響的。



火焰的來源

1. 將椅子放置到場景中,我的3D椅子模型是自Turbosquid下載的 (作者為Austro),縮放椅子模型至高為95公分 寬約60公分

2. 到Create Panel / Helpers / PhoenixFD 產生PHXSorce helper,將椅子模型添加到 PhoenixSource中。這裡我在Discharge channel中放置了黑白貼圖(在Mudbox中繪製的) 可以控制火焰在椅子上的分佈。將discharge類型設定為Inject. Discharge設定為50(跟你的場景有關,請根據您的火焰實際強度調整這個數值)。我的工作流程是先將grid設定為低解析度,跑模擬看看火焰是否太小,如果太小再將discharge設定高一點,反之則調小。



流體動態的參數設置

創建PhoenixFD simulation grid -- PHXSimulator。到Create Panel > Geometry, 點選下拉式選單 選 PhoenixFD,按下PHXSimulator按鈕 在場景中拖拉出適當的範圍 PHXSimulator grid必須要涵蓋椅子與火焰的範圍:

所有重要的參數都用螢光筆標註了。小的cell可以產生更多細節,但模擬時間會拉長,高的grid解析度並不能保證寫實的火焰效果,你必須要隨時觀察預覽效果來調整grid cell大小,直到滿意。我將 time scale提升到1.5以獲得更多細節。 Cooling的參數類似於FumeFX中的Burn Rate,將這個參數設定為0.1 ,這樣火焰才不致隨著時間燒的太旺。於守恆參數 PhoenixFD提供您三種守恆,smooth的結果細節不夠多, buffered 又太多雜訊, 因此我選擇 symmetry作為我守恆的方法。 Quality 控制守恆的品質,越高則越多細節 。Material transfer你可以選擇 "Multi-pass" 或 "Classic" 。請不要將Steps per frame設定的太高,否則會失去火焰的細節。 將Preview: detail設定為5 ,如此可在viewport有比較好的播放率。

按下"Start" 開始模擬

顏色與算圖

我個人認為 PhoenixFD的顏色與透明度"color and transparency" 介面設計不良,不容易調整到想要的效果,火焰很容易過度曝光,調整曲線也不太有幫助,而且效果難以預測。好在PhoenixFD提供您從其他場景載入 "Rendering Settings"的功能,你可以開啟PhoenixFD安裝附贈的場景範例檔"burning plane.max"  然後將其算圖設定存為*.apr檔。你也可以點這裡下載我的設定檔。然後載入到當前的場景檔中。



載入 *.apr檔案後 你就有如上圖的漸層與曲線可以馬上使用

為了加速算圖,你可以提高Step(%) 數值,我發現用20是不錯的設定達到速度與品質最佳化。

添加外力

在場景中添加風力,這樣火焰的動態會更加寫實,我在風的強度上套用noise controller 讓風的強度隨著時間變化:


算圖

我個人偏好使用預設的算圖器, 因為用在專案上非常有效率,儘管PhoenixFD提供您許多參數可以最佳化火焰的V-Ray GI illumination效果,但用V-Ray計算火焰效果對我來說來是太慢,火焰的GI其實可以藉由放置一盞Omini light模擬出來大致的效果。 skylight則可以模擬環境光。

結論

以上是我的最終算圖動畫。以下是重點參數:
System unit: 1 Unit = 10.0 Centermeters
Total: 120 frames, Cell size = 4.129cm, Total cells = 46 922 400, Simulation time = 55m 1s. Rendering time = 37m
Dynamics: Randomize amount = 0.2, Symmetric, Quality = 20, Classic, SPF = 1.0
希望這篇教學對你有幫助!開始創造你的火焰效果吧!

[相關教學]
PhoenixFD basic fire 基礎火焰教學

Phoenix FD 2.2- Paint Flow 流體教學

No comments:

Post a Comment