unity shader 實現迴圈移動背景

2021-10-22 06:51:38 字數 786 閱讀 8504

需要前置條件有以下幾點:

1 需要一張能夠無縫連線並迴圈的(不連續 會在交接的地方 出現一條縫隙)

2 將的 wrapmode格式改為 repeat

3 具體sader**如下

//的wrapmode需要設定為repeat

shader "custom/circulationbg"

_scrollxspeed("x scroll speed",range(0,10)) = 2

_scrollyspeed("y scroll speed",range(0,10)) = 0

}subshader

lod 100

pass

;sampler2d _maintex;

float4 _maintex_st;

float _scrollxspeed;

float _scrollyspeed;

fixed4 frag(v2f i) : sv_target

endcg}}

fallback "vertexlit"

}

4 注意 shader 裡面的** 的變數精度 必須要是float 型別 ,如果使用fixed 或者 half 時,會導致在移動時間長之後背景抖動問題(原因可能是因為uv 值的限定範圍在0 到1之間,如果值大於1以後會將大於的部分進行裁剪掉,所以 在執行frac 函式時,如果精度不足時裁剪過大時,出現移動不太連續的問題)。如果不使用frac 函式而使用原始數值時,會使xnew 會隨著時間的增長越來越大,也會導致背景抖動問題(uv裁剪導致)。

Unity Shader實現模糊效果

今天分享乙個超簡單實現模糊效果的方法,先上圖 核心 就這句 注意要在3.0以上的版本才能使用 在取樣後做偏移取樣再疊加,效果與下面的 類似 float4 frag v2f o sv target 下面的完整 shader custom testshader40 scale scale range 0...

Unity Shader實現翻書效果

這裡就隨便用的一張紋理了,我們還是稱為 翻木板 吧,哈哈。實現過程 其實這個效果實現起來還是挺簡單的,大概思路其實就是讓所有頂點都繞z軸旋轉,並且通過正余弦使之帶有一點弧度。下面開始讓我們一步一步的實現該效果。首先開啟unity新建乙個工程,場景,並且建立乙個名為openbookeffect的sha...

Unity Shader 中實現凹凸對映

每乙個頂點都有自己的切線空間。在該空間中,z軸是頂點的法線方向,x軸是頂點的切點方向,而y方向則是兩者叉積的方向。我們需要在頂點著色器中把視角方向和光照方向從模型空間變換到切線空間中,即我們需要從模型空間到切線空間的變換矩陣。而很好求的是,這個變換矩陣的逆矩陣正是在頂點著色器中切線 x軸 副切線 y...