【Cesium for Unreal】水效果实现

目录

效果

步骤

一、海洋效果

二、区域水效果


效果

海洋效果:

区域水效果:

步骤

一、海洋效果

选中“Cesium World Terrain”,在细节面板中搜索“water”,然后勾选“Enable Water Mask”

扫描二维码关注公众号,回复: 17641567 查看本文章

此时就可以看到Cesium for Unreal自带的海洋效果如下

二、区域水效果

Cesium for Unreal自带的水效果不包含区域的湖泊、河流和池塘等区域水效果,因此需要自己制作。

准备对如下区域实现水效果

1. 在“All-》Plugins-》Cesium for Unreal内容-》Materials-》Instances”找到“MI_CesiumThreeOverlaysAndClippingAndWater”

复制一份到自己的项目文件夹中,这里重命名为“MI_CesiumCustomWater”

2. 在“All-》Plugins-》Cesium for Unreal内容-》Materials-》Blends”中找到“MLB_CesiumSimpleWater”

复制一份到自己的项目文件夹中,这里重命名为“MLB_CesiumCustomWaterMask”

打开“MLB_CesiumCustomWaterMask”,添加如下两个常量节点来设置“CesiumSimpleWaterSurface”中的“DistanceScale”参数为2048,“Near Scale”参数为512。通过设置这两个值使得水面波纹和海浪的较小,从而近似于池塘的效果。

3. 打开“MI_CesiumCustomWater”,在“图层参数”中修改第2个材质层名称为“CustomWater”,然后设置该材质层的图层资产为“ML_CesiumRasterOverlay”,混合资产为“MLB_CesiumCustomWaterMask”

4. 添加一个“Cesium Cartographic Polygon”,这里重命名为“Polygon_Pool”

编辑“Polygon_Pool”的边界使得与池塘边界基本吻合

5. 选中“Cesium World Terrain”,在细节面板中勾选“Always Include Tangents”,因为水渲染需要地形上有切线数据。

“Cesium-》Rendering”中的“Material”设置为“MI_CesiumCustomWater”

对“Cesium World Terrain”添加一个“CesiumPolygonRasterOverlay”组件,这里重命名为“WaterMask”

添加一个“Polygons”元素,元素设置为“Polygon_Pool”

取消勾选“Exclude Selected Tiles”,“Material Layer Key”设置为“Custom Water”。此时就可以看到水效果了。

距离近一点效果更明显:

参考视频:

Cesium for Unreal 区域水效果的实现