9. Dot點(diǎn)積運(yùn)算

Dot | 點(diǎn)積
我們知道點(diǎn)積(Dot (scalar) Product)在數(shù)學(xué)中,又稱數(shù)量積(dot product; scalar product),是指接受在實(shí)數(shù)R上的兩個(gè)向量并返回一個(gè)實(shí)數(shù)值標(biāo)量的二元運(yùn)算。它是歐幾里得空間的標(biāo)準(zhǔn)內(nèi)積(如下圖)。

代數(shù)定義
兩個(gè)向量?和? $a? =[a1,a2,…,an]$ 和?$b??=[b1,b2,…,bn]$的點(diǎn)積定義為:

這里的Σ是求和符號(hào),而n是向量空間的維數(shù)。

幾何定義
在歐幾里得空間中,點(diǎn)積可以直觀地定義為

結(jié)果范圍是-1~0~1,表示兩個(gè)向量之間的夾角關(guān)系
理解
兩個(gè)向量一種運(yùn)算方式,結(jié)果為一標(biāo)量,
結(jié)果的幾何意義,一個(gè)向量在另一個(gè)向量上的投影長(zhǎng)度。
在圖形學(xué)中顏色(0 表示黑色, 1 表示白色)
計(jì)算結(jié)果
負(fù)數(shù)也表示黑色
顏色表示

UE5中Dot
ue5里的節(jié)點(diǎn)

Dot應(yīng)用
去色

提取單通道

計(jì)算倆個(gè)向量
攝像機(jī)位置 - 模型位置計(jì)算出攝像機(jī)向量

在使用法線方向和攝像機(jī)方向求dot,
擴(kuò)展 具體怎么計(jì)算表示
方法相同輸出1 ?(白色)
兩向量垂直輸出 0 ?(黑色)
方向相反輸出 ?-1(黑色)

注意:這里是光的反方向去判斷

問題 : L是光照方向,為什么它指著光源???光不應(yīng)該是從光源發(fā)出來的么?
沒有錯(cuò)哦,但是在圖形學(xué)的世界里
光照方向指的是從每一個(gè)頂點(diǎn)坐標(biāo)出發(fā),指向光源的向量,圖形學(xué)中的光照方向與它在物理上的意義一點(diǎn)關(guān)系都沒有。
這樣做并沒有什么高深的原理,只是因?yàn)閺臄?shù)學(xué)上來講,計(jì)算點(diǎn)乘會(huì)方便一點(diǎn)而已。

資料參考
Shader從入門到跑路(13):法線與光照方向的點(diǎn)乘判斷 - 知乎 (zhihu.com)
莊懂的技術(shù)美術(shù)入門課(美術(shù)向)-直播錄屏-第1課_嗶哩嗶哩_bilibili
Fresnel效果

我們想要的效果是邊緣發(fā)光,反向一下。
擴(kuò)展
也可以直接使用攝像機(jī)向量

效果是一樣的
這個(gè)就是一個(gè)簡(jiǎn)單的Fresnel效果

Power | 對(duì)比度
Power節(jié)點(diǎn)的原理:

以上圖為例,power的輸出 = 3^2(3的2次方)
布料材質(zhì)
有三部分組成

正反非尼爾

法線平鋪控制

顏色

效果

效果
