在我们做数字孪生相关的项目的时候,会需要生成一些城市的模型,这时候我们可以使用 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. 深入理解ConcurrentHashMap

    HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作,调用了HashMap的putVal(),具体原因: 假设两个线程A.B都在进行put操作,并且hash函数计算 ...

  2. Python—键盘输入input()语句

    用法: 简化写法:

  3. Nuxt Kit 使用日志记录工具

    title: Nuxt Kit 使用日志记录工具 date: 2024/9/23 updated: 2024/9/23 author: cmdragon excerpt: 摘要:本文介绍在Nuxt 3 ...

  4. 使用dynamic debug帮助调试

    你一定在kernel source code中看过很多pr_debug()/dev_dbg()/print_hex_dump_debug()吧,这些debug语句提供更多的信息帮助我们了解内核运行流程 ...

  5. Python | os.path.join() method

    Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...

  6. Pytorch 实现 GAN 网络

    Pytorch 实现 GAN 网络 原理 GAN的基本原理其实非常简单,假设我们有两个网络,G(Generator)和D(Discriminator).它们的功能分别是: G 是一个生成网络,它接收一 ...

  7. dotnet 的LINQ使用

    // LINQ (Language Integrated Qyery) 语言集成查询 -- 用来查询的一些操作类库 // 1. LINQ to Objects 主要负责对象的查询 // 2. LINQ ...

  8. 常见的mysql 函数 字符串函数

    1. concat (s1,s2,....sn) 字符串拼接,将 s1,s2,... sn 拼接成一个字符串 : 2. lower(str) 将字符串全部转换成小写 3. upper(str) 将字符 ...

  9. Vue中如何自定义过滤器 ?

    过滤器可以格式化我们所需要的数据格式  : 自定义过滤器分为全局和局部过滤器: 全局过滤器在 main.js 中使用 Vue.direct4ive( 过滤器名字,定义过滤器的具体行为函数 ) : 局部 ...

  10. KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南

    作者:运维有术 前言 知识点 定级:入门级 KubeKey 如何升级 KubeSphere 补丁版本 KubeKey 如何升级 Kubernetes 补丁版本 KubeSphere 和 Kuberne ...