【UE+GIS】UE5&GIS CAD或shp构建3D地形

贴合地形的矢量图形实现方法


在3D GIS数据的生产过程中,有时需要用到2D的CAD地形图(等高线或高程点)或是shp格式的高程点作为原始数据输入,最后实现3D地形模型的构建,本文介绍三种实现方案,欢迎评论区交流。

一、灰度图的制作和拉伸换算

1、基于高程点集实现

将高程点数据导入FME或arcMap中构建DEM,输出PNG格式的灰度图。

2、基于等高线实现

如果既有等高线又有高程点数据,可以在构建DEM的时候增加等高线约束。

如果只有等高线没有高程点数据,则将等高线转换为高程点数据,并提供插值来扩增区域高程点数据,再构建DEM,输出PNG格式的灰度图。

3、拉伸计算

由于PNG格式的灰度图的色值范围和实际DEM数据的高度色值不同,因此需要计算灰度图色值的最大值和最小值和实际高度色值深度最大值和最小值的比例用于后期整体拉伸地形模型。

二、生成地形模型的实现方案

1、3Dmax导入灰度图

  1. 导入灰度图

    • 打开3ds Max并创建一个新的场景。
    • 使用"Create"菜单中的"Bitmap"或"Texture"命令将灰度图导入到场景中。选择你的灰度图并将其导入。
  2. 创建地形

    • 在3ds Max中,选择"Create"菜单中的"Geometry"选项,并选择"Plane"创建一个平面对象。这将作为你的地形基础。
  3. 应用灰度图到地形

    • 选中创建的平面对象,然后打开"Modify"面板。
    • 在"Modify"面板中,找到"Displace"或"Displacement"选项。这通常在"Modifier List"中。
    • 将灰度图应用到"Displace"或"Displacement"通道中。通常,你需要将灰度图拖放到相应的通道中,或者在通道的"Map"选项中选择导入的灰度图。
  4. 调整地形参数

    • 调整地形对象的参数,例如细分级别、平滑度等,以获得想要的地形效果。
    • 根据灰度图和实际深度值的比例来设置缩放比例。

2、使用ArcMap/Arcpro/FME等GIS数据处理工具

基于DEM数据进一步构建模型面,转换为fbx格式的模型数据导出。

3、UE导入灰度图

  1. 导入灰度图到UE5
    • 打开UE5项目,切换到地形编辑,点击新增地形。
  2. 创建地形
    • 选择导入的灰度图,这将创建一个新的地形对象,并将灰度图应用到地形上。
  3. 调整地形参数
    • 选择创建的地形对象,然后在Details面板中调整地形的参数,例如分辨率、平滑度等,以获得想要的地形效果。
    • 根据灰度图和实际深度值的比例来设置缩放比例。
  1. 雕刻地形

根据需要,可以在地形编辑模式下进一步修改地形的形状和细节,例如使用平滑刷柔化地形线条。

三、地形上叠加地形渲染效果的实现方案

1、贴花

创建贴花材质

创建一个actor,在组件里添加贴花和平面。

添加后将贴花对准平面进行比例和方向和位置调整,调整后将平面设置为不可视。

将actor拖入场景中,调整到覆盖地形即可。

2、数据渲染

通过代码动态根据高度值修改材质渲染颜色。

3、材质贴图

将渲染好的图片赋予从外部导入的地形模型,或者直接赋予引擎的分块地形。

相关推荐
lauo9 小时前
【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第55课-芝麻开门(语音 识别 控制3D纪念馆开门 和 关门)
前端·javascript·人工智能·3d·机器人·开源·语音识别
modashi3dmax11 小时前
3d打开模型的时候怎么没有灯光?---模大狮模型网
3d
老朱佩琪!1 天前
Unity分享一个简单的3D角色漫游脚本
3d·unity·游戏引擎
白葵新1 天前
Open3D 删除点云中重叠的点(方法二)
图像处理·人工智能·python·算法·计算机视觉·3d
暮志未晚Webgl2 天前
UE5 修改项目名称 类的名称
ue5
Zhichao_972 天前
【UE5.1】Chaos物理系统基础——03 炸开几何体集
ue5
东风吹柳2 天前
UE5.2 AI实时抠像(无需绿幕) + OBS推流直播 全流程
ue5
会思考的猴子2 天前
UE5 04-重新加载当前场景
ue5
Zhichao_972 天前
【UE5.1】Chaos物理系统基础——02 场系统的应用
ue5
木木阳2 天前
WACV2023论文速览3D相关
论文阅读·3d·wacv