【Cesium for Unreal】在地图上生成图案

目录

效果

步骤

一、生成空心图案 

二、多个图案

三、实心图案

四、同时显示多种颜色的图案


效果

步骤

一、生成空心图案 

1. 添加“Cesium Cartographic Polygon”

这里重命名为“PolygonInner”,表示里层的形状

复制一份,命名为“PolygonOuter”,表示外层的形状

2. 选中这两个Polygon的“GlobeAnchor”的组件,然后点击“Snap to East South Up”,使得Polygon的+X轴指向局部东方向,+Y轴指向局部南方向,+Z轴指向局部上方向。

3. 选中“PolygonOuter”中的样条点,然后切换为局部空间

移动“PolygonOuter”的4个样条点,使“PolygonOuter”包含“PolygonInner”

5. 下面为这两个Polygon各建一个“Material Layer Blender”

这里分别命名为“MLB_Inner”和“MLB_Outer”

6. 在“All-》Plugins-》Cesium for Unreal内容-》Materials-》Instances”中找到“MI_CesiumThreeOverlaysAndClipping”

将该材质实例复制一份,这里复制到和“MLB_Inner”、“MLB_Outer”同一个路径下,并重命名为“MI_AreaTint”

7. 打开“MLB_Inner”,先删除“BlenderMaterialAttributes”

添加“GetMaterialAttributes”和“SetMaterialAttributes”节点

选中“SetMaterialAttributes”节点,在细节面板中添加一个“BaseColor”属性类型

选中“GetMaterialAttributes”节点,在细节面板中添加一个“BaseColor”属性类型

做如下连接,这样底层的地图画面就可以传过去

选中另一个“GetMaterialAttributes”节点,在细节面板中添加一个“BaseColor”属性类型,然后将R值传出去

8. 打开“MLB_Outer”,添加如下节点

9. 打开“MI_AreaTint”,在“图层参数”面板中添加一个材质层,这里命名为“Inner”

在“Inner”材质层中设置“图层资产”为“ML_CesiumRasterOverlay”,“混合资产”设置为“MLB_Inner”

再添加一个材质层,命名为“Outer”,“图层资产”为“ML_CesiumRasterOverlay”,“混合资产”设置为“MLB_Outer”(注意:材质层Outer需要在Inner的上层

10. 选中“Cesium World Terrain”,添加一个“CesiumPolygonRasterOverlay”组件

这里重命名为“PolygonRasterOverlay_Inner”

复制一份,命名为“PolygonRasterOverlay_Outer”

选中组件“PolygonRasterOverlay_Inner”,添加一个“Polygon”元素,该元素设置为大纲中的“PolygonInner”。然后取消勾选“Exclude Selected Tiles”。“Material Layer Key”设置为“Inner”

选中组件“PolygonRasterOverlay_Outer”,添加一个“Polygon”元素,该元素设置为大纲中的“PolygonOuter”。然后取消勾选“Exclude Selected Tiles”。“Material Layer Key”设置为“Outer”

11. 选中“Cesium World Terrain”,在细节面板中,设置“Cesium-》Rendering”中的“Material”为“MI_AreaTint”,此时在地图上就出现了图案效果

二、多个图案

如果想同时显示多个图案效果,只需要先复制“PolygonInner”和“PolygonOuter”,然后修改一下它们的位置

可以再修改一下形状

然后选中“Cesium World Terrain”的“PolygonRasterOverlay_Inner”组件,在细节面板中点击添加一个Polygon,添加的元素为“PolygoInner2”

再选中“PolygonRasterOverlay_Outer”组件,在细节面板中点击添加一个Polygon,添加的元素为“PolygoOuter2”。此时就显示新图案了。

三、实心图案

还是先添加一个“Cesium Cartographic Polygon”,这里重命名为“Polygon_Rectangle”

选中“Cesium World Terrain”的“PolygonRasterOverlay_Outer”组件,在细节面板中添加一个元素,元素设置为“Polygon_Rectangle”。此时就可以在地图上看见实心图案了。

四、同时显示多种颜色的图案

1. 将“Cesium World Terrain”中的两个“CesiumPolygonRasterOverlay”组件重命名,用以区分颜色

2. 右键“MLB_Inner”,选择“创建混合实例”

这里命名为“MLB_Inner_Inst_Red”

同样的方式对“MLB_Outer”创建材质实例,这里命名为“MLB_Outer_Inst_Red”

3. 打开“MI_AreaTint”,将之前混合资产“MLB_Inner”、“MLB_Outer”替换为“MLB_Inner_Inst_Red”和“MLB_Outer_Inst_Red”

将材质层中的“Outer”、“Inner”重命名为“OuterRed”、“InnerRed”

4. 选中“Cesium World Terrain”,在细节面板中修改组件“PolygonRasterOverlay_Inner_Red”的“Material Layer Key”为“InnerRed”,修改组件“PolygonRasterOverlay_Outer_Red”的“Material Layer Key”为“OuterRed”

5. 此时生成红色图案的部分就完成了。下面开始绘制蓝色图案。

由于“Material Instance” ,除去背景最多有8个材质层,因此这里可以删除“Clipping”和“DitherFade”层

6. 对“MLB_Inner”创建混合实例,这里命名为“MLB_Inner_Inst_Blue”

对“MLB_Outer”创建混合实例,这里命名为“MLB_Outer_Inst_Blue”

打开“MLB_Outer_Inst_Blue”,将参数“Color”设置为蓝色

7. 回到“MI_AreaTint”,添加两个材质层,分别命名为“OuterBlue”和“InnerBlue”,混合资产分别设置为“MLB_Outer_Inst_Blue”和“MLB_Inner_Inst_Blue”

添加两个“Cesium Cartographic Polygon”,分别命名为“PolygonInner_Blue”和“PolygonOuter_Blue”

选中“Cesium World Terrain”,添加两个“CesiumPolygonRasterOverlay”组件,然后重命名为“PolygonRasterOverlay_Inner_Blue”和“PolygonRasterOverlay_Outer_Blue”

选中“PolygonRasterOverlay_Inner_Blue”组件,设置Polygons元素为“PolygonInner_Blue”

选中“PolygonRasterOverlay_Outer_Blue”组件,设置Polygons元素为“PolygonOuter_Blue”,设置后刷新一下Tileset就可以看到在地图上有多种颜色的图案了。

8. 下面制作一个黄色的实心图案

点击添加一个“Cesium Cartographic Polygon”,这里重命名为“PolygonRectangle_Yellow” 

复制一份“MLB_Outer”,这里重命名为“MLB_AreaTint”

打开“MLB_AreaTint”,修改为如下节点

对“MLB_AreaTint”创建混合实例,这里命名为“MLB_AreaTint_Inst_Yellow”

打开“MLB_AreaTint_Inst_Yellow”,修改Color为黄色

打开“MI_AreaTint”,添加一个材质层,材质层名称为“TintYellow”,图层资产仍然为“ML_CesiumRasterOverlay”,混合资产为“MLB_AreaTint_Inst_Yellow”

选中“Cesium World Terrain”,添加一个“CesiumPolygonRasterOverlay”组件,这里重命名为“PolygonRasterOverlay_Yellow”

添加一个Polygon元素,该元素设置为“PolygonRasterOverlay_Yellow”,取消勾选“Exclude Selected Tiles”,“Material Layer Key”设置为“TintYellow”。此时可以看到出现了黄色的实心图案。

参考视频:

 Cesium for Unreal在地图上画图案P1-同色图案_哔哩哔哩_bilibili

Cesium for Unreal在地图上画图案P2-多色图案及动态纹理图案_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhichao_97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值