先上效果圖
初學shader那會,做的乙個效果測試,一部分效果為shader手寫,一部分效果shaderforge外掛程式的效果。
第一步 建個球,用shaderforge拉個內發光效果shader賦給小球的材質
shaderforge連線圖如下:
第二步 再建個小點的球,寫個外發光shader,並且帶有頂點動畫,賦給小球材質
中間那個皺皺小白球,因為頂點動畫的效果,導致凹凸不平。可以看出來外發光好像剝離出來了,因為這個外發光的原理就是shader中的另外乙個pass在法線方向向外延伸,製作光暈效果。
shader**如下:
shader "unlit/waifaguan**ertex" //shader檔案索引路徑
//表面貼圖 預設灰色
_color("color", color) = (0, 0, 0, 1) //為貼圖附加的顏色 預設為白色
_atmocolor("atmosphere color", color) = (0, 0.4, 1.0, 1) //光暈顏色
_size("size", float) = 0.1 //光暈範圍
_outlightpow("falloff",float) = 5 //光暈平方引數
_outlightstrength("transparency", float) = 15 //光暈強度
_input1("input 1", float) = 0.0
_input2("input 2", float) = 0.0
_input3("input 3", float) = 0.0
}subshader
cull back
//cg程式開始
cgprogram
//宣告頂點著色器函式為vert
#pragma vertex vert
//宣告片段著色器函式為frag
#pragma fragment frag
#include "unitycg.cginc"
//函式可能用到的引數
uniform sampler2d _maintex;
uniform float4 _maintex_st;
uniform float4 _color;
uniform float4 _atmocolor;
uniform float _size;
uniform float _outlightpow;
uniform float _outlightstrength;
float _input1;
float _input2;
float _input3;
//頂點著色器的輸出
struct vertexoutput
;//頂點著色器函式
//片段著色器函式
float4 frag(vertexoutput i) :color
endcg
}//通道2: 用於生成模型外部的光暈
pass
cull front
blend srcalpha one
cgprogram
#pragma vertex vert
#pragma fragment frag
#include "unitycg.cginc"
uniform float4 _color;
uniform float4 _atmocolor;
uniform float _size;
uniform float _outlightpow;
uniform float _outlightstrength;
float _input1;
float _input2;
float _input3;
struct vertexoutput
;float4 frag(vertexoutput i):color
endcg}}
fallback "diffuse"
}
第三步 在大球和小球之間模擬氣流效果如下圖所示:
本質上,其實也是一堆小球,一堆帶有紋理動畫效果的小球。
需要一張線圖,雖然是程式設計師,但還是自己p了一張,比較簡單:
紋理動畫通過shaderforge實現,很簡單,連線圖如下:
新建個小球,大小介於外發光和內發光的兩個球之間,建乙個新的材質,賦給小球,再把剛才的shader賦給材質。
然後橫向、縱向、斜向,按不同的尺寸複製幾份小球,效果就出來了。
Unity實現領取獎勵特效
一 效果演示 二 實現 匯入dotween外掛程式 完整 using system using unityengine using dg.tweening 特效管理 public class effectmanager monobeh iour return instance 顯示獎勵特效 例項化出...
unity之遊戲特效
運動軌跡常常用於表現 的揮舞效果,在提高速度感的同時又能讓玩家看清楚招式動作,所以是常見的一種格鬥特效。unity中可以直接使用trailrender來實現該效果。運動模糊就是保留前幾幀影像,形成一定的重影模糊效果,從而突出速度感。配合慢鏡頭使用往往能很好地表現運動高潮效果。unity中是通過mot...
flash特效原理 螺旋效果 (2)
經過上面的測試,現在對原先程式進行一些改造可以建立出不錯的效果,你會發現每次改動一些引數很多有趣的效果就會出現了。現在我們嘗試做乙個調節工具對他們的半徑,高度,圈數,視角進行創造。這次會主要借助到flash裡面 元件包。slider 元件來幫助我們完成這一次的嘗試。製作過程知道 包括slider 元...