冲刺特效也就是俗称的“残影”,《武士零》中玩家几乎所有的冲刺操作都会或多或少地伴随着这种特效,在本次重现的思路中,残影由一系列透明度随时间变化的剪影风格序列帧构成,当然,考虑到赛博朋克的艺术风格,这些残影的颜色也主要应该由红色和蓝色构成——
着色器代码
想要实现剪影风格的渲染也很简单,简单来说可以使用如下的 shader 代码实现:
1 | in vec2 textureCoord; |
因为要在外部程序中控制透明度渐变从而实现消逝的过程,所以我们传入了 alpha
这个 Uniform 值,由于原始素材中没有使用半透明的像素,所以我们直接将传入的透明度作为了最终的片段透明度输出,如果需要考虑到原始素材中的半透明像素,那么只需要将 FragColor = vec4(color, alpha);
变更为 FragColor = vec4(color, alpha * textureColor.a);