UE4自制水体材质及简易浮力系统

本文详细介绍了如何在UE4中自制逼真的水体材质,包括Wave Production和Foam Production的实现,讲解了关键节点的设置与调整。此外,还探讨了一种简易浮力系统的设计,包括Buoyancy Volume Initial Detection和Buoyancy计算,通过物理公式实现物体在水中的浮力效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 自制水体材质

1. 蓝图整体展示

在这里插入图片描述
整个材质的制作主要分为两个大的部分,Foam Outline(泡沫轮廓)部分、 Wave Production(波浪生成)部分,除了这两部分之外,由于在做这个水体材质之前,我事先做了一个玻璃的材质,所以在其他的例如材质的金属感、不透明度、折射上直接用了几个变量和Lerp函数以及Fresnel函数做了处理。

2. Wave Production部分细节展示及关键节点详解

在这里插入图片描述
整体思路是找到两张合适的纹理在UV上进行调整之后,让纹理进行一个移动的处理,最后将两个纹理进行重合叠加,运用到材质的世界场景位移上,高光度的设置是直接将叠加之后的纹理进行一个乘法的处理提高亮度。

具体细节

在这里插入图片描述
设置一个参数Wave Speed来调整波浪的移动速度,然后调用了一个杂项函数TimeWithSpeedVariable(具有速度变量的时间)。
节点输入说明:
Speed (Scalar) 接收一个乘数,用于调整时间流逝的速率。大于 1 的值将加快结果的速度。介于 1 与 0 之间的值将使速度减慢。
输出说明
Frac Time (Scalar) 在应用乘数之后,仅输出小数点之后的数字。结果是介于 0 与 1 之间的斜波行为。
Time (Scalar) 时间乘以输入的 Speed(速度) 的结果

这里调用这个函数的主要目的是减缓时间的流逝,由于默认时间下的波浪移动速度过快,所以输入节点Speed接收一个很小的数大幅度放慢波浪的移动速度。

这里MakeFloat2函数节点和TexCoord节点的主要目的是让纹理在U和V两个方向上随着时间的流逝一直不断的产生一个整体偏移,从最后的视觉效果上看就是波浪在两个方向上都产生了一个移动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值