效果
步骤
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”来查看浮筒