最終幻想15的頭髮渲染是怎麼回事?

如圖所示,放大了看全是鋸齒和空洞,在其他遊戲里很少遇到這麼明顯的情況,這是哪裡出了問題?跟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 |