最終幻想15的頭髮渲染是怎麼回事?
01-09
如圖所示,放大了看全是鋸齒和空洞,在其他遊戲里很少遇到這麼明顯的情況,這是哪裡出了問題?跟Alpha to coverage有關嗎?
TressFX 基於 PPLL 做的半透明處理對於顯存和 shader 效率有較高要求,不覺得能夠作為主機遊戲的解決方案。同時 TressFX 還有其他的坑。
FF15 的頭髮應該類似於 UE4,就是通過 dithered alpha test 做半透近似然後通過 temproal AA 把洞洞都填起來。但是 FF15 實機中 AA 做的並不好,所以 dithered alpha test 後的洞洞沒填起來。
大量毛髮繪製,甚至大量半透明物體繪製,一直都是個難點。做好了,機能要求高。從你的截圖看,這甚至沒用alpha to coverage,而更像用的alpha test。
比較奇怪的是,他們居然沒直接用AMD的TressFX。覺得Steven Liu判斷的應該不錯,dithering加AA在這兩年遊戲里已經變成很流行的技術了,ff大概也是用的這種技術。
判斷依據就是圖片裡面看起來不是鋸齒,而是洞。
UE4的hair shader關掉AA就是這個鬼樣子也可能ff15用的是temporal AA,在較高速運動的時候也會這樣,還沒玩到,只能猜一猜。另外還有不少改善這個問題的方法,ff里可能沒使用,比如用不同的noise做dithering的mask等
幾位大V已經說了很多,我來點補充閱讀材料,Siggraph 2016有幾篇關於FF15的講座,我並沒有去,但是那篇paper應該有關,需付費。
角色製作流程:
Character workflow of Final Fantasy XV渲染技巧:
Rendering techniques of final fantasy XV油管視頻,和頭髮並沒有太多關係,主要講AI結合動畫和環境渲染:
https://www.youtube.com/watch?v=T6UWUy4nto0一般頭髮和樹木,樹葉都是用alpha testing來表現發梢。alpha testing 不需要像apha blending 需要按深度排序。渲染比較省計算量,引擎也比較好實現。缺點是發梢周圍會有鋸齒感。需要配合AA(反鋸齒)來用。
感覺和alpha關係不大,就是部分皮膚穿插了吧
我猜是光柵化過程中的問題,已邀請 @Milo Yip@叛逆者 求指教
推薦閱讀:
※最終幻想系列的戰鬥系統是不是一直代表JRPG的戰鬥系統最耐玩和創新的那個,請大家多多討論,謝謝?
※最終幻想14 4.0版本如何入坑?
※如何看待最終幻想15宣布長期更新計劃回爐補完的行為?
※最終幻想戰略版為什麼不繼續出了?
※為什麼「勇者斗惡龍」和「最終幻想」這兩大日本國民RPG均誕生於1986、1987年,有什麼特殊時代背景嗎?
TAG:遊戲開發 | 遊戲引擎 | 最終幻想遊戲|FinalFantasy | 計算機圖形學 | 最終幻想15FinalFantasyXV |