虚幻4环境交互【草地扰动】

很多游戏里都有玩家踏上草地后,草地会被扰动的效果,这个效果做好了会增强带入感,国外的很多3A大作都有这些效果。我在虚幻4内做了这个效果的第一版。

虚幻4环境交互【草地扰动】_第1张图片

     虚幻4环境交互【草地扰动】_第2张图片 虚幻4环境交互【草地扰动】_第3张图片

因为不是动态的图所以没法展示草被拨开然后慢慢自然波动回去,这里只有一个被拨开的图。


首先要明确一点的是,这个效果是在顶点着色器内完成的,虚幻4内从材质向顶点着色器穿值的方式是使用world offset


首先草本身就有风的吹动

虚幻4环境交互【草地扰动】_第4张图片

通过一张渐变贴图来控制扰动幅度的大小,保证草的根部是不动的。

风力完成以后我们开始做人踩到草上面的扰动效果。

在处理扰动之前需要先明确如何扰动。这和草的制作方式有密切关系。现在草的主流制作方法是使用面片堆叠

虚幻4环境交互【草地扰动】_第5张图片

如果是这样的制作方式的话,最好处理扰动的方式是旋转加偏移。先将草的面片旋转然后偏移,便宜也需要做渐变插值不能让草的根部发生位移,天涯明月刀的草就没有做好这一点,所以拨动效果十分鬼畜,比较好的例子可以看巫师3和黑色沙漠或者一些国外大作。

当然玩家位置需要用materialcollection不停更新上传玩家的position给shader(材质),同时还要维护一个波动weight。

虚幻4环境交互【草地扰动】_第6张图片

下面是我的weight曲线,需要从零开始,从零结束,而且峰值不能出现太晚,否则会出现拨动延迟。太快则会显得草拨动比较假。

虚幻4环境交互【草地扰动】_第7张图片

你可能感兴趣的:(游戏开发;,虚幻4,游戏开发;,虚幻4Shader)