在我们做数字孪生相关的项目的时候,会需要生成一些城市的模型,这时候我们可以使用 blender 来生成一些城市的模型。

我们,先来看一下效果。

安装 blender

blender 是一个开源的 3D 建模软件,可以在官网下载到最新的版本,下载地址为:https://www.blender.org/download/

下载完成后,安装即可,打开后可以看到如下界面。

默认下载的可能是英文的,大家可以编辑 Edit -> Preferences -> Interface -> Language -> Chinese 来修改为中文。

安装 BlenderGIS

下载地址:https://github.com/domlysz/BlenderGIS



下载完成后不需要解压,直接在 blender 中安装即可。

还是在偏好设置弹窗中,选择插件,然后在右上角从磁盘安装,选择下载的 zip 文件即可。

安装完成后,将这个插件启用,然后重启 blender 即可。

文件的这个路径记下来,等会会有用。

我们在Blender的顶部菜单栏中,可以看到一个GIS的选项,这个就是我们刚刚安装的插件。

这个时候点击web geodata,然后选择Basemap,会报错

提示

No imaging library available. ImageIO module was not correctly installed

如果遇到这个错误,我们还安装一个东西,freeimage

安装freeimage

https://github.com/imageio/imageio-binaries/tree/master/freeimage

从上面的连接找到对应的版本,然后下载。

我是mac,所以下载的最后一个。

完成下载后,还记得我们之前安装的BlenderGIS插件的路径吗?我们将下载的文件解压到这个路径下。

这里给出mac如何进入这个目录,windows的话,需要自己去查询一下。

打开访达,我们可以摁住option键,然后点击前往,就可以看到资源库了。

依次进入到这个路径下

/Users/sanmu/Library/Application Support/Blender/4.3/scripts/addons/BlenderGIS-master/core/lib/imageio/resources

到达这个目录后,我们需要手动创建一个文件夹 freeimage。

然后将我们刚下载的文件放到freemie文件夹中。

这样准备工作就都好了。

生成城市模型

重启我们的 blender,然后点击web geodata,选择basemap,出现下面的弹窗。

将源修改为OSM后,点击确定

我们就得到了这个数据了,可以进行放大缩小。

然后通过快捷键,command + G,会出现一个弹窗,通过它我们可以去具体的城市。

我们输入一个位置后,确定

等待一会就定位到我们输入的位置坐标了。



我们使用鼠标滚轮进行放大缩小

最后获取建筑的模型,我们点击web geodata,选择buildings,然后点击确定。

等待一会,我们生成的如下的内容



然后我们点击背后的图片删掉,我们在移动城市的位置,就获得城市群了



Three.js学习:https://www.threejs3d.com/

如何使用blender生成城市群的更多相关文章

  1. [Blender] Blender 获取 Instance 的信息

    最近希望用 Blender 生成 Instance 的能力,将生成的导入游戏引擎中来渲染.Instance Rendering 是个好东西,特别是针对大场景,渲染成批的基本相同的物体的时候非常有用. ...

  2. 教你用webgl快速创建一个小世界

    收录待用,修改转载已取得腾讯云授权 作者:TAT.vorshen Webgl的魅力在于可以创造一个自己的3D世界,但相比较canvas2D来说,除了物体的移动旋转变换完全依赖矩阵增加了复杂度,就连生成 ...

  3. Oracle 11g数据库详解(2)

    FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...

  4. blender导入灰度图生成地形模型

    安装软件 在此处下载blender并安装. 添加平面 1.打开blender,右键删除初始的立方体. 2.shift+a选择平面添加进场景: 3.按下s键鼠标拖动调节平面大小确定后按下鼠标左键: 4. ...

  5. Blender 之修改器代码分析

                           Blender的修改器(modifier)模块,默认界面右下块(Property)面板的扳手,分类(修改.生成.形变.模拟)列出所有的修改器.也可以空格键 ...

  6. Blender 之 Splash 代码分析

    注:以下内容基于 Blender 2.7x 版本工程,其它低版本可能有改动. Blender启动完成时,会出现一个画面,英文叫Splash.默认是打开的,可以在设置里关闭.在文件菜单里点击用户首选项( ...

  7. Blender 脚本之 Operator 初探

    addon(插件)用来扩展 Blender 的功能,跟其他软件里的 plugin(插件)一样,去掉不会影响软件的运行.插件可以加到 Blender 的用户偏好设置目录里,或者就在你所编辑的.blend ...

  8. Blender使用基础

    快捷键 -- 鼠标放在“大纲视图” -- .(小键盘) 定位到所选对象(该键的英文为period) -- 鼠标放在“3D视图” -- n  打开3D视图右面属性面板(把鼠标放在面板上,按F5可以左右切 ...

  9. blender源代码编译

    blender源码路径(svn):https://svn.blender.org/svnroot/bf-blender/trunk/blender/ 依赖外部Lib(svn):https://svn. ...

  10. (一)使用Blender导出GameMaker支持的模型脚本

    源于YOYO论坛帖子:http://gmc.yoyogames.com/index.php?showtopic=603723 既然想做3D,那就先从模型的导入开始,具体的源文件,可以在“(二)使用等高 ...

随机推荐

  1. Angular 18+ 高级教程 – Dependency Injection 依赖注入

    前言 本来是想先介绍 Angular Component 的,但 Component 里面会涉及到一些 Dependency Injection (简称 DI) 的概念,所以还是先介绍 DI 吧. 温 ...

  2. CSP初赛知识点:Linux 系统

    CSP初赛知识点:Linux 系统 前言 近年 CSP 初赛几乎前 5 道选择题都有一两道有关 Linux 系统的使用,所以作为备战 CSP-J/S 2024 的资料,整理下来啦. 祝各位今年所有考试 ...

  3. Element——前端样式美化

    Element 简介    Element 快速入门      https://element.eleme.cn/#/zh-CN/component/button Element 布局      ht ...

  4. 安装nginx-http-flv-module模块

    简介 nginx-http-flv-module是什么 流程 注意事项 详细步骤 查看当前已经安装的nginx版本 下载对应版本的nginx源代码 下载nginx-http-flv-module模块源 ...

  5. [OI] throw

    throw 主要是用来抛出异常. throw 可以直接向主程序 throw 一个东西,可以是各种数据类型,显示在界面上就是抛出的数据类型. int main(){ throw 1; } termina ...

  6. [OI] 指针与迭代器

    取地址与解引用 一般来说,我们有一个取地址符 & 可以返回该变量的地址. int main(){ int a; cout<<&a; } 0x6ffe1c 如果我们现在有一个 ...

  7. 离线安装Redis

    redis 直接去官网下载tar包就可以 主要是gcc 环境的安装包不太好找,我下载的还缺少 make 如果服务器比较干净,还得预装一下lrzsz-0.12.20.tar.gz 上传下载文件,unzi ...

  8. FirewallD is not running 原因与解决方法

    解决方法关于linux系统防火墙: centos5.centos6.redhat6系统自带的是iptables防火墙.centos7.redhat7自带firewall防火墙.ubuntu系统使用的是 ...

  9. 解决 WebSocketClient.js?5586:16 WebSocket connection to 'ws://192.168.13.25:8080/ws' failed:

    控制台报错: vue.config.js Vue的配置文件 const { defineConfig } = require('@vue/cli-service') module.exports = ...

  10. 新建 Blazor 项目 WebAssembly