UE4_材質/紋理3


UV的平移

上一篇的實驗知道了UV的實際結構是這樣的:

 

 

然后還可以在R或者G的基礎上增加數值使它發生偏移。(因為R/G的基礎就是0到1)

比如這樣

 

 

同時可以用之前提到的Time和Frac節點實現動態的改變

 

 

可以通過time乘一個小數來控制移動的速度

 

 

上面是UV移動的原理,其實藍圖里有封裝好的節點Panner了:

還可以直接從紅框里調節速度。(同樣的,也可以把時間乘上一個值來控制速度)

 

 

UV的縮放

首先,把UV的取值都變成2(意思是取兩次樣,這樣長和高都會變成原來大小的1/2)

 

 

 

 然后在X和Y軸上都平移0.5個單位,使一個圖案居中

 

 然后只讓中間這個顯示,其他的隱藏

把他的采樣改為最后一種:

 

 這樣它的采樣范圍就是0~1,把各個節點的取值范圍寫一下:

 

 

所以其實應該是減0.5

 

 

但是可以看到,兩邊會有奇怪的拉伸,這是因為Mipmap導致的,如果是正常的貼圖只要把mipmap關掉就可以了。(但我用的這張貓圖不是標准比例,即2的n次冪,所以沒用)

以上是原理,藍圖里也有現成的縮放方法 ScaleUV,倍數可以直接調,不過也需要修改取樣方式為只取一個。

 

 

UV選區采樣

比如下面這個數表,其實完全可以通過R/G的add來實現選取某個數字,但是如果我們想實現輸入哪個數字就選取哪個區域,還是需要一點邏輯的

 

 

首先確定行,因為每行有四個元素,所以只要在Number的基礎上乘0.25就可以了。如果我們輸入5,5*0.25=1.25,大於1的部分會進入循環自動抹去,所以其實還是0.25,行是沒有問題的。

 

然后列就不太好確定了,需要分支來確定到底是哪一行。

材質藍圖里沒有Branch,所以要用到特有的 if 節點來判斷輸入。

可以看到,只要我們輸入對應的數字,該UV就會通過移動把相應的數字移動到第一個位置。

 

 

然后我們只要把UV的采樣區域縮小到一個數字的大小,就可以只顯示數字了

 

 

進階功能

假如,當我們輸入一個數字之后,數字不會放大,而是把數表的其他數字隱藏起來,這樣應該怎么實現呢

導入一張特殊處理的圖片,

 

 

G通道存放數表

 

 

B通道存放遮罩

 

 

因為UE4里 黑色是0,白色(紅色)是1,所以只要數表對應的數字與遮罩相乘,就可以只保留遮罩的這一部分了。

比如說這樣:

 

 

然后就是把UV遮罩平移到我們想要的位置上

因為只移動遮罩不移動數字,所以我們需要兩個該貼圖,一個放數表 一個放遮罩。

遮罩可以用上面提到的 Panner節點,速度調到0.25,發現遮罩一直在向左運動(不會插GIF...),所以應該是-0.25

 

 

但它還是會一直移動,只要我們把Time設為1就可以確定位置了。

 

 然后我們可以用上面調整單個數字的經驗來調整遮罩的位置。

 

 

 

 

為什么要加上1-x:因為Speed的正方向是左,反方向是右(上面的-0.25)。這里是用Speed的二維向量代表UV的二維向量的。

 

 

UV的旋轉

啊...為了避免一些麻煩我把常用的貓圖剪切成了512*512

UV的旋轉可以用 Rotator來做

要把默認的平鋪關掉,

 

 下面這個CenterX 和CenterY 代表的是旋轉點的中心(0.5,0.5就是中心),Speed的就是旋轉的速度

 

 上面這個是采樣大小,可以通過UV賦值

 

 

UV扭曲

UV扭曲的原理是打亂UV的01分布

首先需要一張打亂的噪波貼圖,一張正常貼圖。

 

 這樣,通過噪波貼圖把原有的UV打亂,作為新的UV,就會產生扭曲的效果了

 

 

如何讓它動起來:

再加一個平移節點Panner,並且設置好SpeedX和SpeedY,就可以產生動起來的效果了

像水面的波紋一樣。

 

 

限制強度:

可以直接減,但減完之后要把值 鎖定在01區間里:

 

 可以隱隱的看到后面的背景有一部分是不動的。

如果我們把減數調成1,那么就完全不動了。

 

 

同樣Panner的Coordinate也可以連接一個UV來設置采樣的大小,同樣會影響扭曲的效果。就不截圖了。

 

極坐標

把一張普通的貼圖轉換成極坐標形式可以直接用這個節點:VectorToRadiaValue

 

 

 

 可以看到它的XY通道是這樣的:

 

 

假如做一個技能CD的效果:

(主要用到他的X坐標)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM