org-page

static site generator

一种基于顶点扭曲屏幕的思路

大约去年这个时候,小伙伴们发现<聚爆>的挥刀动作带有一个炫酷的空气热浪残影,于是大家纷纷开始研究这个热浪是怎么实现的.

google一番后,发现原理很简单: 首先做一个残影的mash:

挥刀时,把残影覆盖局域截图并进行一些扭曲后处理, 然后当做mash的纹理.

这样一个炫酷的残影就实现了.

又google一番,扭曲热浪的实现大抵都需要在片段着色器中逐像素进行一些复杂的运算,这unity很不建议的做法.

然而这种逐像素计算的后处理是及其昂贵的,在高分辨率设备上尤甚. 聚爆的场景中最多放1-2个扭曲热浪,并且只有ios版,它对性能的影响还在忍受范围之内. 如果把扭曲区域做的稍微大一些, 或者放在安卓中低端机器上那能看到幻灯片就不错了.

于是我产生了一个想法,可不可以把扭曲计算放在顶点着色器中,这样就可以把扭曲运算从几十万次降低到几十次,使应用成为可能.

Comments

comments powered by Disqus