之前嘗試過用trail實現閃電特效,效果並不理想:計算量大、視覺尷尬。
所以后來改用序列幀來實現。

step1.准備素材
所需工具:
AfterEffect [PhotoShop]
步驟:
1.打開AE
2.新建Comp,我們選擇512x1024大小
3.新建Solid
4.新建Advanced Lightning
5.選中主干衰退
6.點擊衰退前的時鍾按鈕,使它變成動畫
7.在時間軸調整閃電衰退參數
8.添加到渲染隊列,設置格式為PNG序列,設置顏色模式為A+RGB
9.渲染
[10.ps中微調效果]
extra:
如果想實現更復雜的閃電特效,可以用JavaScript編寫腳本控制參數。
step2.編寫C#腳本
所需工具:
IDE unity
步驟:
1.新建cs腳本
public class SerialAnim : MonoBehaviour { public string filesName; public Texture2D[] textures; public Material target; public float fps = 30; private float _spf; private float _timeRemain; private int _index = 0; // Use this for initialization void Start () { if (filesName.Length > 0) { string[] subs = filesName.Split(','); int iFrom = int.Parse(subs[1]); int iTo = int.Parse(subs[2]); for(int i = iFrom;i<=iTo;i++){ textures[i-iFrom] = Resources.Load(string.Format(subs[0],i),typeof(Texture2D)) as Texture2D; print (string.Format(subs[0],i)); } } _spf = 1 / fps; target.mainTexture = textures[_index]; } // Update is called once per frame void Update () { var dt = Time.deltaTime; _timeRemain += dt; while (_timeRemain>_spf) { _index = (_index+1)%textures.GetLength(0); target.mainTexture = textures[_index]; _timeRemain -= _spf; } } }
step3.管理資源
所需工具:
unity
步驟:
1.把素材添加到Resources/Textures

2.腳本File Name鍵入:Textures/lightning_{0:0#},0,12
[也可以一張一張的加入到Textures列表里]

The End.
