22. Length長度 和 Distance 距離節(jié)點(diǎn)

目的
解釋長度和距離是什么?
都有什么功能?
節(jié)點(diǎn)

Vector Length | 向量長度
Length 節(jié)點(diǎn)是輸入一個,計算出這個問題的長度。
UE5 是可以輸入兩個 ?一個是 3D 位置向量,一個是2D 線

這里使用2D 示例
這個是測量 ?線的長度
Distance | 距離
兩個物體的距離做為輸出的。
示例
輸入兩個點(diǎn)輸入

距離 可以多方位的組合。

他們二者結(jié)果是一樣的。
Length 是測量線的距離 ? ?Distance 是兩個點(diǎn)之間的距離他們二者計算的結(jié)果是一樣。
擴(kuò)展 Vector Length 節(jié)點(diǎn)和 Distance 節(jié)點(diǎn)他他們的區(qū)別是什么?
長度輸入的是一個,距離是輸入兩個

示例1 : 測試場景深度的方法
我們獲取到場景攝像機(jī)的位置,在獲取到當(dāng)前像素的位置,

這是使用距離的計算,結(jié)果就是攝像機(jī)越近,材質(zhì)就越黑,越遠(yuǎn)材質(zhì)就越白。


注意: UE5的單位是 厘米,所以我們需要除 1W。
除1W

使用Length 方法,我們需要前減一下,

計算向量的方向獲取這個向量的方向長度

示例2 : 頂點(diǎn)動畫
我們制作草在風(fēng)中搖擺的效果。
獲取模型的局部空間頂點(diǎn)位置信息,


我們可以看到軸是在中間的位置。
制作一個循環(huán)的來回?fù)u擺的效果使用Sine函數(shù),乘一個數(shù)控制移動的大小。

輸出的結(jié)果影響G通道也是Y方向,輸出世界位置偏移

效果

我們可以看到效果是來回?fù)u擺,但是是整體移動,這不是我們需要的。
那我們就需要獲取到頂部到底部的距離。
使用不包括本地偏移頂點(diǎn)動畫的位置,

我們獲取Z 模型的高度。模型的中心點(diǎn)在0 ,所以我們需要調(diào)整位置到 -100 (如果中心點(diǎn)不夠考下,可以在調(diào)整),
在乘0.001,映射到 0 - 1的范圍

然后用這個制作我們的Mask來影響我們頂點(diǎn)動畫,


示例3 :假光照
我們獲取模型局部空間頂點(diǎn)位置信息,

我們在創(chuàng)建一個移動的點(diǎn),使用Time節(jié)點(diǎn)

這個點(diǎn)假設(shè)是在 -1 到 1的位置移動,那我們乘 500 ?就變成 ?-500 到500的移動的一個位置信息。
使用這兩個位置減

我們就可以看到效果,中間黑,邊緣白色,我們需要反過來。
我們怕有超過0-1的范圍,我們需要限制一下。

使用Pow節(jié)點(diǎn)控制范圍大小

總結(jié)
VectorLength ?向量長度 就是計算一個向量多長, Distance 距離是兩個點(diǎn)的距離,他們二者結(jié)果是一樣的。

Distance 距離節(jié)點(diǎn) 還可以計算出倆個點(diǎn)之間的漸變值,當(dāng)一個點(diǎn)到另一個點(diǎn)之間的過度。

第三個示例使用倆點(diǎn)之間的距離制作一個效果,越近越顯示白色,越遠(yuǎn)顯示越黑,同樣的原來可以制作成X方向

在Y軸看到的效果是一個光點(diǎn)出現(xiàn)和消失,X軸是移動效果。
表示效果
