4. 三维建模基础:使用Blender创建储能电池柜、逆变器、变压器等基础模型,模型导出与优化
各位同学,欢迎来到第四章。前面我们聊完了数据怎么接、平台怎么搭,现在终于到了「看得见」的部分——三维建模。
说实话,我最早做数字孪生项目时,最头疼的就是建模。不是不会用软件,而是不知道「建到什么程度算够」。你建得太细,浏览器跑不动;建得太粗,甲方又说「这不就是个方块吗?」。嗯,这里面的分寸感,我踩过不少坑。
这一章,我们就用 Blender 来搞定储能站里的三大件:电池柜、逆变器、变压器。我会把我在项目里总结出来的「够用就好」建模法,一步步拆给你看。
4.1 为什么选 Blender?
你可能用过 3ds Max、Maya,或者 C4D。但做数字孪生,我个人习惯用 Blender。原因很简单:
- 免费开源——团队协作不用纠结授权问题
- 轻量——我笔记本上跑十几个项目文件都不卡
- 导出格式全——glTF、FBX、OBJ 一键搞定
- Python 脚本支持——批量建模时能省不少力气
你想想看,如果团队里五个人都要装软件,Blender 零成本部署,是不是很香?
4.2 建模前的准备工作
别急着上手拉方块。先做三件事:
- 收集参考尺寸——去现场拍几张照片,或者找设备手册。我一般会拿卷尺量一下柜门把手的高度,作为比例参考。
- 确定 LOD 层级——LOD0(远距离)用盒子,LOD1(中距离)加细节,LOD2(近距离)才做螺丝纹理。别一上来就雕花。
- 设置单位——Blender 默认是米,但储能柜通常用毫米。改一下:Scene Properties → Units → Millimeters。
4.3 储能电池柜建模(核心案例)
电池柜是储能站里数量最多的设备。一个 20 尺集装箱里可能塞了十几个柜子。所以建模思路必须是「模块化 + 复用」。
4.3.1 基础柜体
操作步骤:
- Shift + A → Mesh → Cube,创建基础立方体
- 按 S 缩放,尺寸设为 600mm × 800mm × 2200mm(标准电池柜尺寸)
- 按 Tab 进入编辑模式,选中顶面,按 I 内插面,做出柜门边框
- 按 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 合并成一个物体
4.4 逆变器与变压器建模
这两个设备相对简单,但各有特点。
4.4.1 逆变器
逆变器通常挂在墙上或立在柜顶。它的特征是:
- 扁长方体(约 400mm × 300mm × 150mm)
- 正面有 LCD 屏幕(用平面 + 贴图模拟)
- 底部有散热鳍片(用多个薄片排列)
我个人习惯把屏幕单独分一个材质槽,这样在数字孪生平台里可以动态更新显示内容。比如显示实时功率、温度等数据。
4.4.2 变压器
变压器最显眼的是顶部的绝缘套管和底部的散热片。建模时:
- 主体用圆柱体,顶部略收窄(按 S 缩放顶部环边)
- 套管用多个圆柱体堆叠,每个比上一个细一点
- 散热片用阵列修改器,沿圆周排列
这里有个坑:变压器的散热片通常很密,如果全部用实体建模,面数轻松破万。我的做法是用法线贴图来模拟散热片纹理,只在近距离 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 优化三板斧
模型导出前,做这三步优化:
- 减面——用 Decimate 修改器,把面数降到原来的 30%。肉眼几乎看不出区别,但性能提升巨大。
- 合并材质——把多个同色材质合并成一个。比如所有灰色金属件用同一个材质,减少 Draw Call。
- 删除隐藏面——柜子背面、内部看不到的面,直接删掉。别心疼,用户又不会钻进去看。
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 本章知识体系
下面这张图,帮你理清本章的核心逻辑:
这张图把本章内容串起来了。从左到右,先建三大设备,再统一做导出优化。核心目标就一个:让模型在数字孪生平台里跑得动、看得清。
4.7 本章小结
好了,这一章的内容就这些。我们做了三件事:
- 用 Blender 建了电池柜、逆变器、变压器的基础模型
- 学会了阵列修改器、内插面、布尔运算这些实用技巧
- 掌握了 glTF 导出和模型优化的标准流程
说实话,建模这件事,练得越多手感越好。我建议你找个真实的储能柜照片,照着建一遍。第一次可能花两小时,第二次就只要四十分钟了。
下一章我们会把这些模型导入到数字孪生平台里,给它们加上数据驱动。到时候你会发现,模型动起来的那一刻,才是真正「活」了。
公众号:蓝海资料掘金营,微信deep3321