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