日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Technical Artist的不归路 —— Kajiya-Kay Shading

發(fā)布時(shí)間:2025/7/25 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Technical Artist的不归路 —— Kajiya-Kay Shading 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在游戲中,頭發(fā)一直是比較難以駕馭。頭發(fā)難的地方有三塊,一在模擬,二在著色,三在工具鏈適配。目前很多游戲的開發(fā)通常都會(huì)避免長發(fā)和散發(fā),只采用短發(fā)。

但是哪怕是短發(fā),其著色也是非常重要的一環(huán)。


我自己也看到有不少團(tuán)隊(duì)的頭發(fā)完全使用貼圖來進(jìn)行著色。這樣的著色的優(yōu)點(diǎn)在于在特定的光照與攝像機(jī)角度下能夠有很精彩的表現(xiàn),但是如果光照條件與攝像機(jī)角度變化后,頭發(fā)的表現(xiàn)就會(huì)非常怪異。

這篇博客介紹了Kajiya-Kay Shading,一種簡單而酷炫的頭發(fā)渲染著色器,原文傳送門。

Kajiya-Kay Model

Kajiya-Kay Model與其他Shading Model顯著不同一點(diǎn)的就是它使用的是發(fā)絲的切線而不是這一點(diǎn)的法線來進(jìn)行計(jì)算。在這個(gè)模型中,Specular N.H為:

sin(T,H)speculartiy=1?dot(T,H)2????????????speculartiy
而不是:
dot(N,H)specularity

但是需要注意的是,Kajiya-Kay的著色模型需要比較正確的自陰影。否則相對(duì)來講會(huì)太亮。

Vertex Shader

VS沒有什么特別的,僅僅是將T, N, V, L, AO這些數(shù)值傳遞給PS。

Pixel Shader

  • Diffuse Lighting.
    Kajiya-Kay 的diffuse可以使用衰弱的N.L,也可以使用sin(T, L)。正如前面提到的,sin(T, L)需要有自陰影,否則會(huì)太亮。

  • Specular Highlights
    在Kajiya-Kay的著色模型中,我們有兩個(gè)偏移的Specular量,從而表現(xiàn)頭發(fā)的高光(下圖來自本人小妹的自拍)。

Specular Highlights

為了產(chǎn)生沿著發(fā)絲方向偏移的高光,我們需要將切線沿著法線方向進(jìn)行一個(gè)偏移,如下圖:

正向的偏移意味著向發(fā)根的高光偏移,而負(fù)向的偏移則意味著偏向發(fā)梢。

在這個(gè)著色模型中,我們通過一張紋理來表示偏移量:

代碼如下:

float3 ShiftTangent(float3 T, float3 N, float shift) {float3 shiftedT = T + (shift * N);return normalize(shiftedT); }

發(fā)絲光照

在這個(gè)著色模型中,我們使用半角向量(half-angle vector)。用reflection與view向量也可以,但是會(huì)使Shader略顯復(fù)雜。

在兩個(gè)高光中,可以使用不同的顏色、specular exponent以及不同的切線偏移度。第一層高光可以直接計(jì)算,而第二層高光表現(xiàn)的主要是閃耀的情況——通過noise texture進(jìn)行調(diào)整。

代碼如下:

float StrandSpecular(float3 T, float3 V, float L, float exponent) {float3 H = normalize(L + V);float dotTH = dot(T, H);float sinTH = sqrt(1.0 - dotTH*dotTH);float dirAtten = smoothstep(-1.0, 0.0, dot(T, H));return dirAtten * pow(sinTH, exponent); }

值得一提的是,對(duì)于dirAtten這個(gè)變量的意義我一直不太了解,在stackoverflow上面找到了答案,傳送門。

最終代碼

float4 HairLighting (float3 tangent, float3 normal, float3 lightVec, float3 viewVec, float2 uv, float ambOcc) {// shift tangentsfloat shiftTex = tex2D(tSpecShift, uv) - 0.5;float3 t1 = ShiftTangent(tangent, normal, primaryShift + shiftTex);float3 t2 = ShiftTangent(tangent, normal, secondaryShift + shiftTex);// diffuse lightingfloat3 diffuse = saturate(lerp(0.25, 1.0, dot(normal, lightVec)));// specular lightingfloat3 specular = specularColor1 * StrandSpecular(t1, viewVec, lightVec, specExp1);// add second specular termfloat specMask = tex2D(tSpecMask, uv); specular += specularColor2 * specMask * StrandSpecular(t2, viewVec, lightVec, specExp2);// Final colorfloat4 o;o.rgb = (diffuse + specular) * tex2D(tBase, uv) * lightColor;o.rgb *= ambOcc; o.a = tex2D(tAlpha, uv);return o; }

最終效果

以后會(huì)在Unreal Engine 4中實(shí)現(xiàn)Kajiya-Kay Shading……

<全文完>

轉(zhuǎn)載于:https://www.cnblogs.com/arrowinmyknee/p/5470385.html

總結(jié)

以上是生活随笔為你收集整理的Technical Artist的不归路 —— Kajiya-Kay Shading的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久国内精品视频 | 国产肥白大熟妇bbbb视频 | free黑人多人性派对hd | 精品人妻久久久久一区二区三区 | 久久精品黄色 | 久久久人| 成人观看视频 | 一区二区高清视频 | 国产一区二区黄色 | 欧美一区二区三区免 | 伊人伊色 | 亚洲av成人片无码 | 免费日批网站 | 饥渴放荡受np公车奶牛 | 日韩欧美在线播放 | 亚洲一区在线免费观看 | 巨大乳の揉んで乳榨り奶水 | 性色国产成人久久久精品 | 美妇av| 公肉吊粗大爽色翁浪妇视频 | 国产欧美日韩综合精品一区二区三区 | 久久亚洲欧洲 | 欧美成人免费播放 | 粉嫩一区| 91在线资源| www色com | 波多野结衣www | 一区二区免费av | 免费高清视频一区二区三区 | 西西午夜影院 | 日本在线视频www色 国产在线视频网址 | 国产伦精品一区二区三区照片 | 亚洲天堂视频在线 | 成人免费视 | 欧美一级二级在线观看 | 欧美日韩亚洲一区 | 欧美激情视频一区二区三区在线播放 | 青草视频在线看 | 日本视频www色 | 肉色超薄丝袜脚交一区二区 | 中文字幕亚洲精品 | 一级特黄aa| 中文日韩 | 国产亚洲天堂 | 欧美国产日韩综合 | 国产高清在线观看 | 欧美精品乱码99久久蜜桃 | 6080午夜| 丝袜视频在线 | 国产五区 | 日韩精品一区二区三区视频在线观看 | 日本欧美久久久久免费播放网 | 秋霞午夜视频 | 国产成人无码av | 深田咏美中文字幕 | 97av免费视频| 免费欧美黄色片 | 宝贝乖h调教灌尿穿环 | 久青草视频在线 | 国产视频一区二区三 | 国产精品男同 | 亚洲情在线 | 亚洲首页 | 91嫩草网| 一二三不卡 | 请用你的手指扰乱我吧 | 亚洲专区在线播放 | 日韩欧美亚洲在线 | 好吊色视频988gao在线观看 | av黄在线| 黄色一级片在线免费观看 | 麻豆视频在线免费看 | 无码乱人伦一区二区亚洲 | 色综合视频网 | 欧美老女人性生活视频 | 亚洲免费影视 | 日韩欧美中文字幕在线播放 | 一区二区三区四区在线 | 国产日韩精品一区二区三区在线 | 青青草逼 | 日韩激情在线 | 久久九九视频 | 国产精品一区二区在线 | 亚洲国产精品免费视频 | av日韩免费 | 精品一区二区三区久久 | 激情 亚洲 | 91喷水| a级片在线播放 | 爱视频福利网 | 午夜精品久久久久久久四虎美女版 | 可以直接看的毛片 | 男人天堂一区二区 | 亚洲操一操 | 天天干人人 | 韩国在线不卡 | 亚洲天堂一区 | 成人国产精品蜜柚视频 | 国产精品无码白浆高潮 |