Blender 资产处理与真实结构重建

# Blender 资产处理与真实结构重建

AI 生成的是资产初稿。Blender 的作用是检查并修整这份初稿:外观展示要轻、要显示正确;动画要能变形;打印要有正确尺寸和壁厚。 三种用途的验收标准不同,不需要对每个模型执行同一套修改器。

# 导入后先检查,不急着改

  1. 用 File → Import → glTF 2.0 导入 GLB,另存 .blend 工作文件。原始 GLB 单独保留。
  2. 在 Outliner 选中目标对象,使用 Frame Selected 聚焦。看不到时先检查隐藏状态、位置和尺度,不要直接把模型放大几千倍。
  3. 在侧栏检查 Dimensions、旋转与缩放。生成坐标不代表真实米制尺寸,先根据业务或实测数据设置单位和尺寸。
  4. 打开线框或统计信息,看面数、薄结构和散落碎片;打开 Face Orientation 检查面朝向。
  5. 切换到材质预览,旋转检查背面和底部,再换灯光看材质。默认正面往往最容易掩盖错误。

当厚度、布尔或其他修改器依赖对象尺度时,在确认尺寸后用 Ctrl+A → Scale 应用缩放。它把当前缩放落实到网格坐标,使后续参数更容易按实际尺寸理解;不是把模型重新缩小到原样。

# 网格清理:每一步解决一个明确问题

操作 适合处理的问题 可能破坏什么
Merge by Distance 重叠顶点、意外重复连接 距离过大会把近邻薄片粘在一起
Delete Loose 不需要的孤立点、边或碎片 有意保留的分离部件也可能被删除
Recalculate Outside 闭合表面法线混乱 对开放薄片不能简单推断哪侧一定是外面
Decimate 静态展示资产面数过多 轮廓、细孔、材质边界可能受损
Remesh 需要重新采样、整理不均匀表面 薄壁和小孔可能消失,原 UV 也可能失效

先复制对象,只改一个问题,再从同一视角比较。不要把所有孔洞都填起来:杯口是合理开口,杯壁上的裂口才可能是缺陷。判断要结合物体用途,而不是机械执行清理菜单。

# Boolean:挖孔、合并和截取

Boolean(布尔运算)将两个形状按空间关系组合:

  • Difference 差集:从底板减去圆柱,得到孔。
  • Union 并集:把相交的形状合成一个体。
  • Intersect 交集:只保留两个物体重叠的部分。

例如给一个底座打通孔:

  1. 创建圆柱作为切割体,调整直径,并让它完全穿过底座。
  2. 选底座,添加 Boolean 修改器,运算选 Difference,对象选圆柱。
  3. 检查修改器预览,必要时使用 Exact 求解器。没有结果时,先检查两个物体是否真实相交、法线和几何是否正常。
  4. 确认结果后在对象模式应用修改器,再隐藏或删除不再需要的切割体。
  5. 看孔边是否出现细长面、自相交或阴影异常;动画用途还可能需要重新组织拓扑。

只隐藏切割体但没有应用修改器,工作文件里仍存在依赖。导出时必须确认目标格式实际包含的是运算后的结果。

# Solidify:给薄片增加壁厚

Solidify(实体化)是沿表面法线方向增加厚度。例如一片灯罩只有单层表面,渲染时可以看见,但不能直接当成具有厚度的打印实体。

操作时选中对象,添加 Solidify,设置 Thickness 和 Offset。Thickness 决定厚度,Offset 控制厚度向哪侧分配。模型缩放和场景单位必须明确,否则数字看起来很小,实际可能偏差很大。

增加厚度后检查尖角和狭窄区域有没有自相交,开口边缘有没有正确封边。最小壁厚取决于材料和加工方式,不存在适用于所有打印机的固定安全值。给模型加厚是在设计新几何,不是在恢复照片里真实的壁厚。

# UV 与 PBR:为什么形状对了,外观还是不对

UV 可以理解为表面坐标表:三维模型的这个位置,应该读取二维纹理的哪个像素。重新拓扑或大幅改几何后,原来的对应关系可能不再有效,需要展开 UV 或重新烘焙。

贴图 记录什么 常见设置与误区
Base Color 表面基础颜色 通常按 sRGB 颜色读取;不应把强烈光照阴影全部当作固有颜色
Roughness 表面微观粗糙程度 通常按非颜色数据读取;数值越小一般越光滑
Metallic 金属属性 是材质参数,不是单纯把亮度调高
Normal 微小表面朝向变化 通常接 Normal Map 节点并按非颜色数据读取;不会改变轮廓
Alpha 透明度信息 还需要正确的透明材质模式;贴图有 alpha 不代表导出后自动透明

烘焙(Baking)就是把高模的细节或复杂着色结果转存到低模可用的贴图里。例如网页使用低面数模型,再用法线贴图保留表面凹凸观感。但杯把轮廓和孔洞不能只靠一张法线贴图完整替代。

模型变紫通常是贴图路径丢失。先在材质节点定位图片,再重新关联;不要用一个随意的颜色把问题盖住。导出 GLB 后重新打开,才知道贴图是否真的随文件交付了。

# 动画资产:重拓扑之后还要绑定

静态摆件通常不需要为了四边形而重做全部网格。角色或机械活动部件才需要额外考虑运动方式:

  1. 角色在肩、肘、膝等区域安排合理边流,避免极端细长面和无意义高密度。
  2. 建立骨骼并分配权重,规定骨骼对顶点的影响。
  3. 用实际动作测试,而不是只看站立姿势;检查塌陷、穿插和纹理拉伸。
  4. 刚性机械部件优先按独立零件组织,设置旋转轴和父子关系,不要把铰链运动当成软组织变形。

三角形也可以做动画,四边形也可能变形很差。重拓扑、骨骼和权重是三个相互配合但不能互相替代的环节。

# 导出给网页时检查什么

先建立一个用途明确的导出集合,只导出需要的对象。根据目标设备减少过密网格、过大纹理和不必要材质,然后通过 glTF 导出为 GLB。

导出后至少检查:文件大小、真实尺寸、物体方向、旋转中心、材质透明度、动画和目标手机流畅度。需要多档质量时,可以保留原始资产,再制作桌面版和移动版,不在唯一原文件上反复减面。

不能只按文件大小推算运行内存。压缩图片在 GPU 中往往要展开为纹理,多个高分辨率贴图可能比网格更占内存。具体网页接入见 数字孪生与 Web 三维展示。

# 插件与 Blender MCP 分别解决什么

方式 使用过程 适合做什么
Hunyuan3D 官方插件 安装仓库的 blender_addon.py,连接已启动的模型 API,再提交素材 从 Blender 内生成并导入资产
Meshy 等平台插件 按平台插件文档安装、配置账号或密钥、提交任务、导入结果 衔接托管生成服务;仍可能按平台规则计费
Blender Python 脚本 在 Blender 环境中执行 bpy 操作 批量命名、导入、导出和可重复的检查
Blender MCP 集成 Agent 通过对应服务调用暴露的 Blender 工具 用自然语言组织多步操作,能力取决于具体实现

MCP 是工具连接方式,不是新的三维生成算法。Agent 可以帮助重复导出几十个模型,但不能仅凭调用成功就认定网格适合制造。第三方插件和脚本可能读写文件或执行代码,先在副本中使用,不把无鉴权控制端口暴露到公网。

# 从 CT / MRI 到真实内部结构

外观照片看不到内部时,需要新的测量数据,而不是不断加强提示词。医学场景中的 CT / MRI 是扫描数据,DICOM 是常见的影像及元数据组织标准,NIfTI 则常用于保存三维医学影像体数据。

在 3D Slicer (opens new window) 中可以按这条路线练习:

  1. 使用已脱敏且获得授权的样例扫描。通过 DICOM 模块导入完整序列,确认方向、层间距和体素间距,不把孤立截图当成完整扫描。
  2. 安装 TotalSegmentator 扩展 (opens new window),重启后选择正确的输入体数据和适用任务。
  3. 执行分割。输出是各个体素属于哪类组织的标记,不是直接得到一个经过认证的器官模型。
  4. 在轴向、冠状、矢状切片中叠加检查,使用 Segment Editor 修正漏分、误分和边界。
  5. 从分割生成表面模型,再按用途导出 STL / OBJ 等格式。平滑、减面会改变边界,需要保留原始分割和扫描。

命令行也可以独立使用 TotalSegmentator,不必依赖 Slicer 界面。下面在已安装匹配 PyTorch 的独立 Python 环境中运行:

# 安装分割工具;首次任务可能下载对应权重。
pip install TotalSegmentator

# CT 与 MR 使用不同任务,输入必须是对应模态的数据。
TotalSegmentator -i ct.nii.gz -o ct-segmentations
TotalSegmentator -i mri.nii.gz -o mr-segmentations --task total_mr
1
2
3
4
5
6

需要更快时,可研究官方支持的 --fast 或指定器官子集,但速度与分辨率、精度存在取舍。不同任务覆盖的结构和许可不同,不能把默认 CT 的类别数套到 MR 或其他子任务。该工具本身不作为临床诊断设备使用,医学结论需要专业人员和合规流程。

机械产品同理:内部需要 CAD、工程图、实测或工业扫描。布尔挖孔是人为设计;扫描分割是从观测中提取;单图生成是基于先验推测。三者即使看起来类似,可信依据也完全不同。

# 面试问答

1. AI 生成模型后,怎样判断能不能直接交付?参考答案

我先按用途定标准。网页展示看形状、材质、加载和手机性能;动画看关节变形、骨骼和权重;打印看单位、闭合性和最小壁厚。然后在 Blender 修整,并重新打开最终导出文件验证。能生成一个 GLB 只说明有了资产初稿,不代表这些条件都满足。

2. 为什么不能从一张外观照片恢复准确内部结构?参考答案

因为照片没有提供内部证据,同样的外观可以对应不同内部设计。生成模型能补一个合理猜测,但不能证明它是真的。我要做真实结构,会使用 CAD、实测或 CT 等扫描数据,再经过分割和校验;给网格加厚或挖洞只是设计操作,不是还原事实。

# 参考资料