引擎:4.26
参考原文:https://docs.unrealengine.com/4.27/zh-CN/BuildingWorlds/Water/
参考原文:https://www.bilibili.com/video/BV1i54y1x7B3?from=search&seid=11421659143174994681&spm_id_from=333.337.0.0
参考原文:https://www.bilibili.com/video/BV1XK411A7kV?from=search&seid=11421659143174994681&spm_id_from=333.337.0.0
配置
首先,添加水体插件
然后重启编辑器以便让插件生效。
然后通过内容管理器查看插件自带的水材质内容。如果看不到,则开启【显示引擎内容】与【显示插件内容】。
原本的:
点击后
然后构建一个地形,记得要勾选【启用编辑图层】(否则水体构建会报错)
如果已经建立好了,可以在详细设置中开启。
简单使用
然后查找水体的actor
我这边是直接选用【水体海洋】
然后有两种设置方法,一种是保留原有地形设置。但是这种仅适用于简单的水体构造。如果水体中还要有河流,湖泊等效果,那这种并不适合。效果如下图。
第2中是基本通过水体来再构成地形,好处是可以实现多种不同水体互相交互。以及各种效果。坏处是基本整个地形都需要重新调整。适用于新做一个地形。
这是原本的新地形
把【水体海洋】放进去后,会自动修改地形,同时可以透过控制水体的高度来使边缘符合
调整后
右键点击水体边缘,可以添加样点或者删除样点来调整整个岛的曲线。
具体的细节调整岛屿边缘(改变地形)
湖泊的具体参数其实跟海洋的一样,具体自己去尝试调整。
河流也差不多,不过河流可以控制各个节点的速度,深度,宽度等。
20220126补充
可以通过调整河流两端的连接点的流速,使其流水更加自然。
调整前
调整后
如果出现水体溢出(下图效果),则可以通过调整切线来控制。
调整前
调整后
浪花
浪花的设置有2种,一种是导入已经做好的浪花蓝图,或者自己根据参数来设置。
导入法(插件默认)
直接双击打开浪花蓝图修改参数
手动设置参数
https://docs.unrealengine.com/4.27/zh-CN/BuildingWorlds/Water/WaterWaveAsset/
属性 | 说明 |
---|---|
默认 | |
波浪数量(Num Waves) | 要统计的波浪数量。 |
种子(Seed) | 一个决定性的起点,用于生成随机数值来填充波浪模型。 |
随机性(Randomness) | 在盖斯特纳水波模型所使用的最小和最大波长和振幅数值之间的插值中添加一定程度的随机性。 |
波长 | |
最小波长(Min Wavelength) | 在具有指定衰减的波浪之间指定波长范围的下限。 |
最大波长(Max Wavelength) | 在具有指定衰减的波浪之间指定波长范围的上限。 |
波长衰减(Wavelength Falloff) | 使用最小和最大波长来确定连续波浪的波峰距离。 |
振幅 | |
最小振幅(Min Amplitude) | 为所有生成的具有指定衰减的波浪的振幅指定下限。 |
最大振幅(Max Amplitude) | 为所有生成的具有指定衰减的波浪的振幅指定上限。 |
振幅衰减(Amplitude Falloff) | 使用最小和最大振幅来确定所生成波浪的高度。 |
方向 | |
主导风向角(Dominant Wind Angle) | 设定风的主要方向。 |
主导角展度(Dominant Angular Spread) | 在风应该吹来的指定角度范围内设置随机风向。波浪将表现为沿着此方向扩展。 |
陡度 | |
小型波浪陡度(Small Wave Steepness) | 指定具有指定衰减的较小波浪的陡度。陡度决定了波峰点可以形成什么样的尖锐度。这是通过横向运动来实现的,控制着波浪如何从一边移动到另一边。 |
大型波浪陡度(Large Wave Steepness) | 指定具有指定衰减的较大波浪的陡度。陡度决定了波峰点可以形成什么样的尖锐度。这是通过横向运动来实现的,控制着波浪如何从一边移动到另一边。 |
陡度衰减(Steepness Falloff) | 使用小型波浪陡度和大型波浪陡度数值来确定波峰可以出现在其中的高度范围。 |
这是我设置的一个效果
远景设置
海洋水体的一些控制
https://docs.unrealengine.com/4.27/zh-CN/BuildingWorlds/Water/WaterRendering/
属性 | 说明 |
---|---|
图块大小(Tile Size) | 设置了构成水网格体的各个图块的大小。这些是按默认世界单位测量的。提高/降低"图块大小(Tile Size)"会缩放构成关卡中的水网格体的所有图块。 |
图块范围(Extent in Tiles) | 设置了构成水网格体的各个图块的数量。范围是针对XY轴从水网格体中心到边缘进行测量的。 |
远距离(Far Distance) | 用于填充"图块范围(Extent in Tiles)"属性所用最远端图块与地平线之间的空间。这会添加一个低顶点水网格体,它会造成海洋水体图块无限延伸的错觉。 |
开启前的远景
开启后的远景
去边界上看就会看到比较明显的填充。
剩下水体的单层水着色,还有漂浮物理还没有看懂与测试。后续有空再实现。
水体颜色
调整水体颜色(Water Material)
以湖水为样例
调整后的效果
如果是河流
调整后的效果
参考文章:https://historia.co.jp/archives/21022/
自定义水体-这个方法我使用后却无法构建,一构建就程序就无响应。
可以通过更改具体的网个体来调整外形。
然后调整时不要调整Z轴,因为改调整不会影响浮力计算,会导致上浮出错。
漂浮
参考文章:https://www.youtube.com/watch?v=Ck06vcDSHbQ&list=RDCMUCoG9TB1eL6dm9eNbLFueHBQ&index=3
首先先创建一个漂浮用的网络体。然后开启物理模拟。
注意:这里是不能对该网络体缩放大小的,浮力计算是按照原来网络体的参数来设置。
然后添加【浮力Buoyancy】
添加浮力点Pontoons
可以通过添加一个子的actor来确定具体的点位。通过移动子actor来获得具体的位置参数。
点击右键可以复制粘贴
water插件问题修复(插件版本:1.0)
参考文章:https://www.youtube.com/watch?v=4coo6R6xD7w
首先,打开测试地图,模拟运行。
然后发现小黄人踩水时没有波纹【BP_FluidSim_01】,这是water这个插件的异常错误。
找到对应的异常纹理处。
双击打开后发现有个错误。
查找纹理【FoamRT】
添加,保存即可。然后再模拟运行就可以看到效果了。
水波(Gerstner波)
首先,需要添加【BP_FluidSim_01】到地图中。
官方测试参数如下
然后添加水波。
先找到水波触发的模板。打开复制。
全部张贴过去。
调整水波产生点(位置,大小,不显示)
然后在场景中也调整。