? 91麻豆免费国产在线,中文字幕卡二和卡三的视频,中文字幕人成乱码熟女精品
聯(lián)系我們

給我們留言

聯(lián)系我們

地址:福建省晉江市青陽街道洪山路國際工業(yè)設計園納金網(wǎng)

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

Unreal Engine 4:Kajiya-Kay Shading在UE4中的實現(xiàn)

來源: 52vr | 責任編輯:傳說的落葉 | 發(fā)布時間: 2019-06-18 09:35 | 瀏覽量:
在之前的文章Technical Artist的不歸路 —— Kajiya-Kay Shading 中大致過了一遍Kajiya-Kay Shading的原理,而本篇文章則著重于在虛幻4中進行該著色模型的實現(xiàn)。
 
在那篇文章中,由于Shader代碼已經(jīng)有了,那么問題也就僅僅存在于在UE4中材質編輯器的實現(xiàn)。
 
先上效果圖:
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
基本函數(shù)
 
在這篇博客的實現(xiàn)中,光照都在切線空間(Tangent Space)中進行計算。在UE4的材質編輯器中,使用TransformVector節(jié)點來進行空間的轉換。
 
Tangent Vector
 
由于Kajiya-Kay著色模型主要使用的是切線向量,因此需要計算出對應的切線向量。在切線空間中,將N向量與(1.0, 0.0, 0.0)進行叉乘來計算出切線向量。
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
ShiftTangent函數(shù)
 
有了Shader代碼,ShiftTangent函數(shù)很好構建,我在這里將其封裝為Material Function進行調用:
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
StrandSpecular函數(shù)
 
同樣的,StrandSpec函數(shù)也很好構建: 
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
光照計算
 
Light Vector
 
由于UE4使用的是Defferred Shading,而Kajiya-Kay Shading使用的是Foward Shading,為了在材質編輯器中實現(xiàn)這個效果,需要做一些額外的配置。
 
首先是LightVector的構建,在UE4中可以使用Material Parameter Collection來進行變量的設置。我在這里建立了一個Material Parameter Collection,并且在其中設置了對應的向量參數(shù):
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
此外,我創(chuàng)建了一個Blueprint用于動態(tài)設定這個值,通過SetVectorParameterValue函數(shù)進行設定。
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
通過這樣的設定,需要在將這個Actor拖入Level,并且設定高光對應的光源Actor。那么就可以在材質編輯器中使用如下方式獲得LightVector: 
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)

 
那么這樣子就只需要按照Shader寫的來連即可。
 
以下是該材質的圖片形式:
 

Unreal Engine 4 —— Kajiya-Kay Shading在UE4中的實現(xiàn)



相關文章
網(wǎng)友評論

您需要登錄后才可以發(fā)帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門