UnityShader3 光暈效果

2021-07-14 13:32:41 字數 1532 閱讀 6545

3d:

2d:一、3d光暈

效果圖:

其實3d光暈,就是邊緣光的乙個變種而已。如果你想把這個shader應用到人物、**模型上,需要修改一下法線擠出的值,或者乾脆就不要法線擠出,直接削減模型邊緣。

shader "custom/glow"

_edgecolor ("edgecolor", color) = (1, 0, 0, 1)

_edgepower ("edgepower", range(-2, 2)) = -2

_edgeminstrength ("minstrength", range(0, 1)) = 0.5//若大於該強度,則發光

} subshader

blend srcalpha oneminussrcalpha

pass

; struct v2f

;sampler2d _maintex;

float4 _maintex_st;

fixed4 _edgecolor;

half _edgepower;

fixed _edgeminstrength;

fixed4 frag (v2f i) : sv_target

else return col;

}endcg

} }}

二、2d光暈

效果圖:

光暈效果的乙個特徵就是有漸變的效果,但是由於本人的p圖技術不精,搞了很久也弄不成合適的漸變圖,所以效果就比較差了。

shader "custom/glow2"

_halotex ("halotex", 2d) = "white" {}

_emissioncolor ("emissioncolor", color) = (0, 0, 1, 1)

_haloalpha ("haloalpha", range(0, 0.5)) = 0

} subshader

blend srcalpha oneminussrcalpha

pass

; struct v2f

;sampler2d _maintex;

float4 _maintex_st;

sampler2d _halotex;

float4 _halotex_st;

fixed4 _emissioncolor;

float _haloalpha;

fixed4 frag (v2f i) : sv_target

endcg

} }}

這是unitypackage:

UnityShader3實現轉圈與冷卻效果

參考鏈結 opengl shader例項分析 3 等待標識效果 一.轉圈效果 效果圖 如何實現乙個圓繞中心點運動呢?原理很簡單,就是隨著時間的流逝,起始邊固定,而另一條邊不斷地移動,弧度從0到2 pi,只需求出移動邊與圓邊的交點,然後畫圓即可。至於這個交點,因為圓心的uv為 0.5,0.5 所以交點...

UnityShader3 流光效果

首先直接上效果圖 動態的效果就是一條光線橫掃著圖示。要製作流光效果,一般要用一張底圖,一張流光圖 流光圖中的非光線部分最好是黑色的 以下是本次使用的流光圖 好了現在我們來分析一下如何實現流光效果。1.通過對效果圖的分析,我們發現底圖並沒有發生變化,變的只是流光圖 位置在不斷改變 因此,我們要去改變流...

UnityShader3 波浪效果

效果圖 1.首先,實現格仔背景圖 shader custom curve subshader struct v2f 格仔背景 2.在中間新增一條直線 shader custom curve subshader struct v2f 格仔背景 3.直線變曲線 shader custom curve s...