刀光的拖尾至少有三個層次:最亮的高光(帶輝光)、刀光的主體以及乙個拖尾的效果,用來形成一種殘影的感覺。如果有需要還可以增加扭曲,粒子的飛濺,擊中物體的閃光等等效果。所以基本的形式可能是這樣的:
很容易感覺到,這三者只是貼圖不同和粒子的時間曲線不同而已,但還是有值得講一下的地方,主要是有兩個問題:進入的那零點幾秒需要刀光劃過的感覺,中後段需要有刀光從後往前消散的感覺。
第乙個問題最容易想到的辦法是旋轉這個刀光的載體模型,但其實是行不通的,因為問題的本質不是旋轉,而是高光要在開頭從後往前顯示,所以這兩個問題可能還是要從著色器的角度解決。
fixed4 frag (v2f f) : sv_target
fixed distortion = tex2d(_distortiontex,f.uv_dist).r*distortion_uv;
//to satorate the slash
fixed satoration = distortion*time*_diststrength*(time+1.0);
col.a = col.a>satoration?1:0;
//to partly distorte the color alpha
col.a *= col.a*tex2d(_distortiontex,f.uv_dist).r*f.color.a;
//fade in
if(time<_fadein>
//bloom
col.rgb = col.rgb*f.color.rgb*_emission;
//soft particle
#ifdef softparticles_on
float scenez = lineareyedepth (sample_depth_texture_proj(_cameradepthtexture, unity_proj_coord(f.projpos)));
float partz =f.projpos.z;
float fade = saturate ( _fadestrength*(scenez-partz));
col.a *= fade;
col.rgb = pow(col.rgb,2.2);
#endif
return col;
}
這裡面高光進入的效果如下:
//fade in
if(time<_fadein>
由_fadein決定進入的總時間的長短,由_fadeindirection決定進入的方向(因為別的效果還需要反向顯示= =),通過不同位置的畫素(uv決定),決定它的透明度大小。當時間越早,radio越小,啥也看不見,時間越接近_fadein,ratio越大,整個高光主體都能顯示出來。兩者之間的比例由fade_in_adj基於畫素位置調節。最後的效果像這樣:
高光果然還是要加輝光才行
可以感覺到開頭一瞬間這種刀光劃過的感覺出來了。
接著是這裡的淡出消散的問題,最主要是有一種雲霧消散的感覺。其實也很簡單,雜訊消散,按時序從後往前增加消散的強度,再畫一張雲霧感覺的貼圖就行了。
上文所述的貼圖
不要懷疑自己的眼睛,就是這麼醜。不過不要緊,其實畫成什麼樣都可以,只要有邊上的須須供我們消散即可。
音訊的一些特效
在做音訊處理的時候,難免要對採集到的聲音做一些處理。這就是為什麼錄音聽起來那麼的怪 但卻是最真實的原始聲音 聽著那麼的舒服。那麼我們就看看這些效果的功能 如果不加混響,聲音會發乾,非常不舒服。現在我們所聽到的 大部分都是經過混響處理的。除非你是一定想要那種天然的完全沒處理過的 毛聲 加了混響之後便於...
linux shell script 的一些總結
獲得本機inet ip sbin ifconfig eth0 grep inet addr sed s addr g sed s bcast.g 刪除空白行 cat etc man.config grep man sed s g sed d egrep與grep egrep grep e egrep...
關於Spring Data Rest的一些總結
最近一直在開發一些基於 spring data rest 的專案。在此過程中,隨著開發工作的不斷深入,對 spring data rest 的了解也越來越深。享受著 spring data rest 帶來的便捷,也忍受著它帶來的不便。spring data rest 的目標是提供堅實的基礎,從而使用...