前言
相信大家在玩游戏的时候,应该见到过一些怪物死亡过后,就爆裂开来,或化作万千碎片,或化为一缕青烟,或化作一堆粉末,随风飘散。感觉非常这种死亡特效是非常的有意思的。
众所周知,Shader可以做出一些炫酷的效果出来,我这里也用Shader做了一个怪物灰飞烟灭的效果,一起来看看吧。
上效果图。
刚开始这四个怪物在跳舞,然后跳舞结束就灰飞烟灭了。怪物变成了一堆沙粒,粉末消失无踪。那么这个效果是怎么做的呢?我们接下来说下原理。
在我们写Shader脚本时候,大部分时间大家用顶点函数和片元函数就能搞定很多的需求。然后部分人就以为Shader里面就只有顶点函数和片元函数了。
其实除了他们,还有其他一些函数,也是非常有用的,就比如我们今天这个效果,就用到了其他的函数:几何函数或者叫它几何着色器。我们都知道顶点函数是处理模型顶点相关的,片元函数是处理像素相关的。
那么这个几何函数是干嘛的呢?通过名字就应该知道,和几何相关,它呢其实是处理图元相关的函数,其实说白了就是处理三角形的。
我们都知道模型是由网格