【渲染】Unity中實現(xiàn)近似的SSS/3S效果

前言

開始之前,先稍微了解一下什么是3S富腊,在此引用一段維基的解釋:

Subsurface scattering (or SSS), is a mechanism of light transport in which light that penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point.
次表面散射(或稱3S),是一種光線穿透半透明物體表面并在材質(zhì)內(nèi)相互作用而散射瑞信,最終從不同位置離開表面的光傳輸機制趴樱。

雖然解釋聽起來很晦澀,不過舉一些例子就很好理解:玉器拂到、皮膚、牛奶等半透明物體都是很常見的3S材質(zhì)码泞。在離線渲染中3S材質(zhì)早就是爛大街的東西了兄旬,不過在實時渲染中應(yīng)用的就很少有見到。離線渲染可以用光追去物理模擬光線余寥,實時不能這么做领铐,不過也可以通過一些Trick模擬近似的效果。

維基:光線透過手指的圖例

實現(xiàn)

主要是將幾個在Github上找到的幾個相關(guān)項目成果整合起來宋舷,參考并做了一些改進绪撵。

感謝以下的項目:

接下來將會以模擬一條中國龍造型的綠色玉器為目標進行調(diào)試。

開始

首先搭建一個場景祝蝠,從Sketchfab上下載了一條免費的中國龍模型音诈,給他附上一個Standard材質(zhì)并調(diào)整一下光滑度幻碱。此時的效果比較像國內(nèi)那些奇奇怪怪的廉價搖搖樂……

模擬散射

這一步是CP-SSSSS項目的成果,SSSSS全稱Screen Space Sub-surface Scattering细溅,是一種基于屏幕空間的后處理實現(xiàn)褥傍,是實時SSS效果中比較常見的做法。

  • 先在Camera上掛上CP_SSSSS_Main后處理腳本喇聊,調(diào)整效果參數(shù)恍风。
  • 然后在需要進行模擬散射效果的物體上掛上CP_SSSSS_Object腳本,調(diào)整散射顏色誓篱。散射顏色可以偏黃朋贬,這樣會有翠綠的感覺。

此時效果可以說有點意思了窜骄。明暗的對比減弱锦募,通過對內(nèi)部紋理的模糊化,產(chǎn)生了類似玉器內(nèi)部散射而產(chǎn)生的“渾濁感”啊研。

下面是他給出的基本思路御滩,有興趣的朋友可以自己去研究項目中的具體代碼。

  1. Blur the source image separably, based on the distance from the camera, and attenuate surrounding sample's influence based on the depth difference between this sample and the center sample (Soft Depth Bias parameter controls the maximum depth difference allowed)
    基于到相機的距離党远,將原始畫面模糊處理,并根據(jù)此樣本與中心采樣點之間的深度差異衰減周圍采樣點的影響富弦。(Soft Depth Bias參數(shù)用來控制最大深度差異)
  2. Render the scene with replaced shader, using the mask set in CP_SSSSS_Object script multiplied by the subsurface color
    用替換的Shader渲染場景沟娱,再使用CP_SSSSS_Object腳本中設(shè)置的遮罩貼圖和散射顏色相乘。
  3. Composite the blurred stuff on top of the original, multiplying it by mask from step 2, and substracting the original based on the Affect Direct parameter
    將模糊處理過的圖像在原始畫面之上進行混合腕柜,與步驟2中的遮罩相乘济似,然后根據(jù)Affect Direct參數(shù)減去原始畫面。

透光性

接下來盏缤,就需要在物體本身的Shader上動手砰蠢。Shader基于PBR管線進行編寫。
自然界的玉石是半透明的唉铜,不過這里RenderType不使用Transparent台舱,作為透明物體渲染會產(chǎn)生很多其他問題,還是使用Opaque潭流,通過其他手段模擬透光性竞惋。

越是靠近物體的邊緣,厚度必然越薄灰嫉,邊緣的透光性肯定會變強——所以我加了邊緣光
嗯拆宛,沒錯,又是邊緣光讼撒,這效果雖然土但是很多時候真的很實用盎牒瘛股耽!

之后是逆光時的透光性,我這里只實現(xiàn)了平行光的透射(也就是一般情況下的太陽主光源)钳幅。做法其實比較粗暴物蝙,簡單來說就是將視線方向和反向的光線方向做點積再乘以光強,將其作為自發(fā)光(Emission)贡这。

當然上面的效果肯定是不太對的茬末,因為不同的地方厚度肯定不同,越厚的地方透光性越差盖矫,所以Shader還支持一張厚度貼圖丽惭,不過我這里沒有做(嫌麻煩)。

動起來的效果

項目資源的話……有人想要再說吧辈双,這套東西只是玩具的程度责掏,想正兒八經(jīng)用的話肯定還要做不少改進。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末湃望,一起剝皮案震驚了整個濱河市换衬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌证芭,老刑警劉巖瞳浦,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異废士,居然都是意外死亡叫潦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門官硝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矗蕊,“玉大人,你說我怎么就攤上這事氢架∩悼В” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵岖研,是天一觀的道長卿操。 經(jīng)常有香客問我,道長缎玫,這世上最難降的妖魔是什么硬纤? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮赃磨,結(jié)果婚禮上筝家,老公的妹妹穿的比我還像新娘。我一直安慰自己邻辉,他們只是感情好溪王,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布腮鞍。 她就那樣靜靜地躺著,像睡著了一般莹菱。 火紅的嫁衣襯著肌膚如雪移国。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天道伟,我揣著相機與錄音迹缀,去河邊找鬼。 笑死蜜徽,一個胖子當著我的面吹牛祝懂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拘鞋,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼砚蓬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盆色?” 一聲冷哼從身側(cè)響起灰蛙,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隔躲,沒想到半個月后摩梧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡宣旱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年障本,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片响鹃。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖案训,靈堂內(nèi)的尸體忽然破棺而出买置,到底是詐尸還是另有隱情,我是刑警寧澤强霎,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布忿项,位于F島的核電站,受9級特大地震影響城舞,放射性物質(zhì)發(fā)生泄漏轩触。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一家夺、第九天 我趴在偏房一處隱蔽的房頂上張望脱柱。 院中可真熱鬧,春花似錦拉馋、人聲如沸榨为。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽随闺。三九已至日川,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矩乐,已是汗流浹背龄句。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留散罕,地道東北人分歇。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像笨使,于是被迫代替她去往敵國和親卿樱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容