在stage3D中创建热流扰动的效果

挖坑,慢慢填的事情, 我最喜欢做了 😀

滑动鼠标查看效果

之前一直想做这个效果的,但是一直没空研究的说。 最近 SParticle 更新了,增加了 Heat 和 Phantom. 后者效果不说了,残影的一贯做法。 正好这套工具 + Away3D 都是开源的,想看看做法,结果 Heat 貌似是 Sparticle 独有, Away3D 里看不到这个效果,索性自己实现, 发现这个并不难。

一共5个步骤
1.对背景进行一次 RenderToTexture, 如果背景有动态物体,则需要每帧 RTT
2.绘制刀光,水波,粒子等几何体顶点,随意
3.使用 RTT纹理 对几何体进行贴图,可以和原贴图 mul 或者 add
4.根据几何体坐标,算出几何体在在 RTT 纹理中的全局坐标,并计算在 RTT 纹理中的全局 uv
5.根据全局uv 对 RTT纹理 进行采样