在游戏中,我们经常会看到角色挥动武器的时候,拖尾的效果,以及折射扭曲。在Unity开发中大家可以使用RPG Pocket插件或者其他的插件,在这里主要是给大家介绍一下其生成原理。

  首先,在舞动刀的时候,我们要动作取样,实现函数是animation.Sample();

  其次,需要自己定义网格,实现代码如下:

  

wKioL1SnvJbietJWAAI6ieaZDeQ258.jpg

wKiom1Snu9vzdq6OAAFCbwAj_2Y669.jpg

以上是实现网格代码,效果如下,紧接着我们要实现淡入淡出效果,将网格逐步删除掉。

wKiom1SnvFvgUIKrAAGNI6j6aws435.jpg

上图红色的部分就是通过取样,绘制的网格,我们需要将其绑定到我们的武器上

wKioL1SnvXrA7KajAAGtJtsZaNI543.jpg

接下来我们为了增加刀光的真实性,我们将其增加刀光扭曲效果:

wKioL1SnvkPB8D68AAJhCebIizA592.jpg

在Unity中展示的效果如下图:

wKiom1SnvcrSMA_uAADGKlZNhK8698.jpg

折射扭曲的Shader代码如下:

wKioL1SnvybDF_fkAAILUvEk7uc917.jpg

wKioL1SnvybCqG6wAAGhTuK9EIk691.jpg

总结:我们在使用刀光拖尾的时候,首先要明白其实现原理,然后再将其运用。