【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、材质贴图

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

相关推荐
漫游者Nova4 小时前
虚幻引擎Unreal Engine5恐怖游戏设计制作教程,从入门到精通从零开始完整项目开发实战详细讲解中英字幕
ue5·游戏引擎·虚幻·游戏开发完整教程·恐怖游戏开发
哈市雪花1 天前
相机:Camera原理讲解(使用OpenGL+QT开发三维CAD)
qt·3d·交互·相机·图形学·opengl·视角
zhongqu_3dnest1 天前
3D建模公司的能力与技术
数码相机·3d·虚拟现实·vr制作公司·3d建模公司
syncon121 天前
手机屏色斑缺陷修复及相关液晶线路激光修复原理
科技·3d·制造
九班长1 天前
Golang服务端处理Unity 3D游戏地图与碰撞的详细实现
3d·unity·golang
温轻舟2 天前
3D词云图
前端·javascript·3d·交互·词云图·温轻舟
在下胡三汉2 天前
粗略地看一下 glTF 2.0 的所有标准属性(顺便说一下,还有 .glb 的结构)
3d
zhongqu_3dnest2 天前
3D可视化:开启多维洞察新时代
3d·3d建模·空间计算·3d可视化·三维空间·沉浸式体验
ue星空2 天前
UE5音频技术
ue5
试着2 天前
【数据标注师】3D标注
3d·数据标注师·3d标注