1)透明度的照明,是在場景中具有dominant lights 投射在可以接收動態光影的環境上。簡單的說,角色的頭髮現在可以在環境裡面計算陰影。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTNx3o3rIMrsGJAZqb4u-2WIxKvdcW4VMHkVtP1cH8DucUCaOoGOguzfhFFJ09HV3GGvBltUtqNMvUDnhrtsQfn5rqG1BQt-zomUQGeZzU7WBJ-chDw7toqiGvfjv2etK57WGe/s280/0OriginalCropped.jpg)
上圖中,並沒有開啟這個功能。因此,頭髮的透明度計算不正確;而下圖是有開啟透明度的功能。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeuL-WJYw-5H_QIG_tePDRbxMT43lfbgy4burL4lIvu4HhoIyoZAcjGbLpIUddjSv_0HApmVbeg12igVf0ysm9jVtSoE7cGlZUODWks0oXW4dhhro3JiSCZLV__N2I4SXlmc5N/s280/0ShadowedHairCropped.jpg)
在材質裡面如果要開啟這個功能是
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放在地上就會看起來像這樣:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg6flEoZfjdMHnPlj_BnMNoaM4AU0zEgjXEeJvlYfjLqZUuQ5L39vkokF8526CqhJq-wHuMFSP71JYq9cfdZ7oab5L741cIbZD3CmDUL8zct1uT1zfwDlidWwJTfHMCZhZXtgC/s280/1OriginalCropped.jpg)
如果有把功能啟動,看起來會像這樣:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHc_WiBN5QLx2WbqYICOmqOt9E_odjukf_kJeJ4ck3-31d7tndWgpLOXhGPJ7Eloav0hSwJCKc4i5YAQNjLTOqnXixS-yk2pskJXgQKB-WKGl2s3-wnWL7VZZhSygCKzKIfgD8/s280/1InheritCropped.jpg)
要把材質啟動陰影計算的參數是bTranslucencyInheritDominantShadowsFromOpaque。請注意啟動這個功能會降低效能,因此你只針對地面的mesh做設定,而不是把所有的半透明材質都把這個選項打開。
效能的考量
如果是在Xbox 360 ,會有持續的.27ms計算開銷,如果還有添加材質的話還會增加.1ms,如果半透明地面mesh暫了畫面很大一部分的話。
限制
這個功能只對場景中打的是dominant lights光源有效,所以採用modulated shadows會沒有效果。
這個功能目前在PC平台上只對dominant directional lights有效;但是在遊戲機平台上面對所有類型的dominant light都有效!
透明度會使用在其後面的不透明物件的動態陰影,你可以在以下的遊戲截圖看到階梯陰影效果,但是如果半透明mesh背後的不透明mesh之間沒有對位很好就會出現計算錯誤。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP-Z8u9qjbHRskIrvqsbwBKb-WFn9Mo0xCIQFmHNPN6G2iwvaXRc7qkHe69iZfhsWysj5WHz8LhwTDgZ_F3Ur2xVmX-dhfz8-IRLaQ0E16wU5X0kGa4sBh4c3ifAYX1nS7asdH/s280/PreviewUnbuiltLighting_WholeScene.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT7YnX7Kn-whfsp2pp9PtomahlYU6bKoX7Z1ncmWHK5XCqIVMIjeHu65K8Qs4ZIfpnx7KO4ryvHLwjnhj1e9kSTNphQWmuC_rQuot2K7jq1YaFmFDBcUj1yQLQsb5MDMVJeVYu/s280/PreviewUnbuiltLighting_DynamicShadows.jpg)
[相關文章]
40 個你不能錯過的UDK (Unreal Engine)網站
No comments:
Post a Comment