赞
踩
图片为百度上找的 径向模糊 的示例图(网游中常见的轻功,向前飞的时候,屏幕会变得模糊,给玩家一种 冲刺加速 的感觉,这种模糊是从屏幕中心,沿着一圈圈同心圆向外传递的,这就是径向模糊 Rdial Blur)。
首先需要在 UE4 中创建一个 Material(UE4 中的材质都是创建一个 Material,然后用的时候用这个材质创建 Instance,这样调整 Instance 不会修改原始 Material吗,就像类的实例化,然后分别调整每个实例。)。
创建 Material 可以参考官方文档:Creating and using Material Instances,或者参考本文文末参考资料中的第一个视频。
const float2 ScreenMult = View.ViewSizeAndInvSize.xy * View.BufferSizeAndInvSize.zw; const int TexIndex = 14; const float Samples[11] = {-0.08,-0.05,-0.03,-0.02,-0.01,0,0.01,0.02,0.03,0.05,0.08}; float2 dir = float2(0.5,0.5) - ScreenUV; float4 sum = float4(0.0, 0.0, 0.0, 0.0); for(int i = 0; i<11; i++) { float2 pos = ScreenUV + dir * Samples[i] * BlurDist; pos = clamp(pos, float2(0.0,0.0), float2(1.0, 1.0)); #if (ES2_PROFILE || ES3_1_PROFILE || MOBILE_EMULATION) sum += MobileSceneTextureLookup(Parameters, TexIndex, pos * ScreenMult); #else sum += SceneTextureLookup(pos * ScreenMult, TexIndex, false); #endif } return sum / 11.0;
第一个资料对材质进行创建和配置,但是会出现 SceneTextureLookup
无法在 ES3.1
上使用的问题,所以添加了宏,在手机上使用 MobileSceneTextureLookup
。第一个右键看一下就知道了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。