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

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

相关推荐
小赖同学啊10 小时前
GIS地理信息系统建设:高精度3D建模
3d
计算机sci论文精选18 小时前
CVPR 2024 3D传感框架实现无监督场景理解新纪元
人工智能·机器学习·计算机视觉·3d·cvpr·传感技术
程序员编程指南18 小时前
Qt OpenGL 集成:开发 3D 图形应用
c语言·数据库·c++·qt·3d
GISBox18 小时前
GISBox实操指南:如何将IFC文件高效转换为3DTiles格式‌‌
3d·免费工具
Listennnn18 小时前
3D Semantic Occupancy Prediction
3d
三月的一天18 小时前
react+threejs实现自适应分屏查看/3D场景对比功能/双场景对比查看器
3d·分屏控制·react threejs·多场景渲染
lqjun082720 小时前
相机内外参矩阵:从3D世界坐标到2D像素坐标变换
数码相机·3d·矩阵
渲吧云渲染1 天前
解码3D格式转换
3d
星图云2 天前
Mirauge3D 赋能:全自动建模,让城市规划与建筑设计拥有高分辨率实景三维模型
3d
点云SLAM2 天前
Pytorch中cuda相关操作详见和代码示例
人工智能·pytorch·python·深度学习·3d·cuda·多gpu训练