unity shader 溶解效果

2021-10-25 18:43:58 字數 918 閱讀 3178

最近《元神》上線了,裡面有個拾取寶箱後,寶箱溶解消失效果,試著做一下,整體還是很簡單的。

直接上效果

達到這個效果需要乙個雜訊圖用來做偽隨機,然後通過乙個閾值和雜訊圖任意一通道值比較進行clip,產從而實現控制現實與隱藏。圖中藍色部分是在將閾值進行偏移,偏移的部分顯示乙個新的顏色實現。

下面是**:

_noisetex (

"texture"

,2d)

="white"

_strength (

"strength"

,range(0

,1))

=0_edge (

"edge"

,range(0

,1))

=0_edgecolor (

"edgecolor"

, color)=(

1,1,

1,1)

} subshader

lod 100

pass ;

struct v2f

;sampler2d _maintex;

float4 _maintex_st;

sampler2d _noisetex;

float4 _noisetex_st;

float _strength;

float _edge;

fixed4 _edgecolor;

fixed4 frag (v2f i)

: sv_target

endcg

}}}用到的雜訊圖:

unity Shader 扭曲效果

所謂扭曲就是擾動乙個物體的uv座標,表現出來就是乙個擾動效果,如火焰扭曲空氣,和水波對水底的影響。1.在shader 中我們需要一張當前渲染的紋理 2.給乙個物體渲染並使用當前紋理,用螢幕座標作為uv座標加上乙個擾動值 1.unity提供了抓取的pass grabpass unity官網介紹 每次遇...

Unity Shader透明效果

unity中通常使用2種方法來實現透明效果 第一種是使用透明度測試 alpha test 這種方法無法得到真正的半透明效果 另一種是透明度混合 alpha blending 透明度測試和透明度混合的基本原理如下 透明度測試 只要乙個片元的透明度不滿足條件 通常是小於某個閾值 那麼它對應的片元就會被捨...

unity Shader透明效果

一 深度緩衝 對於不透明物體,不需要考慮它們的渲染順序,因為強大的深度緩衝 z buffer 在實時渲染中,深度緩衝是用於解決可見性問題的,基本思想 根據深度緩衝中的值來判斷該片遠距離攝像機的距離。一 透明度 當開啟透明混合後,當乙個物體被渲染到螢幕上時,每個片元除了顏色值和深度值之外,還有另乙個屬...