引言

计算机专业硕士在读,主要研究方向是特定目标大斜视角目标检测与定位。因为要做的是特定目标,公开数据集较少,经过多方考虑还是决定要自建数据集。最终考虑的解决方案还是 Blender + Python API 的方式,项目起名叫RealEarthStudio
这系列文章主要对开发过程进行记录,方便我个人后续查看,也给相类似方向的同学提供一个思路。

【项目目录】:项目目录链接


一、Blender软件介绍

Blender 是一款功能强大、完全开源且免费的跨平台 3D 创作套件,由荷兰开发者 Ton Roosendaal 于 1995 年发起,并自 2002 年起在 GNU GPL 协议下开源。它集成了建模、雕刻、动画、模拟、渲染、合成、视频剪辑、游戏开发乃至机器学习数据生成等多种功能于一体,广泛应用于影视特效、游戏开发、建筑可视化、科学可视化、教育研究以及人工智能训练数据合成等领域。

Blender 的核心优势在于其活跃的社区生态、高度可定制性以及对现代图形技术(如 Cycles 实时光追渲染器、Eevee 实时渲染引擎、几何节点系统等)的快速集成。近年来,随着 Python API 的完善和自动化脚本支持的增强,Blender 也逐渐成为科研与工程领域生成合成数据(Synthetic Data)的重要工具。

1.1 Blender 与其他主流 3D 建模软件对比

特性 Blender Autodesk Maya Autodesk 3ds Max Cinema 4D
授权模式 ✅ 完全免费开源(GPL) ❌ 商业付费(高昂订阅费) ❌ 商业付费 ❌ 商业付费(有学生版)
跨平台支持 ✅ Windows / macOS / Linux ✅ Windows / macOS ✅ Windows(macOS 支持有限) ✅ Windows / macOS
学习资源 ✅ 极丰富(官方教程 + 社区) ✅ 专业培训多(影视行业标准) ✅ 游戏/建筑行业资源多 ✅ Motion Design 领域强
建模能力 ⭐ 强大(多边形/曲线/布尔/雕刻) ⭐⭐ 行业标杆(尤其角色建模) ⭐⭐ 建筑/产品建模优秀 ⭐ 中等(侧重易用性)
动画与绑定 ✅ 功能完整,但流程略复杂 ✅✅ 行业标准(影视/角色动画) ✅ 游戏动画支持好 ✅ MoGraph 工具极强(动态图形)
渲染引擎 ✅ Cycles(物理准确)、Eevee(实时) Arnold(默认)、V-Ray 等插件 V-Ray、Corona、Arnold 插件 Physical Render、Redshift(集成好)
脚本与自动化 ✅ Python API 完善,适合批量生成数据 ✅ MEL / Python,但封闭生态 ✅ MAXScript / Python ✅ Python / COFFEE,但扩展性较弱
实时协作/云集成 ❌ 较弱 ✅ Autodesk Cloud 生态 ✅ Autodesk 生态 ✅ 与 Adobe After Effects 深度集成
适合人群 学生、独立创作者、科研人员、AI开发者 影视公司、大型工作室 游戏公司、建筑可视化团队 广告、动态图形设计师

1.2 总结

(1)Blender 的优点

  • 完全免费开源:无授权费用,可自由修改源码,适合预算有限的个人或机构(如高校、军校)。
  • 功能全面:从建模到渲染、合成、视频剪辑一应俱全,无需切换多个软件。
  • 强大的社区支持:全球用户贡献插件、教程、资产库(如 BlenderKit)。
  • Python 自动化能力强:非常适合用于批量生成带标注的 3D 数据集(如 RGB-D 图像、点云、分割掩码),在 AI 训练中极具价值。
  • 持续快速迭代:每 3 个月发布新版本,紧跟技术前沿(如几何节点、体积渲染、AI 辅助建模)。

(2)Blender 的缺点

  • 操作逻辑独特:快捷键和交互方式与其他商业软件差异较大,初学者需适应。
  • 工业级管线兼容性有限:在大型影视/游戏项目中,与 Maya/3ds Max 的资产交换可能存在格式转换问题(尽管支持 FBX、USD 等)。
  • 某些专业模块较弱:如高级角色绑定(Rigging)工具不如 Maya 成熟,流体/布料模拟精度略逊于 Houdini。

(3)其他软件简要评价

  • Maya:影视动画行业的“黄金标准”,绑定和动画系统无可替代,但价格昂贵,学习曲线陡峭。
  • 3ds Max:在建筑可视化和游戏建模中广泛应用,插件生态成熟(如 Forest Pack、RailClone),但界面老旧。
  • Cinema 4D:以“易上手”著称,MoGraph 模块让动态图形设计极为高效,常用于广告和短视频制作,但建模和仿真能力相对有限。

二、Blender软件下载

2025年11月18日 Blender 更新了 5.0 版本。

  1. 官方网站链接:Blender官方网站
    Blender主页

  2. 点击 Download Blender 5.0 按钮,跳转进入如下页面:
    Blender下载页面
    如果是 Windows 系统直接点击 Download Blender 即可下载,Windows下Blender安装文件为 *.smi 文件。
    如果是其他操作系统就根据自己的需要选择下载即可。

  3. 软件安装部分基本和主流软件一样,这里就不过多赘述了,安装完毕后给大家看一下软件界面。
    Blender软件界面

这里要说明的是:Blender是一个免费软件,第一次点击来应该会出现一个捐助(Donate)界面,大家可以根据自己的能力给软件制作团队一点支持。
Blender捐助


三、在Blender中安装BlenderGIS插件

BlenderGIS 是一个开源的 Blender 插件(Add-on),旨在将地理空间数据(Geospatial Data)直接导入到 Blender 3D 场景中,实现真实世界地形、影像、矢量地图等 GIS(地理信息系统)数据的可视化与三维建模。它由开发者 domlysz 维护,广泛应用于城市规划、环境模拟、军事仿真、灾害建模和科研可视化等领域。

简单来说:BlenderGIS = Blender + Google Earth + QGIS 的部分功能

3.1 核心功能

(1)自动下载并导入真实地形高程数据

  • 支持从公开在线服务(如 SRTM、ASTER GDEM、OpenTopography)获取数字高程模型(DEM)。
  • 自动构建带高度信息的 3D 地形网格。

(2)叠加卫星/航拍影像(底图)

  • 可从多种在线地图服务(如 Google Maps、Bing Maps、OpenStreetMap、ESRI)下载对应区域的正射影像(Orthophoto)。
  • 自动将影像作为纹理贴图到地形上,实现“所见即真实”的地表效果。

(3)导入矢量地理数据(如道路、建筑轮廓)

  • 支持 Shapefile(.shp)、GeoJSON、KML 等常见 GIS 矢量格式。
  • 可将道路、河流、行政边界、建筑物轮廓等转换为 Blender 中的曲线或网格对象,并保留属性信息。

(4)坐标系统支持

  • 支持 WGS84(经纬度)、UTM 等常用地理坐标系。
  • 可在 Blender 中保持真实世界比例和地理位置(单位:米)。

(5)批量处理与自动化

  • 结合 Blender 的 Python API,可编写脚本自动下载特定区域的 GIS 数据并生成场景,非常适合用于大规模环境建模或 AI 训练数据生成(例如自动驾驶仿真中的城市场景)。

3.2 典型应用场景

领域 应用示例
城市规划 构建数字孪生城市模型,叠加规划方案进行可视化分析
军事仿真 快速生成作战区域的三维地形,用于战术推演或无人机路径规划
环境科学 模拟洪水淹没、滑坡风险区域,结合真实地形进行灾害评估
游戏/影视 制作基于真实地点的开放世界场景(如还原某座山脉或城市)
AI/计算机视觉 生成带地理坐标的合成数据集,用于遥感图像识别、SLAM 或无人机导航训练

3.3 安装方法

  1. 从 GitHub 下载插件:
    官方仓库:https://github.com/domlysz/BlenderGIS
    GitHub有的时候比较卡,请耐心等候。
    这里给出已经下好的链接:BlenderGIS插件
    在这里插入图片描述
    下载好之后不用解压!

  2. 在 Blender 菜单栏中:

    • 编辑(Edit)偏好设置(Preferences)插件(Add-ons)
    • 点击 从硬盘安装,直接选择下载的 .zip 文件
    • 启用插件(搜索 “BlenderGIS” 并勾选) 在这里插入图片描述
  3. 导入地图
    使用时点击确定之后可能会出现 No ImageIO 报错,这是因为首次启用插件时,它将尝试下载 ImageIO 模块所需的名为 freeimage 的额外库。如果下载失败,则底图功能将无法使用,并会引发 No ImageIO 错误。在这种情况下,可以手动安装 ImageIO 所需的库。
    在这里插入图片描述
    可以在GitHub中下载所需的库:BlenderGIS需要的库(GitHub)
    也可以使用我上传的:FreeImage库(Windows版)
    在这里插入图片描述
    将下载好的文件粘贴至: C:\Users\<用户名>\AppData\Roaming\Blender Foundation\Blender\<Blender版本号>\scripts\addons\BlenderGIS-master\core\lib\imageio\resources
    重启Blender软件即可正常使用。
    在这里插入图片描述

⚠️ 注意:由于部分地图服务(如 Google Maps)限制爬取,建议优先使用 OpenStreetMapBing Maps(插件内置支持较好)。

3.4 优点与局限性

(1)优点

  • 免费开源:完全集成于 Blender 生态,无额外成本。
  • 真实地理精度:支持真实坐标和比例,适合科学与工程应用。
  • 操作直观:通过 GUI 即可完成从地图选取到 3D 场景生成的全过程。
  • 扩展性强:可结合 Blender 的材质、粒子、物理模拟等功能,增强场景表现力(如添加植被、水流、建筑模型等)。

(2)局限性

  • 依赖网络:需联网下载 DEM 和影像数据,离线使用受限。
  • 数据分辨率有限:免费 DEM(如 SRTM)通常为 30 米或 90 米精度,不适合微观地形;高精度数据需自行提供 GeoTIFF。
  • 地图服务稳定性:部分在线服务可能因政策变更而失效(如 Google Maps 反爬机制严格)。
  • 不支持动态更新:生成的是静态模型,无法实时同步地图变化。

3.5 与其他 GIS 可视化工具对比

工具 特点 与 BlenderGIS 对比
QGIS + Qgis2threejs 开源 GIS 软件,可导出简单 3D 场景 功能较弱,渲染效果远不如 Blender
ArcGIS Urban / CityEngine 专业城市建模工具,规则化生成建筑 商业软件昂贵,学习成本高,灵活性低
CesiumJS / Cesium for Unreal Web/引擎级全球 3D 地理可视化 实时性强,但不适合精细建模与离线渲染
BlenderGIS 免费 + 高质量渲染 + 完整 3D 编辑能力 最适合需要“真实地理+艺术级表现”的用户

四、Blender的常用快捷键

类别 功能 快捷键 说明
通用操作 保存文件 Ctrl + S 保存当前 .blend 文件
打开文件 Ctrl + O 打开已有 .blend 文件
新建文件 Ctrl + N 创建新项目
撤销 Ctrl + Z 撤销上一步操作
重做 Ctrl + Shift + ZCtrl + Y 重做被撤销的操作
视图导航 旋转视图 中键拖动 围绕场景旋转视角
平移视图 Shift + 中键拖动 移动视图中心
缩放视图 滚轮滚动 或 Ctrl + 中键拖动 放大/缩小视图
视图对齐到选中物体 Numpad .(小键盘句号) 聚焦选中物体
前视图 Numpad 1 正面视角
侧视图 Numpad 3 右侧视角
顶视图 Numpad 7 顶部视角
透视/正交切换 Numpad 5 切换投影模式
相机视图 Numpad 0 进入相机视角
选择操作 选择物体 鼠标左键 默认选择方式(可在设置中改为右键)
框选 B 拖拽框选多个物体或顶点
圈选 C 按住左键画圈选择,按 Esc 退出
全选 A 第一次全选,再按一次取消全选
反选 Ctrl + I 反转当前选择状态
选择相似元素 Shift + G 在编辑模式下选择相似的顶点/边/面
编辑模式操作 进入/退出编辑模式 Tab 在物体模式与编辑模式间切换
移动 G Grab(抓取)移动选中项
旋转 R Rotate 旋转
缩放 S Scale 缩放
复制 Shift + D Duplicate 复制并移动副本
删除 XDelete 弹出删除菜单(顶点、边、面等)
挤出 E Extrude 沿法向挤出面或边
环切 Ctrl + R Loop Cut 添加环形切割线
填充面 F Fill 在选中的边或顶点间创建面
合并顶点 M Merge 合并选中顶点(可选方式)
倒角 Ctrl + B(顶点/边)
Ctrl + Shift + B(仅顶点)
Bevel 倒角处理
细分 W → Subdivide 对选中几何体细分(新版可能需在右键菜单中)
物体操作 添加物体 Shift + A 弹出添加菜单(网格、曲线、灯光等)
应用变换 Ctrl + A 应用位置、旋转、缩放等变换
原点操作 Ctrl + Alt + Shift + C(旧版)
或通过右键菜单
设置原点(新版建议使用 Object > Set Origin)
父级绑定 Ctrl + P 将选中物体设为子级
其他实用 渲染图像 F12 使用当前相机渲染静态图
查看渲染结果 F11 打开/关闭渲染结果窗口
播放动画 SpaceAlt + A 播放时间轴动画(取决于设置)
打开侧边栏 N 显示/隐藏右侧属性面板
打开工具栏 T 显示/隐藏左侧工具栏(部分版本已整合)
搜索菜单 F3(Windows/Linux)
Space(macOS,若未改键)
快速搜索操作命令

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐