4. 三维建模基础:使用Blender创建储能电池柜、逆变器、变压器等基础模型,模型导出与优化

各位同学,欢迎来到第四章。前面我们聊完了数据怎么接、平台怎么搭,现在终于到了「看得见」的部分——三维建模。

说实话,我最早做数字孪生项目时,最头疼的就是建模。不是不会用软件,而是不知道「建到什么程度算够」。你建得太细,浏览器跑不动;建得太粗,甲方又说「这不就是个方块吗?」。嗯,这里面的分寸感,我踩过不少坑。

这一章,我们就用 Blender 来搞定储能站里的三大件:电池柜、逆变器、变压器。我会把我在项目里总结出来的「够用就好」建模法,一步步拆给你看。

4.1 为什么选 Blender?

你可能用过 3ds Max、Maya,或者 C4D。但做数字孪生,我个人习惯用 Blender。原因很简单:

  • 免费开源——团队协作不用纠结授权问题
  • 轻量——我笔记本上跑十几个项目文件都不卡
  • 导出格式全——glTF、FBX、OBJ 一键搞定
  • Python 脚本支持——批量建模时能省不少力气

你想想看,如果团队里五个人都要装软件,Blender 零成本部署,是不是很香?

4.2 建模前的准备工作

别急着上手拉方块。先做三件事:

  1. 收集参考尺寸——去现场拍几张照片,或者找设备手册。我一般会拿卷尺量一下柜门把手的高度,作为比例参考。
  2. 确定 LOD 层级——LOD0(远距离)用盒子,LOD1(中距离)加细节,LOD2(近距离)才做螺丝纹理。别一上来就雕花。
  3. 设置单位——Blender 默认是米,但储能柜通常用毫米。改一下:Scene Properties → Units → Millimeters。
我的小技巧: 在项目文件夹里建一个「参考图」子目录,把设备正视图、侧视图、俯视图都放进去。Blender 里可以直接拖进去当背景图,对齐建模特别方便。

4.3 储能电池柜建模(核心案例)

电池柜是储能站里数量最多的设备。一个 20 尺集装箱里可能塞了十几个柜子。所以建模思路必须是「模块化 + 复用」。

4.3.1 基础柜体

操作步骤:

  1. Shift + A → Mesh → Cube,创建基础立方体
  2. 按 S 缩放,尺寸设为 600mm × 800mm × 2200mm(标准电池柜尺寸)
  3. 按 Tab 进入编辑模式,选中顶面,按 I 内插面,做出柜门边框
  4. 按 E 挤出,做出柜门的厚度(约 20mm)

为什么会这样?因为真实柜体就是钣金折弯出来的,内插面模拟的就是门板嵌入的效果。我在第一个项目里直接拉了个实心方块,结果渲染出来像块墓碑……后来才学会这个内插技巧。

4.3.2 散热格栅

电池柜侧面通常有散热孔。别一个个挖洞,用阵列修改器:

1. 创建一个长条形立方体(10mm × 200mm × 5mm)
2. 添加 Array 修改器
   - Count: 20
   - Relative Offset: Y 方向 0.05
3. 用 Boolean 修改器从柜体侧面挖掉这些条

这样做的优点是:修改 Count 就能调整格栅密度,不用手动复制。我有个项目甲方临时说「散热孔要加密」,我改了个数字就搞定了,当场收获好评。

4.3.3 把手与指示灯

这些是「画龙点睛」的小细节。但注意:

  • 把手用圆柱体 + 环切(Ctrl + R)做造型,不要用细分曲面,面数太多
  • 指示灯直接用 UV 球体压扁,然后给个自发光材质
  • 所有小零件做完后,Ctrl + J 合并成一个物体
注意: 合并前记得应用所有修改器(Apply)。否则导出到 Unity 或 Three.js 时,修改器会丢失,模型直接崩掉。我曾经因为这个在客户演示时翻过车……

4.4 逆变器与变压器建模

这两个设备相对简单,但各有特点。

4.4.1 逆变器

逆变器通常挂在墙上或立在柜顶。它的特征是:

  • 扁长方体(约 400mm × 300mm × 150mm)
  • 正面有 LCD 屏幕(用平面 + 贴图模拟)
  • 底部有散热鳍片(用多个薄片排列)

我个人习惯把屏幕单独分一个材质槽,这样在数字孪生平台里可以动态更新显示内容。比如显示实时功率、温度等数据。

4.4.2 变压器

变压器最显眼的是顶部的绝缘套管和底部的散热片。建模时:

  1. 主体用圆柱体,顶部略收窄(按 S 缩放顶部环边)
  2. 套管用多个圆柱体堆叠,每个比上一个细一点
  3. 散热片用阵列修改器,沿圆周排列

这里有个坑:变压器的散热片通常很密,如果全部用实体建模,面数轻松破万。我的做法是用法线贴图来模拟散热片纹理,只在近距离 LOD 才显示真实几何体。

4.5 模型导出与优化

模型建好了,怎么喂给数字孪生平台?这一步很多人会忽略,但恰恰是项目成败的关键。

4.5.1 导出格式选择

格式 适用场景 注意事项
glTF(.glb) Web 端、Three.js 支持 PBR 材质,文件小
FBX Unity、Unreal 动画支持好,但材质可能丢失
OBJ 通用格式 不支持动画,纹理需单独加载

我个人强烈推荐 glTF。为什么?因为它是为 Web 3D 而生的格式,支持金属度、粗糙度这些 PBR 参数,而且文件体积比 FBX 小 30%-50%。

4.5.2 优化三板斧

模型导出前,做这三步优化:

  1. 减面——用 Decimate 修改器,把面数降到原来的 30%。肉眼几乎看不出区别,但性能提升巨大。
  2. 合并材质——把多个同色材质合并成一个。比如所有灰色金属件用同一个材质,减少 Draw Call。
  3. 删除隐藏面——柜子背面、内部看不到的面,直接删掉。别心疼,用户又不会钻进去看。
经验之谈: 我做过一个 50 台设备的储能站模型,优化前 120 万面,浏览器直接卡死。优化后降到 8 万面,手机端都能流畅运行。你想想看,这差距有多大。

4.5.3 导出设置

以 glTF 为例,导出时注意:

File → Export → glTF 2.0 (.glb)

关键设置:
- Include: 勾选 Selected Objects(只导出选中物体)
- Transform: 勾选 +Y Up(适配 Three.js 坐标系)
- Geometry: 勾选 Apply Modifiers(应用修改器)
- Materials: 勾选 Export Materials(导出材质)
- Compression: 勾选 Draco(网格压缩,可再减 50% 体积)

嗯,这里要特别提醒:Draco 压缩虽然好,但需要加载解码器。如果你的平台不支持,就别勾。我有个项目就是忘了这茬,结果模型加载出来全是马赛克……

4.6 本章知识体系

下面这张图,帮你理清本章的核心逻辑:

Blender 三维建模 储能电池柜 逆变器 变压器 柜体 + 门板 散热格栅 LCD 屏幕 散热鳍片 绝缘套管 散热片 模型导出与优化 减面 + 合并材质 glTF 导出 + Draco 压缩 目标:轻量、可复用、适配数字孪生平台

这张图把本章内容串起来了。从左到右,先建三大设备,再统一做导出优化。核心目标就一个:让模型在数字孪生平台里跑得动、看得清。

4.7 本章小结

好了,这一章的内容就这些。我们做了三件事:

  • 用 Blender 建了电池柜、逆变器、变压器的基础模型
  • 学会了阵列修改器、内插面、布尔运算这些实用技巧
  • 掌握了 glTF 导出和模型优化的标准流程

说实话,建模这件事,练得越多手感越好。我建议你找个真实的储能柜照片,照着建一遍。第一次可能花两小时,第二次就只要四十分钟了。

下一章我们会把这些模型导入到数字孪生平台里,给它们加上数据驱动。到时候你会发现,模型动起来的那一刻,才是真正「活」了。

课后练习: 用本章学到的方法,建一个你身边最常见的电气设备(比如配电箱、充电桩)。导出为 glTF 格式,用 three.js 官方查看器 打开看看效果。注意控制面数在 5000 面以内。

公众号:蓝海资料掘金营,微信deep3321