如何绘制炫酷逼真的三维地形图
坐怀不乱的手链
2022年11月10日 11:11:10
只看楼主

我们先来看看我们今天要实现的效果,它长下图这个样子,是不是很炫酷,是不是很适合用来装逼!   放大局部细节再看一下!   下面我们就来一步步实现这个效果,需要提前说明的是整个流程比较复杂,建议在操作前 先浏览下全部流程再进行操作


我们先来看看我们今天要实现的效果,它长下图这个样子,是不是很炫酷,是不是很适合用来装逼!

 


放大局部细节再看一下!

 


下面我们就来一步步实现这个效果,需要提前说明的是整个流程比较复杂,建议在操作前 先浏览下全部流程再进行操作


数据说明

用到的数据就是DEM高程数据。网上有很多各种分辨率的,大家可以根据自己的需要选择,一般情况下,数据量过大会影响建模效率,大范围示意图不需要太高分辨率的数据,后期甚至还需要降低分辨率。我们也提供了案例数据,在文末回复“ 地形图 ”获取!另外如果大家想要获取其他地区的DEM高程数据可以参考文章(点击标题可直接跳转):

【数据分享】DEM高程数据(各种精度免费带走)


软件环境

操作过程在ArcGIS和Blender中进行:

ArcGIS :主要是前期对数据进行一些处理,输出Blender可以使用的灰度图

Blender :利用灰度图进行三维模型的构建,并输出成果


ArcGIS数据处理

对于blender来说,DEM数据只是一张灰度图,tif、jpg、png各种图片格式“一视同仁”,没有坐标信息,没有投影。因此DEM数据在导入blender之前,需要保证它是我们想要的“形状”,高度范围是想要的拉伸范围,分辨率也是需要的,这些都可以提前在ArcGIS中进行处理操作,经过一系列操作之后输出能够在Blender中正确建模的文件。


01

数据加载查看

我下载的是云南全省的DEM数据(公众号之前分享过的),下载的原始数据分辨率12.5m,坐标WGS_1984_UTM_Zone_48N,像素类型16位有符号整型。

 


02

DEM裁剪

这里我们要以昆明市为例,首先裁剪出昆明市的DEM数据,用到的是昆明市边界数据(公众号也分享过行政边界数据),工具:按掩膜提取

 


裁剪后的数据范围

 


03

重采样

因为我们是要做昆明市的三维模型示意图,最后出图的比例尺很小,不需要很高的数据分辨率,所以进行数据重采样,我这里设置为100m * 100m

 


重采样之后结果

 


04

范围拉伸

为了保证最后呈现效果的精细程度,还需要对DEM的高程范围进行拉伸,对地形进行一定的夸张。用到的工具是栅格计算器,这里用到的算法(参考https://somethingaboutmaps.wordpress.com/blender-relief-tutorial-getting-set-up/):

(像素值 – 最小高程值) ÷ (最大高程值 – 最小高程值) * 65,535

 


计算后的结果,像素值范围已经改变了

 


05

导出DEM

最后,导出DEM,导出的类型需要是blender支持的16位无符号整型,工具:复制栅格,参数如下

 


属性中查看结果,已经是想要的类型。这里还有一个参数后续会用到:栅格的列数和行数,可以注意一下。

 


Blender模型构建

DEM数据准备好之后,就可以在Blender中进行建模。


01

Blender下载安装及语言设置

Blender是开源的三维软件,可以直接在官网下载最新版。最新版软件第一次启动时会提醒设置语言;如果没有,也可以在编辑中设置:点击主界面最上方的Edit,再点击 Preferences,选择简体中文即可。我们也提供了安装包,同样在文末回复“ 地形图 ”获取。


02

更改渲染器

打开blender之后首先进行渲染器的设置,设备选项可根据自己电脑配置设置

 


03

分辨率设置

调整出图分辨率,参数就用我们输出DEM的行数和列数。另外暂时调小分辨率,可在制作过程中调小一点,加快渲染速度,最后出图时再调整回100%。我这里设置30%,可根据自己电脑配置情况设置,10%也是可以的,方便在制作过程中随时查看预览。

 


04

添加平面

首先删除默认的cube,选中,直接delete键删除

 


然后添加需要的平面

 


05

设置建模范围大小

这里要设置的是新添加平面的大小比例,便于最后出图范围和图形范围匹配。这里会用到数据本身的大小,我们在最后输出dem的时候已经查看了,1544 * 2414,我们就用这个比例来设置

 


06

新建材质

 
 


07

打开着色器编辑器

接下来需要在着色器编辑器中进行节点添加和连接,首先打开着色器编辑器

 


08

添加纹理

 
 


09

将DEM数据加入纹理

 


选择扩展

 


10

颜色节点连着到置换

 


11

添加表面细分

 


这里修改为简单型,勾选自适应细分

 


12

添加置换节点

 


在置换节点中,缩放调整类似于ArcGIS中的地形夸张,数值越大起伏越夸张,可根据地形情况尝试

 


13

置换节点连接

 


14

置换设置

 


15

当前成果

到这一步我们预览一下,可以看到基本已经有地形起伏的形态的,但是角度不是我们想要的,接下来继续进行调整优化。

 


16

相机调整

在相机设置时,相机位置和正交比例多试试,不同范围不同角度效果不一样。


16-1. 选中相机

 


16-2. 接入相机视角

点击右侧按钮,进入相机视角之后(再次点击可回到用户视角),可以看到当前相机设置下的图形范围,也就是最后的出图范围

 


进入后的相机视角,灰色是画布,黄色框是选中的相机范围,在这里要保证黄色框能够覆盖灰色范围

 


16-3. 相机位置设置

根据看到的覆盖范围,可调整相机位置,保证黄色框能够覆盖灰色范围,昆明市范围用下边的参数,其他数据可自行尝试。

 


16-4. 设置正交

正交比例的设置跟出图范围大小有关,跟相机位置一起影像出图范围和角度

 


17

光源设置

17-1. 修改光源类型

 


17-2. 设置光源位置

45,135有没有很熟悉,这也是arcgis山体阴影的默认参数。

 


18

颜色设置

回到着色器编辑器页面,添加颜色渐变节点

 


设置颜色节点的连接,并设置合适的色带,颜色决定70%的最终颜值,多试试。

 


19

成果预览

当前设置的分辨率比较低,但依然可以看到基本满足需求

 


20

渲染出图

首先将分辨率调整回100%

 


快捷键F12渲染,渲染成果

 


 


自由优化

从数据处理到成果出图,很多步骤,如果是不熟悉arcgis或者blender,可能步步都是陷阱,在第一次学习时,建议使用跟教程一样的数据和设置,先把流程走一遍,然后再自由发挥。


我这里先换个颜色,来个小清新版

 


再换个角度,来个暗黑丛林的感觉(这个角度会更加放大地形起伏,可以考虑适当减小缩放)

 


 


教程参考

教程创始人Daniel Huffman

https://somethingaboutmaps.wordpress.com/blender-relief-tutorial-getting-set-up/


中文教程参考: GIS荟  

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0MzE3MTM1OA==&action=getalbum&album_id=1905349428891172870&scene=173&from_msgid=2247487703&from_itemidx=7&count=3&nolastread=1#wechat_redirect

免费打赏

相关推荐

APP内打开