Unity3dShader邊緣發光效果

2021-09-19 21:43:33 字數 2146 閱讀 9628

shader知識:

最終效果

shader "learning unity shader/lecture 14/basic rim shader"  

//邊緣發光顏色 || rim color

_rimcolor("【邊緣發光顏色】rim color", color) = (0.5,0.5,0.5,1)

//邊緣發光強度 ||rim power

_rimpower("【邊緣發光強度】rim power", range(0.0, 36)) = 0.1

//邊緣發光強度係數 || rim intensity factor

_rimintensity("【邊緣發光強度係數】rim intensity", range(0.0, 100)) = 3

} //----------------------------------【子著色器 || subshader】---------------------------------------

subshader

//---------------------------------------【唯一的通道 || pass】------------------------------------

pass

//-------------------------開啟cg著色器程式語言段 || begin cg programming part----------------------

cgprogram

//指定頂點和片段著色函式名稱 || set the name of vertex and fragment shader function

#pragma vertex vert

#pragma fragment frag

//標頭檔案包含 || include

#include "unitycg.cginc"

#include "autolight.cginc"

//指定shader model 3.0 || set shader model 3.0

#pragma target 3.0

//變數宣告 || variable declaration

//系統光照顏色

uniform float4 _lightcolor0;

//主顏色

uniform float4 _maincolor;

//漫反射紋理

uniform sampler2d _texturediffuse;

//漫反射紋理_st字尾版

uniform float4 _texturediffuse_st;

//邊緣光顏色

uniform float4 _rimcolor;

//邊緣光強度

uniform float _rimpower;

//邊緣光強度係數

uniform float _rimintensity;

//頂點輸入結構體 || vertex input struct

struct vertexinput

; //頂點輸出結構體 || vertex output struct

struct vertexoutput

; //頂點著色函式 || vertex shader function

vertexoutput vert(vertexinput v)

//片段著色函式 || fragment shader function

fixed4 frag(vertexoutput i) : color

//-------------------結束cg著色器程式語言段 || end cg programming part------------------

endcg

} }

//後備著色器為普通漫反射 || fallback use diffuse

fallback "diffuse"

}

Unity3d Shader 運動模糊

攝影常用的一招就是延時攝影,以使運動的物體產生運動模糊。攝影技巧為 1,三角架固定相機 2,調長 時間 3,物件有運動物體和靜止物體參照 用了延時攝影,會產生藝術感,見下圖 2015年1月 拍攝於上海陸家嘴 遊戲方面可喜的是unity3d也可以實現類似效果,先看效果圖 第一張為無運動模糊 第二張為有...

Unity3D Shader 入門學習

unity3d 的所有渲染工作離不開著色器.shader 著色器其實是一小段程式,它負責將輸入的mesh網格.以指定的方式和輸入的貼圖或者顏色等組合作用.然後輸出.繪圖單元可以依據這個輸出來將影象繪製到螢幕上 輸入的貼圖或顏色等,加上對應的shader,以及對shader的特定引數設定,將這些內容 ...

unity3d shader之浮雕效果

浮雕就是對影象上的乙個畫素和它右下的那個畫素的色差的一種處理 非常容易,只需要乙個簡單的演算法 用fragment shader來實現 我們只看實現部分就好 在frag函式中 mc00mc tex2d maintex,i.uv maintex rgb 獲取當前點的顏色 mc11 tex2d main...