特效老师想看看星铁碎玻璃转场的效果做法,所以简单看了下做个小记录
总体大致为上面四步
Step1:
点击进入关卡后的瞬间,拷贝一张屏幕RT
此时屏幕前已放置碎玻璃的模型,有俩层,第一层为主体碎块模型,第二层为碎裂缝隙的面片模型(Step2会提到)
主体玻璃模型的UV闭合时和屏幕UV一致,采样拷贝的RT打底
然后屏幕裂纹和缝隙溢出的效果就是半透面片正常特效做法
Step2:
模型还没出现裂缝的状态
step1状态下的贴图mask调参变化成全屏有裂缝贴图的效果 缝隙溢出特效
Step3:
碎屏之前,玻璃出现裂纹的状态
Step1中的玻璃模型本身是贴合的,而该阶段模型本身就分开做出裂缝。而传入的RT用的模型UV采样就会跟着碎块偏移,所以这个看上去有偏移的效果并非用折射的方式实现,模型碎开偏移本身就会有这样的效果
下一步由于屏幕拷贝的RT只是一个基于屏幕的,碎块模型裂开后理论上是能看到玻璃碎块的侧面的,第二层碎裂缝隙的模型就是为了补充碎块侧面的内容。但是裂缝用到的RT输入也是同一张拷贝的RT,所以可以看到其实这里的缝隙和正面的效果其实是接不上的
而且就算是添加了裂缝的侧面模型,大的裂缝还是会透到后面的场景,所以在玻璃后面又添加了一层面片填补缝隙。场景切换完成后该面片淡出消失,切换碎玻璃Step4界面
继续Step2 材质参数变化显示贴图效果 缝隙溢出特效
Step4:
最后一步炸开来的玻璃模型没有用前三步的模型碎开加动画,而是另外单独的模型动画。Step3结尾大碎块只是一个简单的几帧扩出的动画然后就一帧切Step4
而其基本逻辑和前几步的玻璃一样,也是拿的截屏RT直接写入,所以碎片上的图是跟着走的,貌似还拿了上一帧的RT
然后他们美术自己出了张屏幕偏移的图,屏幕坐标偏移了一点UV就当折射了,其实玻璃的效果不是正常折射的效果。。
嗯 就这样。
但要我说的话,我个人觉得这个效果不是很好,尤其是这个折射的效果。
然后补充一下,如果是UE里面原生的折射方案,如果是用在面片上的话效果还欧克,但是像类似这样带厚度的模型块的话,效果是很不好的。因为UE原生的管线DistortAccumulate和DistortApply的计算是在post中的,正常的半透在post前画的话,SceneColorTexture中就已经存入了半透的结果,最后在distort的时候就会出现半透自身的效果偏移的乱七八糟的情况。
那么解决方案是啥呢~~是否可以考虑把想要优质折射效果的半透放到post里画呢(^.^) 这里就不展开说了~~