前言
本篇使用UE5的材質系統實作運動的扭曲效果,并解決他的重復性
紋理變換
-
總結思路
為uv坐標添加time節點
-
實作
如下圖所示,Texcoord指定uv起始坐標,提供一個float2變數和Time節點相乘(這樣對Time有控制權),將相乘結果與uv坐標相加,最后傳給采樣器


扭曲效果
-
原理
由于噪聲的值是固定隨機的,將噪聲函式應用到紋理中使得紋理的各通道呈現隨機性,使用噪聲紋理可以做到偏移uv坐標,這樣
即可實作扭曲效果
-
思路
噪聲紋理提供uv坐標,將該uv坐標用于紋理的采樣
-
實作
-


-
控制擾動強度
- 解決:可以看到采樣生成的紋理過于扭曲,這是因為紋理貼圖中提供的噪聲值過大,此時乘以一個value即可削弱強度

-
讓扭曲效果動起來:扭曲效果+紋理變換
- 解決:如圖所示,先對噪聲紋理進行紋理變換,再將得到的uv值傳入采樣器


- 解決:如圖所示,先對噪聲紋理進行紋理變換,再將得到的uv值傳入采樣器
-
讓變換的扭曲效果更加真實
-
問題:從上圖可以看出,這些變換只是一味的重復(平鋪模式是固定的),很容易就被看穿(因為計算機中的隨機都是偽隨機)
-
解決:分兩次采樣噪聲函式,將兩個采樣的uv值求和傳給最終的采樣器


-
-
reference
Distortion Shader - UE4 Materials 101 - Episode 4 - YouTube
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/552119.html
標籤:其他
上一篇:CSP-何以包郵?
下一篇:返回列表
