如何使用blender生成城市群
在我们做数字孪生相关的项目的时候,会需要生成一些城市的模型,这时候我们可以使用 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生成城市群的更多相关文章
- [Blender] Blender 获取 Instance 的信息
最近希望用 Blender 生成 Instance 的能力,将生成的导入游戏引擎中来渲染.Instance Rendering 是个好东西,特别是针对大场景,渲染成批的基本相同的物体的时候非常有用. ...
- 教你用webgl快速创建一个小世界
收录待用,修改转载已取得腾讯云授权 作者:TAT.vorshen Webgl的魅力在于可以创造一个自己的3D世界,但相比较canvas2D来说,除了物体的移动旋转变换完全依赖矩阵增加了复杂度,就连生成 ...
- Oracle 11g数据库详解(2)
FAILED_LOGIN_ATTEMPTS 用于指定连续登陆失败的最大次数 达到最大次数后,用户会被锁定,登陆时提示ORA-28000 UNLIMITED为不限制 精确无误差 是 实时 PASSWOR ...
- blender导入灰度图生成地形模型
安装软件 在此处下载blender并安装. 添加平面 1.打开blender,右键删除初始的立方体. 2.shift+a选择平面添加进场景: 3.按下s键鼠标拖动调节平面大小确定后按下鼠标左键: 4. ...
- Blender 之修改器代码分析
Blender的修改器(modifier)模块,默认界面右下块(Property)面板的扳手,分类(修改.生成.形变.模拟)列出所有的修改器.也可以空格键 ...
- Blender 之 Splash 代码分析
注:以下内容基于 Blender 2.7x 版本工程,其它低版本可能有改动. Blender启动完成时,会出现一个画面,英文叫Splash.默认是打开的,可以在设置里关闭.在文件菜单里点击用户首选项( ...
- Blender 脚本之 Operator 初探
addon(插件)用来扩展 Blender 的功能,跟其他软件里的 plugin(插件)一样,去掉不会影响软件的运行.插件可以加到 Blender 的用户偏好设置目录里,或者就在你所编辑的.blend ...
- Blender使用基础
快捷键 -- 鼠标放在“大纲视图” -- .(小键盘) 定位到所选对象(该键的英文为period) -- 鼠标放在“3D视图” -- n 打开3D视图右面属性面板(把鼠标放在面板上,按F5可以左右切 ...
- blender源代码编译
blender源码路径(svn):https://svn.blender.org/svnroot/bf-blender/trunk/blender/ 依赖外部Lib(svn):https://svn. ...
- (一)使用Blender导出GameMaker支持的模型脚本
源于YOYO论坛帖子:http://gmc.yoyogames.com/index.php?showtopic=603723 既然想做3D,那就先从模型的导入开始,具体的源文件,可以在“(二)使用等高 ...
随机推荐
- 深入理解ConcurrentHashMap
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作,调用了HashMap的putVal(),具体原因: 假设两个线程A.B都在进行put操作,并且hash函数计算 ...
- Python—键盘输入input()语句
用法: 简化写法:
- Nuxt Kit 使用日志记录工具
title: Nuxt Kit 使用日志记录工具 date: 2024/9/23 updated: 2024/9/23 author: cmdragon excerpt: 摘要:本文介绍在Nuxt 3 ...
- 使用dynamic debug帮助调试
你一定在kernel source code中看过很多pr_debug()/dev_dbg()/print_hex_dump_debug()吧,这些debug语句提供更多的信息帮助我们了解内核运行流程 ...
- Python | os.path.join() method
Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...
- Pytorch 实现 GAN 网络
Pytorch 实现 GAN 网络 原理 GAN的基本原理其实非常简单,假设我们有两个网络,G(Generator)和D(Discriminator).它们的功能分别是: G 是一个生成网络,它接收一 ...
- dotnet 的LINQ使用
// LINQ (Language Integrated Qyery) 语言集成查询 -- 用来查询的一些操作类库 // 1. LINQ to Objects 主要负责对象的查询 // 2. LINQ ...
- 常见的mysql 函数 字符串函数
1. concat (s1,s2,....sn) 字符串拼接,将 s1,s2,... sn 拼接成一个字符串 : 2. lower(str) 将字符串全部转换成小写 3. upper(str) 将字符 ...
- Vue中如何自定义过滤器 ?
过滤器可以格式化我们所需要的数据格式 : 自定义过滤器分为全局和局部过滤器: 全局过滤器在 main.js 中使用 Vue.direct4ive( 过滤器名字,定义过滤器的具体行为函数 ) : 局部 ...
- KubeKey 升级 KubeSphere 和 Kubernetes 补丁版本实战指南
作者:运维有术 前言 知识点 定级:入门级 KubeKey 如何升级 KubeSphere 补丁版本 KubeKey 如何升级 Kubernetes 补丁版本 KubeSphere 和 Kuberne ...