使用Shader製作炫酷的死亡溶解效果

2021-09-03 03:09:55 字數 2546 閱讀 3822

前段時間在開發rpg遊戲時用到了shader怪物死亡溶解特效,所以在這裡介紹下用法;

效果圖:

貼圖設定:

//diffuse + ambient光照計算

fixed3 worldnormal =

normalize

(i.worldnormal)

; fixed3 worldlightdir =

normalize

(_worldspacelightpos0.xyz)

; fixed3 lambert =

saturate

(dot

(worldnormal, worldlightdir));

fixed3 albedo = lambert * _diffuse.xyz * _lightcolor0.xyz + unity_lightmodel_ambient.xyz;

fixed3 color =

tex2d

(_maintex, i.uv)

.rgb * albedo;

float percentage = _dissolvethreshold / dissolvevalue.r;

//當前百分比 - 顏色權重 - 邊緣顏色

float lerpedge =

sign

(percentage - _colo***ctor - _dissolveedge)

;//貌似sign返回的值還得saturate一下,否則是乙個很奇怪的值

fixed3 edgecolor =

lerp

(_dissolveedgecolor.rgb, _dissolvecolor.rgb,

saturate

(lerpedge));

//最終輸出顏色的lerp值

float lerpout =

sign

(percentage - _colo***ctor)

;//最終顏色在原顏色和上一步計算的顏色之間差值(其實經過saturate(sign(..))的lerpout應該只能是0或1)

fixed3 colorout =

lerp

(color, edgecolor,

saturate

(lerpout));

return

fixed4

(colorout,1)

;}endcg

subshader

pass }

fallback "diffuse"

}下面貼出用c#怎樣動態修改溶解值:

//獲取渲染器

public renderer renderer;

float i =0;

void start (

)void update (

)}

炫酷彈窗效果製作

昨天在家看電視時,退出的時候發現了乙個彈窗效果,整個背景模糊,覺得這樣的效果好炫,要比純色加透明度高大上好多,連續試了幾個介面,最終確定效果由css實現的,於是今天一大早來到公司便趕緊搜尋了一下,雖然相容性奇差,但是乙個css屬性就可以搞定。瞬間感覺自己知道的真是太少了 首先回憶一下彈窗的實現,一般...

css製作網頁酷炫按鈕

css製作網頁酷炫按鈕 當然啦,源 也會給大家的,一起學習一起進步!html doctype html en utf 8 stylesheet type text css href 2.css css按鈕特效 title head button a button a button a body ht...

炫酷的水滴ViewPagerIndicator

開始本文之前先檢視一下目標效果是如何的。weibo 這個動畫的 是優秀網頁設計的乙個微博,看到這個效果感覺下面的圓的動畫十分的贊,於是就打算模仿這個效果。然後接下來看我所做的簡單效果吧。專案 因為時間緣故就簡單的模仿了自己感興趣的主要效果,並沒有做到全部模仿,等以後有時間了再完善 挖坑 將這個圓的動...