一、前言
又是一個好久沒有更新了,還是因?yàn)樘?,生活茍且云云,?dāng)然有好的東西還是需要拿出來和大家分享一下的。
使用的是.5.0版本,慣例,先上效果圖,如圖所示:該效果是響應(yīng)每一次鼠標(biāo)點(diǎn)擊時候,在鼠標(biāo)的點(diǎn)擊的位置處產(chǎn)生一個顏色隨機(jī)的

波
二、實(shí)現(xiàn)方法
1、重點(diǎn)的Shader部分:
首先,是最難的顏色轉(zhuǎn)換函數(shù),代碼:
樹上的cat,如果您要查看本帖隱藏內(nèi)容請回復(fù)
2、創(chuàng)建波紋預(yù)設(shè)體
有了Shader之后,創(chuàng)建該Shader的材質(zhì)球,我一般都會直接選中該Shader,然后右鍵創(chuàng)建材質(zhì),這個材質(zhì)就直接賦值了這個Shader,并且命名也會和該Shader的名字相關(guān)。創(chuàng)建完材質(zhì)之后,創(chuàng)建一個空物體,并且給這個空物體添加Sprite Renderer屬性。將下面的貼圖給Sprite Renderer的Sprite。

編寫該預(yù)設(shè)體的控制腳本,代碼如下:
//轉(zhuǎn)換顏色的方法
fixed3 shift_col(fixed3 RGB, half3 shift)
{
fixed3 RESULT = fixed3(RGB);
floatVSU = shift.z*shift.y*cos(shift.x*3.14159265 / 180);
floatVSW = shift.z*shift.y*sin(shift.x*3.14159265 / 180);
RESULT.x = (.299*shift.z + .701*VSU + .168*VSW)*RGB.x
+ (.587*shift.z - .587*VSU + .330*VSW)*RGB.y
+ (.114*shift.z - .114*VSU - .497*VSW)*RGB.z;
RESULT.y = (.299*shift.z - .299*VSU - .328*VSW)*RGB.x
+ (.587*shift.z + .413*VSU + .035*VSW)*RGB.y
+ (.114*shift.z - .114*VSU + .292*VSW)*RGB.z;
RESULT.z = (.299*shift.z - .3*VSU + 1.25*VSW)*RGB.x
+ (.587*shift.z - .588*VSU - 1.05*VSW)*RGB.y
+ (.114*shift.z + .886*VSU - .203*VSW)*RGB.z;
returnRESULT;
}
3、最后寫一個總控腳本
控制預(yù)設(shè)體點(diǎn)擊創(chuàng)建,代碼如下:
[C#]純文本查看復(fù)制代碼
Properties
{
[PerRendererData] _MainTex("Sprite Texture", 2D) ="white"{}
[HideInInspector]_StartTime("StartTime", Float) = 0
_AnimationTime("AnimationTime", Range(0.1, 10.0)) = 1.5
_Width("Width", Range(0.1, 3.0)) = 0.3
_StartWidth("StartWidth", Range(0, 1.0)) = 0.3
[Toggle] _isAlpha("isAlpha",Float) = 1
[Toggle] _isColorShift("isColorShift",Float) = 1
[MaterialToggle] PixelSnap("Pixel snap", Float) = 1
}
轉(zhuǎn)自:http://www.manew.com/thread-106798-1-1.html