Blender中使用BlenderGIS插件快速生成城市建筑模型
导入下载 BlenderGIS 插件
去github上下载其压缩包,地址如下:
https://github.com/domlysz/BlenderGIS
在BlenderGIS中导入这个插件压缩包:
点击上方菜单栏的编辑
,点击偏好设置
在插件
>从磁盘安装
中导入刚刚下载的压缩包
可以看到上方的菜单栏出现了GIS
选项,这就说明插件导入成功了
但是若你想使用,会发现弹出一个报错:No imaging library available. ImagelO module was not correctly installed.
网上给出的一个比较可行的方法是:进入blender的文件夹,在python/bin/的文件目录下cmd,输入命令安装imageio:
python.exe -m pip install imageio
影像数据
点击GIS插件,选中Web geodata
>Basemap
,
我这里使用的是国产的天地图,不过这需要额外配置,具体操作可以看这篇文章:Blender关于GIS插件的安装及使用和天地图的配置 - 简书
可以看到影像地图已经显示在界面上了:
Ctrl
+G
进行定位,输入位置和缩放级别(不过对于我额外配置的天地图好像不适用)
定位到你所感兴趣的位置:
按E
键可以将视口中的瓦片截取下来:
载入地形起伏
blenderGIS可以从NASA SRTM获取获取海拔数据以生成地形起伏
不过:
去官网获取API,注册然后申请就可以了:
Home | OpenTopography
在偏好设置
>插件
中输入你刚刚申请的API:
选中GIS插件Web geodata
>Get elevation
,
在弹出的弹窗中点击确定:
可以看到地图上已经有地形起伏了,可是不太显眼:
我们直接在右侧的编辑器中控制其Z轴上缩放等级,调整达到一个你认为合适的数值即可:
生成建筑模型
选择Web geodata
>Get OSM
,获取OSM的建筑路网等信息:
选择你想要生成的模型类型,我这里选择的是建筑(building)、路网(highway)、土地(landuse)、自然(natural)和水路(waterway),记得勾选Elevation from object
这样可以让模型紧贴地形
模型已经生成了:
如果需要的话还可以设置一下道路宽度,这样更加美观,可以看这篇文章:blender设置highway道路宽度_blender画路面-CSDN博客
我们也可以到OpenStreetMap官网获取数据
定位框选你所想要的区域,再导出后缀为.osm的数据:
在GIS插件中选择导入
>Open Street Map xml
导入下载的osm数据
导出数据
点击文件
>导出
导出模型数据,我这里选择导出glb格式
在线模型网站中预览模型