【UE5.2】通过Water插件使物体漂浮在水面上

发布时间:2023年12月17日

效果

步骤

1. 新建一个工程,创建一个Basic关卡,添加初学者内容包到内容浏览器

2. 在插件中启用“Water”插件,然后重启工程

3. 重启后提示“碰撞描述文件设置不包括水体碰撞描述文件的条目,水碰撞必须使用该描述文件才能正常工作。 将条目添加到DefaultEngine.ini?”,点击“将条目添加到DefaultEngine.ini”

4. 将“Water By Lake”拖入场景中

5. 新建一个Actor蓝图,这里命名为“BP_BuoyancyMesh”,用于表示可以漂浮在水面上的Mesh

打开“BP_BuoyancyMesh”,添加一个静态网格体作为根组件,静态网格体模型就用一个方块表示

开启“模拟物理”,开启质量

碰撞预设为“PhysicsActor”

继续添加一个浮力组件

在细节面板中,给“Pontoons”(浮筒)添加4个数组元素,就表示这个方块周围有4个浮筒,从而让方块浮起来

下面需要设置每个浮筒的相对位置,我们想设置在方块垂直方向上的4条棱的中点,由于方块长宽高都是100cm,且方块自身的坐标轴位于中心,因此4个浮筒的位置分别为:

(50,50,0)

(50,-50,0)

(-50,50,0)

(-50,-50,0)

【除了可以通过相对位置来设置浮筒位置,还可以通过插槽来设置浮筒位置,比如这里就可以打开静态网格体,分别在上面4个位置处添加4个插槽,然后在下图中的“Center Socket”处填上插槽名称,这样也可以让浮筒找到自己的位置】

勾选“Apply Drag Forces in Water”(在水中应用阻力)

6. 在大纲中选中“WaterBodyLake”,设置“Wave Attenuation Water Depth”为128,设置“Waves Source”为“Gerstner Water Waves”

碰撞预设为“WaterBodyCollsion”

此时运行效果如下:

按“~”打开命令行,输入“Water DebugBuoyancy 1”来查看浮筒

文章来源:https://blog.csdn.net/ChaoChao66666/article/details/134979039
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。