参考:BlenderGIS教程(网子里Chris)
本文记录了使用Blender软件制作城市大场景,并导入UE中的步骤,便于以后回顾。
0、软件版本
- Blender 2.83
- Blender GIS(基于2.26的天地图版)
提取码:wnof
1、Blender GIS安装
👉github地址 下载安装包后,在blender软件——偏好设置——插件,点击安装,选择下载的zip包,安装成功后勾选即可。
安装常见问题:No ImageIO error
开始使用Blender gis时,可能会报No ImageIO error
错误,解决办法:
点击👉地址,下载对应版本的文件后,放在以下路径:your_addons_folder/BlenderGIS/core/lib/imageio/resources/freeimage/
其中,addons地址可在偏好设置——插件中查看
2、创建带真实影像的地形
软件安装好后,接下来就让我们愉快的玩耍把!
使用Blender GIS创建大场景有两种方式,一种是使用在线的地图服务,一种是使用本地的影像和地形数据。
Blender GIS默认提供了谷歌地图等地图服务,由于🧱的原因,无法直接访问,这里我们使用天地图服务。
(1)使用BlenderGIS天地图数据
下载影像数据
加载出地图数据后,按下快捷键G键,会弹出定位输入框,输入定位地址
和地图缩放层级
就可以跳转到对应地址。
PS: 这里输入地址跳转后可能会出现位置不对的情况,猜测是因为有重名的地址,可以换一个地名试试。比如我定位guiyang(贵阳),会定位到错误的地址,我可以换成longdongbao(龙洞堡)。
定位到对应地址后,通过缩放(鼠标滚轮)和平移(shift+鼠标中键)视角,确定好要创建大场景的范围,按下快捷键E键,即可下载对应的影像。
创建地形
在场景大纲中选择刚刚创建的影像范围,点击GIS —— baseMap —— get Elevation SRTM,等待下载地形完成,之后我们刚刚创建的影像就会有起伏,变成了一个三维物体。
PS: 下载地形是通过OpenTopography网站 ,下载前需要先需要注册账号,申请API_KEY。Blender gis 2.2.7版本后,插件对话框里有输入API_KEY的输入框,笔者使用的版本需要手动在SRTM请求地址后输入API_KEY。
(2)使用本地数据
使用blender gis有个缺陷,只能下载当前视口这个层级下的数据,当视口范围大时候,层级也比较高,下载后的影像不清晰;并且下载的地形数据最高只有30m的经度。
当我们需要更高精度的数据时,我们可以使用本地数据创建。本地数据的获取方法这里不再赘述,
💊注意:数据的坐标系建议选择WGS84-3857,因为这是Blender GIS默认的投影。
使用本地地形和影像数据导入Blender创建三维模型的过程如下:
- 导入地形数据,以
地形置换贴图的方式
导入,注意这里不能有中文路径。
导入地形数据后,添加表面细分
,并把他移动到修改器的第2个位置,然后修改曲面细分的程度到一个合适的层级。
- 然后导入影像数据,模式选择
basemap on mesh
,选择我们创建的地形物体。这样就可以将影像作为贴图覆盖在我们的地形体上。
有很多商用软件可以可以下载更高精度的影像。笔者使用的是BigeMap软件,软件的使用也很简单,这里就不赘述了。
3、城市白膜(建筑、道路)
(1) 使用blender gis插件
首先选择下载的范围,然后点击Blender gis插件的Get OSM,就会弹出以下对话框。
这里我们可以选择需要的数据,包括建筑、公路等等。选择好后,点击确定,等待下载完成后即可。
Blender gis插件下载白膜数据有个缺陷,就是范围不能过大,这里更推荐使用QGIS OSM插件下载,下载之后的数据再通过Blender GIS导入到Blender中,生成三维模型。
\
(2)使用QGIS OSM插件(推荐)
我们也可以使用QGIS 的QuickOSM插件(在QGIS插件市场中搜索安装即可)。
安装完成后,QGIS主界面中会有QucikOSM插件的图标,点击进入主界面。
我们主要使用快速查询界面,这里输入我们需要获取的白膜数据,比如我这里输入了建筑,选择了位于 贵阳市,点击运行查询即可下载数据到QGIS中。
获取到白膜shp数据后,我们通过Blender GIS插件导入Blender中。
这里如果我们需要白膜数据贴在地形和影像之上,第一个选项要选择对应的物体。
4、白膜美化
可以参考EasyV,B站教程
EasyV数据可视化课程|Ep7:blender城市数据建模
(1)建筑
因为自己使用主要是导入UE中,所以我主要是在Blender中将建筑白膜的楼顶和侧面拆分出来,赋予不同的材质,再在UE中美化。这里主要介绍如何将楼顶和侧面拆分。
首先,进入Blender编辑模式,选择面选择模式
之后点击某个建筑物的顶面,在选择下——》选择相似——》法向,即可选择所有的顶面,
之后在界面空白位置,点击右键——》选择分离——》选中项,即可完成拆分。
之后在材质面板为物体赋予不同的材质。
(2)道路
我们使用OSM下载的道路数据一般只是线数据
,我们需要首先使用Blender把他转为面状数据。
首先创建一条路径曲线,作为我们道路横截面
然后选择我们的道路图层,将他转换为曲线。
然后右侧物体属性面板中就会出现物体数据属性,按下图所示设置我们创建的路径曲线,这样道路就会变粗了。
之后就可以在Blender或UE中设置材质。
5、总结
本文讲述了使用Blender gis软件创建城市场景(地形影像、白膜)的主要过程,涉及到QGIS 、BigeMap等软件。