2011/11/22

Phoenix FD 2.0流體外掛新增功能介紹


ChaosGroup PHOENIX FD 2.0 FEATURES 功能介紹

編譯: Hammer Chen

Displacement置換貼圖
Phoenix FD最強大的功能是fluid displacement, 提供流體細節化的全新方法, 就跟模型的displacement一樣, 具有displacement的流體會沿著它模型原本的法線方向產生細節. 這個displacement貼圖的解析度可以比模擬的grid cell要小, 這樣一來, 在算圖的時候可以產生很多細節. Phoenix FD的displacement技術並不會讓流體用更大的解析度, 因為那會導致記憶體效能的問題, 而且displacement演算法還支援多核心運算!

適當的混合(blending)
眾所皆知, 大氣物件(amospheric objects)對於相疊的兩個大氣物件之間很難正確地計算混合的效果. Phoenix FD能夠完全解決這個問題, 能夠正確地混合大氣效果, 例如泡沫(foam).

Heat haze
在這個模式下, 在模擬器裡面的光線(rays)會根據漸層色(content gradient) 來做重新的轉向, 所有的數值通道可以作為霧的來源.

Solid mode
在這個模式, 內容物會被渲染成程序性的幾合體, 表面則是由選取的通道決定. 當採用此模式, 用戶就可以在幾分鐘之內, 渲染出寫實的, 好看的液體.



支援V-Ray的GI算圖
全局照明(Global illumination)對於煙霧的畫面扮演了重要角色. Phoenix FD支援Vray的GI功能, 還添加了一些加速選項, 避免局部的散射問題.

Shader 記憶體效能
volumetric shader的架構整個重新整理過了, 消耗比較少的記憶體. 在atmospheric模式下, 新的記憶體效能可達兩倍快, 在solid模式則可達8倍快.

支援兩種算圖模式的Geometry gizmo
對於算圖還有增加某些控制, 這次添加了gizmos. Phoenix FD現在讓用戶可以使用任何幾合體做為gizmos, 只計算在該gizmos內部的渲染效果, 這讓用戶更容易地產生他們要的效果.

泡沫與飛沫粒子
Phoenix FD 2.0還提供全新的shader 支援粒子系統, 讓用戶可以完全控制由新的軟體核心所產生的泡沫或是飛沫粒子 .

把粒子渲染成煙霧
新的以及改良的shading方法, 讓你把小的, 密集的粒子渲染成有體積的煙霧效果(volumetric smoke). 這個雖簡單卻非常強大的功能讓用戶可以添加大量的模擬細節, 但卻不會增加太多算圖時間.

模擬
根據模擬核心快速計算物理效果
Phoenix FD模擬核心具有獨特的內部最佳化方法, 讓你減少計算時間, 維持著物理模擬的精確性. 提供用戶模擬像壓力衰減, 熱輻射降溫(thermal radiation cooling) ,質量溫度關連...等物理屬性.

背景模擬
Phoenix FD的模擬程式會獨自進行模擬, 不會把你3ds max的UI鎖住. 這讓用戶可以在模擬的時候改變參數, 甚至算圖也可以, 當你一改變參數, 效果就會馬上反應的模擬效果上面.

支援所有的space warp modifiers
Phoenix FD支援所有3ds Max標準的space warp modifier, 讓你可以輕易地改變流體.

由移動所產生的風(Wind from movement)
讓用戶可以模擬移動的流體物體, (例如火炬, 移動的火球...等等), 不需要用造假的風力了! 提供線性的與角速度的風力模擬效果.

利用預先模擬的表面來做為流體來源 (Fluid source form pre-simulated surface)
使用Phoenix FD object的effects channel 用戶可以定義出隱函曲面(implicit surface) 將之做為流體來源, 用在另外一個Phoenix FD object上, 這讓你產生例如燃燒的岩漿, 水冒出蒸汽等效果.

以粒子所為流體來源
不一定所有情況用模型做為流體來會都是適合的, 特別是當流體必須是由無到有的狀況. 這種情況, 從粒子而來的流體就很適合, 所有參數都可以在particle age time設定.

支援MaxScript
Phoenix FD可以輸出好幾的MaxScript函數, 直接控制模擬器的內容與模擬的結果, 使用script 用戶可以取得用傳統方式不容易取得的結果, 這樣可以處理複雜的流體起始狀況, 建立程序性的volumetric textures 等等.

流體模擬的延伸功能
  • 當你使用新版本的Phoenix時, 用戶現在可以產生非常寫實的液體了.
  • 新的Turbulence helper 讓你可以更好控制隨機亂流效果
  • 新的分析模式(analytical mode) 讓你可以很有效率地產生流體的光線散射效果
  • 支援以Thinking Particles最為流體來源: Phoenix現在完全支援Thinking Particle做為你模擬的來源.
  • 改善的多核心模擬計算:內部的最佳化讓你可以用更有效率的多核心計算

粒子輸出
在Phoenix 2.0 新的核心可以更有效率地追蹤粒子, 讓用戶對各種模擬都可以添加更多細節 而不需要增加模擬解析度.

模擬泡沫與水花 (foam and splashes)
新的模擬核心Phoenix FD可以產生泡沫與水花效果, 這特殊的新技術讓用戶可以產生更加寫實的流體模擬效果.

其他功能
GPU加速的預覽
設定火焰與其他發光特性的效果可以由GPU來加速預覽, 用戶可以利用這個功能來做微調, 因為預覽效果可以與渲染效果完全地吻合. 在Phoenix FD 2.0裡面, GPU可以完全支援照明與diffuse color shading , 除此之外, 算圖可以在模擬的資料夾自動儲存成PNG檔案. 這樣看似簡單的新增功能讓你可以很快速地預覽模擬結果, 而不需要花費太多時間在以CPU算圖上面.

Phoenix FD ParticleFlow operators
Phoenix FD ParticleFlow operators讓用戶可以根據流體移動粒子, 或是改變事件, 以粒子功能產生更多變化.

程序性的紋理輸出
Phoenix FD plugin提供了3D紋理, 讓你可以用來處理像VrayEnvironmentFog這類的volumetric shader. 除了外部的shading以外, 紋理的輸出讓你可以產生各式各樣的效果, 例如用displaced transparency channel產生的岩漿效果, 或是non-displaced emissive channel等等.

粒子紋理工具 (Particle texture tool)
這個工具讓用戶根據粒子在流體表面的摩擦所產生的displacement texture, 讓你可以沿著流體產生細節, 這個功能不一定要跟Phoenix FD objects綁在一啟用, 可以獨立使用.

時間快慢調整(Playback time scale)
使用特殊的混合演算法Phoenix FD, 讓你可以用不同的速度播放模擬的結果

[相關教學]


2011/11/20

Softimage ICE與Kristinka Hair頭髮設置教學

作者:Anto Matkovic
翻譯:Hammer Chen

當Softimage推出ICE功能時, 認真的用戶不會再懼怕'multiply vector by matrix'這類的字眼, 因為他們可以開發出頭髮造型系統, 不需要寫任何的程式碼. 對於"火星女警"這個案子, 我利用我自己寫的免費頭髮系統---Kristinka Hair來製作頭髮. 這個系統利用了NURBS表面, 用程序性的方式產生細節. 在斯拉夫語系裡, Kristinka的意思是"親愛的克莉絲汀"或是"小克莉絲汀".

第一步是表面發射器與兩個ICE的點雲(point clouds), 第一步只有很少的導引(guides) ,第二個就會有很多頭髮. 在導引中間有很多的內差計算. 一般來說, 第一個是用來做造型的, 第二個是拿來算圖.
Follow NURBS 2節點的效果, 這個節點會找尋最近的髮根, 然後平滑地在兩個NURBS表面之間產生圖層, 在經過一些微調後, 我得到了大致形狀. 為了要更容易編輯, NURBS附著到有相同拓樸的mesh上面, 然後套用envelope. 到目前為止, 可以開始進行最後的姿勢了!

最後的細節層由"Offset By NURBS"節點所產生. 是用好幾個增加的NURBS表面, 這個用來re-mapping頭髮流向, 操作跟UV編輯很類似, 微調的方式是以"2.5"D的方式調整, 沿著NURBS的表面的UV空間來調整, 就是你在右圖看的圖片, 這個節點也會程序性地產生頭髮的群組.

增加的NURBS表面與"Follow NURBS Lite"節點, 用來產生更有趣味的髮型. 節點有簡化, 只需要一個NURBS表面就可以了, 但如果有好幾個表面也是可以輸入的.

"Curls"節點產生新的圖層, 用在程序性變形上面, 跟常見的程序性節點一樣, 它有很多參數可以調整循環的數量, 波浪的內差, 卷曲...等等 .在這裡我刻意讓循環的啟始點在髮尖的部位.

現在, 我們進入到第二個步驟--- ICE 點雲, 用來處理細節. 我改變了內差, 從髮根的平均分布改成從髮尖開始.

最後的細節: 隨機化頭髮的長度.

再次增加細節, 移動了某些頭髮, 不過還都是用程序性的控制.

現在, 讓我們上材質吧. 火星女警完全是用3delight來算圖的. 3delight是RenderMan相容的算圖器. 我用了常見的打燈設定: 太陽光, 背光, 用20盞等所打的光環做為環境光. 所有的燈光都有很深的shadow maps ,都有開啟diffuse與specular lighting照明. 這樣的設定很容易做調整, 也可以對整個角色做照明, 不只是頭髮而已. 一開始時, 我從手繪的HDR影像轉移了顏色過來 最後我手動調整所有的燈光, 頭髮的透光效果是以背光建立出來的, 具有比較高的shadow bias. 其他所有的光, 我試著用銳利的陰影, 小的bias數值. 根據shadow map的大小所決定, 至於太陽光 shadow map是4096, 背光是2048, 其他光源是1024. 我還用expression設定了每盞光的icon與顏色的顯示.

3delight算圖器的算圖效果

頭髮表面的材質軟體就有提供(out-of-box) 提供頭髮常見的顏色, 而頭髮陰影的shader. 我用了比較暗的, 比較飽和的顏色. 高光顏色是採用了隨機變化的灰色, 每根頭髮都具有一點點不同的高光強度. 最後, 大約產生了三萬根頭髮, 每根具有約0.15像素的厚度.


Kristinka Hair軟體介紹:
這裡進入下載頁面

Compounds:
  • Hair from NURBS Plus 提供很多選項: 例如髮叢(hair clumping) ,需要"am Hair from NURBS Ctrl"才能正確運作.
  • Hair from NURBS Single: 比較簡單, 提供一樣的參數, 但多了hair locks, 主要是用在產生細的NURBS髮條.
  • Hair from NURBS Ctrl :只是一個hair locks的產生器, 只有當你使用"for am Hair from NURBS Plus" compound才會需要用到
  • Hair from NURBS MotionBlur :用來產生動態模糊
使用方式
  • 建立一個空的點雲(point cloud), 輸入"am Hair from NURBS Ctrl" compound, 連接NURBS surface.
  • 建立另一個空的點雲, 導入"am Hair from NURBS Plus" compound, 連接第一個點雲NURBS surface 以及你要黏附的mesh.
  • 頭髮的基礎是在NURBS surface U邊界, 如果你啟動了NURBS boundary屬性, 在Softimage viewports U boundary會顯示成紅色. 如果頭髮方向無法吻合, 那就切換surface UV .同樣, 檢查NURBS surface法線方向, 這對很多參數都很重要, 髮線必須要與頭模型的法線平行.

[相關文章]

Recent Comments