2010/08/23

Chaos Group Phoenix FD煙霧火焰模擬外掛

全新的格點計算模擬軟體!可以模擬火焰、煙霧等特效。

Choas Group的Phoenix其實也好幾年了, 曾經風迷一時的火焰外掛. 原本已經停止開發 被FumeFX打到趴的軟體 現在又如浴火鳳凰般地重生, 要來個絕地大反攻, 一下子煙霧 流體 火焰 液體通通都支援 還狹支援自家軟體的VRay的全局照明功能. 向Chaos Group這家公司的研發團隊致敬!

---以下為翻譯---
Phoenix Fluid Dynamics (FD)正式推出了!
Phoenix Fluid Dynamics是Chaos Software公司最新推出的產品,這套軟體完美地結合了以格點為基礎的流體模擬,還提供了傑出的算圖能力。除了常見的流體行為,Phoenix FD還能模擬許多特效,例如壓力的衰減、熱能冷卻、與質量溫度平衡等物理參數。流體物質會持續地變形,例如流體、氣體、岩漿等。Phoenix FD讓你在3ds Max裡面模擬這些現象,這些資料會除存在細分的3D格點裡面,每個細分都具有流體的屬性。這些屬性包含溫度、質量、與速度。再用Phoenix模擬的期間,它會轉移格子之間的資訊,根據速度與時間的函數,這些都是根據物理定律來模擬的,最後的結果可以用來算圖出來。

Phoenix FD主要功能:

快速的物理模擬計算核心
Phoenix FD的模擬核心是使用獨特的方法。積極的內部最佳化,讓你可以用更短的時間模擬但是維持物理精確度,因此還有更多細項參數例如壓力衰減,溫度輻射冷卻,質量溫度關係函數等。

背景模擬計算
Phoenix FD在模擬的時候並不會把3ds Max的UI鎖住(譯註:因此你還可以進行其他操作)。這讓使用者儘管在模擬還是可以改變參數,參數的改變會立即反應到模擬效果!

支援所有的space warp modifiers修改器
Phoenix FD支援3ds Max所有的space warp modifiers,這樣你可以很輕易地改變流體效果。

移動所產生的風
這讓您可以模擬出移動的流體物體,例如火把、飛行的火球,同時能夠產生自然的風力,線性的或是角度的風力都能被模擬出來。

慢速流體模擬
慢速模擬是大部分流體模擬軟體的罩門,因為會產生不想要的Semi-Lagrangian平流擴散效應。Phoenix FD最佳化了慢速流體,因此不會產生令人討厭的擴散問題。

利用預先模擬的面來做為流體產生來源
利用Phoenix FD物件的特效通道,可以定義出implicit surface,將之作為Phoenix FD另外一個流體來源,這樣你可以創作出燃燒的流體、水的蒸汽等等。

以粒子為基礎的流體
以幾合體為流體的產生來源並非萬靈丹,例如流體需要無中生有的時候,這種情況利用particle system作為流體來源,而這種類型的流體還可以用參數來調整。Phoenix FD支援ParticleFlow 因此你可以根據事件來調整流體,這樣你的粒子可以做出很多變化。

GPU加速的預覽功能
利用GPU加速功能可以讓你的火焰渲染,或是其他發光特效能夠夠快速的計算出來,這樣使用這能夠更快速地微調效果,因為預覽能夠與最終效果吻合。

支援MaxScript
Phoenix FD可以輸出很多種MaxScript的功能,讓你可以直接存取模擬出來的結果,透過script的機制使用者能夠會得用傳統方法很難達到的效果,例如建立你自己的體積材質效果(volumetric textures)。

材質驅動的模擬計算
Phoenix FD模擬器的每個通道都可以由某張材質作為來源,或是被材質吸引,吸引的選項讓你模擬出不同層次的壓力效果。

置換貼圖
Phoenix FD最強大的功能就是fluid displacement。這讓你可以加強流體的細節,因為用在幾合體的置換效果,這個displaced fluid會隨著材質的法線移動,這個細緻的材質可以比流體格點的大小還小,因此可以產生全然不同的流體效果。Phoenix FD的置換貼圖技術不是用大解析度的流體來計算的,因此使用者不必擔新記憶體的損耗。

程序性材質輸出
Phoenix FD外掛還提供3D材質的功能,讓你可用在volumetric shader上,例如VrayEnvironmentFog。除了內部的shading ,材質輸出的功能讓你可以創作出許多特效,例如發光火燙的岩漿表面 。

材質的渲染
除了常見的模擬通道、溫度、煙霧,Phoenix FD的volumetric shader能夠使用任何的程序性材質。用在發光、diffuse、與透明度來源,這讓Phoenix FD可以用在更一般性的volumetric shader工作上,創作出很複雜的渲染材質。

使用這個工具,使用者能根據粒子的流體拖曳來產生置換材質,因此能夠做出流體移動刮痕的細節,技術上這些材質不一定要跟Phoenix FD一起用,可以用在其他地方。

大氣材質常見的問題就是不能把兩個重疊的大氣物體正確的混色,利用幾合體模式來渲染讓Phoenix FD物件能正確地混色。

實體計算(需要有V-Ray)
這個模式,會根據選取的通道,以一個閾值來渲染程序性幾合體 。利用這個模式可以在幾分鐘內算出類似液體的效果。

改變播放速度
透過特殊的混合演算法,Phoenix FD能夠迅速地建立內差影格,讓流體以不同的速度播放。

不同的模擬模式
使用者可以選擇不同的模擬模式,例如會根據質量來計算的演算法很適合用在模擬密度較高的流體,而平均質量演算法很適合模擬煙霧。

2D模擬模式
Phoenix FD能夠模擬2D流體

多種的快取壓縮
Phoenix FD的模擬結果會儲存在壓縮的檔案,避免佔用過多的硬碟空間,你可以自行決定壓縮比。

支援V-Ray的間接照明(GI)計算
Global illumination對於真實煙霧的視覺效果很重要 Phoenix FD支援V-Ray的GI功能,還有其他如散射的效果。

拖拉的UVW/mapping通道
使用者能夠利用流體的UVW座標來處理貼圖,這個UVW通道也可以輸出成貼圖。

[相關文章]
VRay info. 專欄介紹Phoenix FD (很多展示影片)

2010/08/14

UDK八月版新增功能

八月版的UDK(Unreal Engine)新增以下功能:

以下是新功能的完整說明:
Scaleform GFx
  • Scaleform GFx 3.3.85現在合併到UDK八月版(Aug)裡面了,所以現在UDK所有的使用者介面都是用GFx寫的了!
  • 改善了許多Scaleform的錯誤與工作流程
點光源計算陰影(Point Light Shadows)
現在點光源支援整個場景的陰影計算, 更詳細的說明文請點這裡

預先計算場景的可視度(Visibility)
預先計算可視度讓你的遊戲在不支援硬體occlusion的遊戲機也能控制可視度。

動態模糊
大大地改善了動態模糊的品質 但是不影響效能

新的細節光照顯示模式(Detail Lighting View Mode), 更詳細的說明文請點這裡
  • 取代diffuse與specular的資訊,但是維持材質其他的參數,例如normal map、opacity mask、雙面等等屬性。
  • 這對於查看場景的照明,而不被diffuse的效果所分心很有用。
  • 而舊有的只顯示照明(Lighting-only)的模式還是很有用,你可以用來查看lightmap的品質。
角色間接照明
添加了新的角色間接照明的控制,讓你可以即時地微調間接光設定,你可以控制照明與陰影。詳細的參數介面請點這裡

頭髮的照明
  • 現在新增了一個新的參數,就是用來計算透明度(translucency lighting)的單一pass的技術。
  • 之前的技術是透過多次pass來計算,這會造成多層的物件,例如頭髮,產生過亮的問題。
  • 單一pass的技術跟多次pass照明相比只會用到一半的shader指令(instructions) 因此效能會更好。詳細的說明文請點這裡
舊版的UDK計算出來的頭髮有過亮的問題

Single-pass的頭髮計算效果

Normal Maps、間接照明與Lightmaps
Normal maps現在也會影響間接光照,這是利用簡單的lightmaps來計算。
舊版UDK的效果

新的功能的效果

其他新增功能:
  • 現在你可以在Content Browser按下右鍵選單就可以直接重新編譯材質
  • 新的材質串流系統可以節省記憶體,也更有效率地優先化材質
  • 部分支援非2的倍數材質的支援(譯者註: 之前輸入貼圖必須是要2的倍數,例如1024X1024,因此253X243這樣的解析度就不合法),但是MIP maps不能用非2的倍數,而DXT壓縮必須能被4整除。
  • 現在你輸出OBJ檔案,Vertex normals能被正確的儲存。
  • Terrain輸出現在支援有洞的Terrain。
  • 新的資產內容比較功能(ContentComparison)指令,幫助裡最佳化遊戲資產
  • 現在預設定Lightmass靜態陰影支援texture space filtering,這樣可以把反鋸齒柔化
  • 材質編輯器的Undo 與Redo變個更快了!
  • 添加了多個攝影機對粒子的偏移支援,與攝影機對mesh emitters偏移的支援
  • 在bone/socket 產生的粒子,現在支援了旋轉的mesh particles 跟bone/socket的朝向能夠正確對應了

新的說明文件:

MoveTexture的教學文, 請點這裡

FaceFX口形同步模組的使用說明文, 請點這裡


使用橫向捲軸攝影機的說明文, 請點這裡

[相關資訊]


2010/08/08

Unreal Engine功能介紹: 動態計算陰影透明度

Unreal Engine 3現在新增動態計算陰影透明度(dynamically shadowed translucency),可以用在以下兩種狀況

1)透明度的照明,是在場景中具有dominant lights 投射在可以接收動態光影的環境上。簡單的說,角色的頭髮現在可以在環境裡面計算陰影。


上圖中,並沒有開啟這個功能。因此,頭髮的透明度計算不正確;而下圖是有開啟透明度的功能。


在材質裡面如果要開啟這個功能是
bTranslucencyReceiveDominantShadowsFromStatic. 而在燈光環境裡面也有這個設定,你可以把頭髮開啟陰影的選項,或是就採用動態陰影 bAllowDynamicShadowsOnTranslucency,這個屬性預設是關閉的,因此如果你想要看到效果請務必把這個選項開啟。

效能的問題
開啟這個效果,在Xbox 360裡面每個角色會損耗大約.2ms的計算時間,這個功能還會增加四個材質lookups,且會增加某些ALU instructions到頭髮的shader上面,大概也會花費少量的GPU計算時間,大約.02ms。因為其實角色佔畫面的面積其實很小的。

限制
這種陰影只會投射在靜態的環境上,頭髮無法接受其他角色的陰影,也不能處理自身陰影(self-shadowing)。

2)透明度可以繼承dominant shadows,投射在不透面的表面上,這表示透明度可以使用動態陰影,投射在半透明後面的不透明的pixel上面。這個功能的目的是要讓地面mesh的動態陰影,當採用半透明混合模式時(translucent blend mode)與深度偏差alpha(depth biased alpha),能夠隱藏幾何體的縫隙。

如果沒有上述功能,半透明的mesh放在地上就會看起來像這樣:

如果有把功能啟動,看起來會像這樣:


要把材質啟動陰影計算的參數是bTranslucencyInheritDominantShadowsFromOpaque。請注意啟動這個功能會降低效能,因此你只針對地面的mesh做設定,而不是把所有的半透明材質都把這個選項打開。

效能的考量
如果是在Xbox 360 ,會有持續的.27ms計算開銷,如果還有添加材質的話還會增加.1ms,如果半透明地面mesh暫了畫面很大一部分的話。

限制
這個功能只對場景中打的是dominant lights光源有效,所以採用modulated shadows會沒有效果。

這個功能目前在PC平台上只對dominant directional lights有效;但是在遊戲機平台上面對所有類型的dominant light都有效!

透明度會使用在其後面的不透明物件的動態陰影,你可以在以下的遊戲截圖看到階梯陰影效果,但是如果半透明mesh背後的不透明mesh之間沒有對位很好就會出現計算錯誤。


[相關文章]
40 個你不能錯過的UDK (Unreal Engine)網站

2010/08/05

UDK新增功能:針對頭髮只計算一次pass


之前UE3在計算透明度的時候,只能計算多個pass。很不幸地,燈光的透明度,在多個passes的時候會在同一個mesh,多個圖層的位置產生照明過亮的錯誤!(如上圖)

八月份的UE3及將具有只計算一次pass的照明方式,讓頭髮的混合(blending)結果是正常的(如下圖)。

在SkeletalMeshCinematicActor裡,新的一次pass照明預設是開啟的,因此把SkeletalMeshCinematicActor放在場景你就可以預覽出效果。
你必須要把bUseOnePassLightingOnTranslucency這個參數在gameplay pawns裡面的script設定為true,才能得到這個效果,為了要讓照明計算一次pass,除了dominant light(或是在cinematics裡面的non-rim light)以外的燈光都會由單一個unshadowed SH light來計算逼近,但是在大部分的狀況差異並不明顯。感謝這樣的逼近計算,單一pass的照明大概只花了多pass照明的指令的一半而已,因此能更快速地計算頭髮!

[更多文章]

UDK新增功能:單一點光源就能產生整個場景的陰影

八月版的UE3及將會有單一點光源產生整個場景的陰影的功能。詳情如下:
  • 以上燈光是一盞PointLightMovable,能夠產生正確的陰影。
  • 任何點光源,帶有預先計算的陰影(可開關的或是一般點光源),而這樣的照明並不需要計算light map
整個場景會用6 90的投影算圖,因此對場景渲染來說是非常耗資源的,因此這種燈可被用來當做編輯器裡面預覽用,因為這種光源可以用來顯示燈光在被rebuild後陰影的位置。

[更多UDK功能介紹]

Recent Comments