Unity 镜头烟雾特效的笔记贴
效果:烟雾缭绕 实现思路的探索: 最直接的思路就是用粒子模拟,粒子特效特效跟随摄像机,然后布拉布拉的往外喷。效果还可以接受,但是用默认shader实现的粒子特效,会跟墙体地面等场景物品产生明显的接缝。这个问题起始解决起来也比较方便,把默认的粒子shader复制一遍,然后关闭ZTest。 但是,虽然这个效果也可以接受,但是,为了压缩这一点点的性能开销,还是像尝试使用UV实现。 PS4上看到一款游戏《路弗兰的什么什么什么魔女旅团》,在进入迷宫以后,就会根据当前迷宫,产生不同的烟雾效果。但是它的实现方式很简单,直接在摄像机前贴了几张贴图,然后让UV滚起来。静止条件下效果还是可以,但是在摄像机转动和移动的过程中,这个贴图始终是跟随摄像机的。这就尴尬了,完全是白内障效果啊! 本人对效果要求是比较高的,虽然这种实现方式的性能开销完全可以忽略不计,但是本人还是要追求效果的。 首先,我们的要求是 1,烟雾是会变形的 2,烟雾是跟随场景的,而不是摄像机没擦干净的效果 烟雾的形变,用噪声图做扰动就好了。准备一张四方连续的噪声图,然后按照网上的代码,用时间_Time参与uv运算。 half2 offsetColor = tex2D(_NoiseTex, i.texcoord + _Time.zx * _NoiseSpeed).rg; i.texcoord.x += ((offsetColor.r +