UE 交互草实现 不通过RT与距离场的方式

UE 交互草实现 不通过RT与距离场的方式_第1张图片

通过计算世界场景位置与玩家位置的距离,如果距离大于等于DistanceEffect则不做操作,若小于DistanceEffect则DistanceEffect减去两者之间距离除以并除以DistanceEffect,为什么有这个操作呢?

因为我们要做在DistanceEffect距离内,人与草越近效果草地被压的越深,越远压的越浅,加入DistanceEffect为500,人与草距离为100,500-100=400,相当于越近,得到的值越大,除以500是做0~1之间的Clamp

UE 交互草实现 不通过RT与距离场的方式_第2张图片

用刚才计算出来的值乘以一个系数马上乘以Sin,值加的越快那么周期就越短,速度就越快,所以这个变量的名字叫Speed,Abs是让草朝向只朝一边,不是两边抖,现在算出来的值在Sin过后,乘的值是一个具体的一个强度的值,再乘以一个方向,最后对高度做Lerp(BoundingBoxBased_0-1_UVW),再乘以之前算过的值,最后输出

UE 交互草实现 不通过RT与距离场的方式_第3张图片

把这个材质函数放到世界位置偏移内即可

UE 交互草实现 不通过RT与距离场的方式_第4张图片

UE 交互草实现 不通过RT与距离场的方式_第5张图片

记得更新两个材质参数集

你可能感兴趣的:(1024程序员节)