Slash Effect最常见的表现方式应该就是给武器绑定一个拖尾效果了,但是有时候武器拖尾可能并不适用,特别是当动画的帧数较低的时候:
从以上慢放的动作例子可以看到,在起始阶段,角色手臂逐帧的挥舞距离较小,但到了中后段,一帧划过的距离就变大了起来,这是设计动画的时候为了表现出节奏感所做的操作,但如此一来,在获取武器挥舞轨迹的时候,能采样的位置点就变少了,于是就需要手动“脑补”出轨迹来,通常用CatmullRom曲线来实现,但即便如此,插值计算出来的轨迹往往不尽人意。
手动预设圆弧Slash轨迹
插值拖尾不适用的情况下,采用手动预设轨迹的方式来播放Slash Effect,缺点是每个动作都要配置一番,优点是能弥补轨迹不够匹配的现象。对于一些简单圆弧轨迹的Slash,用一个圆盘或圆环状网格做旋转或做UV动画即可:
其中圆环网格的UV按矩形长条分割,贴图的时候按矩形来贴,以方便直观地控制UV的Tiling和Offset。我用的方法是直接用一个矩形先分割好UV,然后扭成一个螺旋,最后压成圆环:
复杂的Slash轨迹
对于一些复杂的攻击动作,简单的圆弧轨迹或许满足不了需要,可以用曲线工具自定义出想要的曲线,Unity Editor中没有自带的曲线工具,我根据Catlike大神的Curve and Spline Tutorial手动实现了一个带Spline的曲线工具,用以调节出匹配Slash轨迹的曲线:
另外一种繁琐的方法:用带骨骼的模型扭出想要的Slash轨迹。埋入骨骼是为了让模型尽量的可配置和可复用。模型的UV分割方式和圆环的一致,可以当做是圆环的拉长版。

效果
轨迹网格贴UV的时候只是对一张噪声图进行拉伸和偏移,再Tint上一些HDR的颜色,配合一些粒子系统来使用,以表现Slash Effect: