流光效果圖:
演示工程:**位址
//功能需求:模擬資料傳送效果,高亮色塊從模型上方移動到下方
//功能分析:這裡採用uv動畫的方式來實現,利用alpha貼圖控制流動的形狀
// 利用alpha遮罩貼圖,控制模型中哪些地方需要進行流動
shader "custom/datafloweffect"
_specular("specular",col程式設計客棧or) = (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 scalefochzk,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"
}本文標題: unity3d shader實現流光效果
本文位址:
Unity3d Shader 運動模糊
攝影常用的一招就是延時攝影,以使運動的物體產生運動模糊。攝影技巧為 1,三角架固定相機 2,調長 時間 3,物件有運動物體和靜止物體參照 用了延時攝影,會產生藝術感,見下圖 2015年1月 拍攝於上海陸家嘴 遊戲方面可喜的是unity3d也可以實現類似效果,先看效果圖 第一張為無運動模糊 第二張為有...
Unity3D Shader 入門學習
unity3d 的所有渲染工作離不開著色器.shader 著色器其實是一小段程式,它負責將輸入的mesh網格.以指定的方式和輸入的貼圖或者顏色等組合作用.然後輸出.繪圖單元可以依據這個輸出來將影象繪製到螢幕上 輸入的貼圖或顏色等,加上對應的shader,以及對shader的特定引數設定,將這些內容 ...
Unity3D Shader 實現X光效果
舊部落格轉移 2016年1月3日 16 40 最近學習了一些shader效果,打算把學到的知識總結一下,這篇講一下這種輪廓發光的效果 如下圖所示 也有一些地方管這個叫x光 可以看到圖上的藍色人物,邊緣顏色比較深,而中間的比較淺,這是利用法線跟視線向量的點乘值計算出顏色濃度來實現的 shader li...