UE5制作科幻感空气墙效果

2024-07-06

在游戏开发中经常需要制作空气墙,以防止玩家走入非预定的场景区域,下面就来讲讲一种科幻感空气墙的做法:

1.准备材质函数

在制作开始之前,需要先创建2个材质函数,ObjectScale材质函数可以获取当前对象的缩放信息:

ObjectLocalBounds材质函数可以获得当前对象的Bounds信息:

2.制作边缘效果

首先需要制作护盾的边界高亮区域,可以取+X轴Mask、-X轴Mask、+Y轴Mask等四个区域进行混合,而护盾核心区域则通过Tile平铺贴图和叠加噪声实现。

首先将护盾的世界空间位置变换为本地空间位置,这样不会受到模型旋转影响,然后会通过刚刚的Bounds信息进行相对数值的获取。

世界空间位置变换为本地空间位置:

执行Comment内的节点后,可以得到经过Bounds信息处理的相对值:

将数值变为负数,在+X和-X轴上都执行一次,并通过Max节点混合:

继续扩展Y轴也进行Max节点混合操作,但结果会发现四个角落有棱边:

这不是想要的效果,仔细检查发现通过Add节点来代替Max节点,可以解决这个问题:

3.制作内部平铺图案

内部平铺图案要简单很多,只需要叠加噪声位移即可。

首先使用点状图案素材,进行UV缩放处理,达到平铺效果。

对点状平铺图案素材叠加噪声,使用Panner节点实现噪声位移动画

最后叠加边缘(MaskEdge)和内部平铺(TilePoints)图案,实现科幻墙壁效果。