2019-04-05 16:38:22鼴鼠

為啥DOA6的女角肌膚水嫩水嫩?聊聊比較技術性的東西"Subsurface scattering"。

看過生死格鬥六嗎?跟五代比起來,有沒有覺得妹子的臉好像畫了妝,變的水嫩水嫩的?

瑪莉螺絲(?)的嘴唇上了唇蜜。


眼鏡娘(平光眼鏡?)的臉上似乎打了蘋果光(?)粉嫩粉嫩!簡直就像網紅臉或是女明星一樣,臉上粿的粉都可以拿來油炸了!




DOA6算是比較收斂的,鬼泣五(鬼靠夭5)的臉幾乎都變成蠟燭了!嗯?蠟燭?蠟?怎麼說鼴鼠都是(前)多年3D Graphics Driver工程師...腦中立刻浮現出某個Demo:

內行的就知道,這不是NV SDK裡面的某個範例嗎?(其實原範例是綠色的,這個來自這篇

看過NV出的GPU Gem的課本(?)的人就會立刻想到這篇實作




好吧,講了那麼多廢話,其實就是想聊聊"Subsurface Scattering",所謂的"次表面散射"。

雖說如此,妳看不論是中文Wiki,或是英文Wiki,或是這篇中文教學,或是這篇中文內行人(笑)說明,保證絕大多數的人的感想都是:WTF?

就算直接給妳原始碼,保證你也看不懂XD








好吧,其實也沒那麼難,簡單說就是:"塗了BB霜,和擦了唇蜜"。

原理請看發明者那位教授的論文(估計妳沒啥興趣),簡單說就是:"光照到一些特別物質(例如人的皮膚)上時,不是直接被該物質(臉皮)反射光,而是"射穿妳的表皮後,由妳表皮的下一層反射光,再傳到觀察者的眼睛中"。

妳可能還是會說:WTF?

好吧,再簡化一下:人眼看到的東西是光照到物體後,反射進妳眼睛的光。而入射角等於反射角,照入射角等於反射角計算出來的反射光,可以想成是"直接反射光"。

而如果光照到美少女的皮膚上,是以"傳統入射角等於反射角的方式彈進妳眼睛",妳看到的就會是像橡膠般的質感,可以參考DOA5:


DOA5的美少女角色的臉很明顯沒有開"美顏效果",解析度很高,很清晰銳利,但看起來像...漂亮的矽膠娃娃?


但如果導入"Subsurface scattering"的概念:"光先射穿表皮,在底層反射後,受到表皮的干擾折射和散射後,再射到妳的眼中",妳看到的就是所謂的"晶瑩剔透的美少女肌膚"啦!!

大概就類似這張圖的感覺(雖然這張圖講的是類似玻璃類的東西):

這張圖本來是要說類似厚玻璃這種物體,在背後有光時,妳要怎麼呈現出玻璃的質感(其實鼴鼠覺得比較像蠟被光射穿的感覺)。






在real-time運算中,實做的方法有不少,有興趣可以參考看看前面GPU Gem的連結,但基本的概念,或說最近的實作比較多是類似ScreenSpace Blur,細節這邊就不討論了,有興趣的人就去看原始碼和教學。

鼴鼠這邊想說的是:雖然是極度簡化和跳過數學式,但概念就是"模糊化"和"打蘋果光",對!就是前面說的:"擦BB霜和唇蜜"。

講開美顏效果會不會比較直接點?(笑)



特別對還是不懂的人講解一下:見上圖,如果只是單純跟玻璃後面的東西做透明運算(只跟玻璃正後方的點做運算),看起來就是"清玻璃穿透背景的效果"(右邊雨下的臉,也就是DOA5),但如果加上模糊化(跟跟玻璃後方四周的點一起運算),就變成上面的"毛玻璃穿透效果"(左邊糊掉的部分,就是DOA6,當然實際上DOA6是會根據ScreenSpace計算深度,或是用TextureSpace Diffuse處理,端看它的演算法,效果不會這麼平面)。




鼴鼠因為有3DVision的設備,所以剛好有把DOA6打開Stereo mode玩了一下,除了部分的衣服是直接render外(看起來會是立體的),其他部分(特別是肌膚)都是非立體的,一般人可能不能理解,細節一樣不解釋,但總之就是:"肌膚是後處理出來的"。



可以想像成:程式會找出皮膚的部分,(依深度)進行模糊化(美顏去瑕疵),和針對某些部位打高光(依照光的方向和位置),做出唇蜜效果。

嚴格來說這技術出現很多很多年了,早年也看過不少範例,不過最近看來都被大量的實用化了,真不得不感慨Graphics硬體技術的進步,把當年夢幻般的技術都實做出real-time的版本了,真是讓鼴鼠這種老工程師感到感慨。

以上!


P.S.照GPU Gem課本上的寫法,就可以做出模糊化,但高光(唇蜜)的效果就需要打光(ScreenSpace計算出Depth map):

實作講白了就是模糊化(將SSS的結果當作lightmap)。
2019-04-05 19:35:34

還是鐵拳好玩(離題)

這次感覺像5的精緻化,但打擊感還是不太行...而且他喵的收集碎片超難,有人推算每天打6小時也要14年才能完成全收集.....


耐心等外國網友製作的MMD(無誤)

惡魔5緩速破關中,慢慢等隻狼特價~~~

版主回應
生死格鬥系列的猜拳系統該怎麼說呢?喜歡的人就喜歡,討厭的人就很討厭。
不過...........反正大家都不是為了格鬥感吧?(被踢)

隻狼難度(對我)太高,痛苦中....
2019-04-05 20:27:48