Unity 流光shader 記錄分享

2021-10-01 17:56:16 字數 2013 閱讀 1035

shader "custom/datafloweffect"

_specular

("specular"

,color)=(

1,1,

1,1)

_gloss

("gloss"

,range(0

,255))

=20.0

_flowtex

("flow tex (a)"

,2d)

="black"

_flowcolor

("flow color (rgba)"

,color)=(

1,1,

1,1)

_flowidletime

("flowinternal"

,range(0

,10))

=1.0

_flowduring

("flowduring"

,range(0

,10))

=1.0

_flowmasktex

("flowmasking (a)"

,2d)

="white"

_flowdirection

("flowdirection"

,int)=0

_flowbegintime

("flow begin time"

,float)=0

} subshader

pass

blend

srcalpha

oneminussrcalpha

cgprogram

#pragma vertex vert

#pragma fragment frag

#include

"unitycg.cginc"

#include

"lighting.cginc"

sampler2d _maintex;

//顏色貼圖

half4 _maintex_st;

//顏色uv 縮放和偏移

fixed3 _maincolor;

//漫反射顏色

fixed3 _specular;

//高光顏色

fixed _gloss;

//高光度

sampler2d _flowtex;

//資料流

fixed4 _flowcolor;

//資料流顏色疊加

half4 _flowtex_st;

//資料流貼圖uv的縮放和偏移

fixed _flowidletime;

//流動動畫間歇時間

fixed _flowduring;

sampler2d _flowmasktex;

//流動遮罩

fixed _flowdirection;

//流動方向

float _flowbegintime;

//流動效果開始的時間

struct a2v

;struct v2f

; v2f vert

(a2v i)

//uv - vert的uv座標

//scale - 貼圖縮放

//idletime - 每次迴圈開始後多長時間,開始流動

//looptime - 單次流動時間

fixed4 getflowcolor

(half2 uv,

int scale,

fixed idletime,

fixed looptime)

if(uv.y < topborder && uv.y > bottomborder)

}return

fixed4(1

,1,1

,0);

} fixed4 frag

(v2f v)

:sv_target

endcg

}} fallback "diffuse"

}

unity 3D模型流光Shader

今天分享下unity中3d模型的一些shader。先來個最簡單的,就是上下滾動的純色流光。通過調整 centerrange來實現上下滾動。o.objz v.vertex.x 這裡使用模型的模型座標系模型被旋轉過所以這裡用的是x軸,同學如果想用得改下哈。flag saturate flag flag被...

簡易shader實踐記錄4 流光效果

分享乙個流光效果 流光貼圖 2d white materialtoggle wualpha 黑白流光圖無alpha時勾選 float 0 liuguang color 流光 color color 0.5,0.5,0.5,1 liuguang qiangdu 流光強度 float 3 uvscale...

Unity3d流光效果

之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光移動照射物體的效果,之前是使用shader 每幀傳遞乙個 offs...