mcpField
B
blender-export-pipelines

blender-export-pipelines

github.com/el4cteo创意与媒体569121 次安装2 周前更新
代码仓库

关于 blender-export-pipelines

面向 Blender 资产导出的技能,适用于游戏引擎、Web 格式和交换流程。提供经过测试的预设、格式指南、导出前检查,以及对网格、骨架、材质和动画的导出后验证。

主要功能

  1. 01适用于引擎和格式的预设
  2. 02批量导出指定对象
  3. 03导出前资产检查清单
  4. 04网格、骨架、材质和动画指南
  5. 05导出验证与重新导入检查

适用场景

  1. 01向 Unreal 或 Unity 导出骨骼资产
  2. 02为 Web 或 Godot 准备 GLB 资产
  3. 03批量导出多个对象
  4. 04导出后检查比例和动画

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/el4cteo/blender-skills --skill blender-export-pipelines

安装后在 Claude Code 中输入/blender-export-pipelines确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
godot-web.md
roblox.md
unity.md
unreal.md
scripts/
_bpyx.py
export_asset.py

详细介绍

导出流水线

执行模型位于 blender-core。导出之前,请运行 blender-asset-qa(如需检查预算,还要运行 blender-game-optimization)。

一次调用

scripts/export_asset.py -- --preset unreal_skeletal --objects SK_Hero --out //export/SK_Hero.fbx
scripts/export_asset.py -- --preset web --collection Export --out //export/scene.glb
scripts/export_asset.py -- --preset unity --objects SM_A SM_B SM_C --batch --out //export/x.fbx   # one file each, at origin

预设:roblox、roblox_gltf、unity、unity_skeletal、unreal、unreal_skeletal、godot、web、gltf、usd。使用 --set key=value 传入任意导出器关键字参数。每个预设都经过往返测试,可保持缩放比例并避免骨架缩放 100×。

引擎参考(仅加载所需内容)

通用导出前检查清单

  1. 缩放:场景单位缩放为 1.0,对象缩放为 1,并已应用旋转(有意保留对象变换的情况除外)。预设会处理单位转换。
  2. 引擎所需的枢轴/原点:道具位于底部中心,角色位于世界原点、双脚之间,朝向 -Y(Blender 的正面)。每个预设都会将其转换为引擎的前向。
  3. 修改器:预设会导出求值后的网格。保留镜像、倒角和加权法线;布尔运算会转换为实际几何体。
  4. 法线:会导出自定义/加权法线。使用平滑着色,并将硬边标记为锐边。
  5. 三角化:FBX 预设会进行三角化(use_triangles),以确保烘焙与引擎切线一致。glTF 始终会进行三角化。
  6. 材质:仅支持图像纹理 → Principled 节点链,名称使用 M_*,纹理使用 T_*。程序化节点不会导出,因此请先烘焙。
  7. 骨架:仅包含变形骨骼,不包含末端骨骼;静止姿势 = 绑定姿势;每个顶点最多 4 个权重;根骨骼位于原点。
  8. 动画:每个片段使用一个动作,命名为 Rig_Clip。将约束/IK 烘焙为关键帧(blender-animation)。FBX 会根据预设设置导出活动/NLA 动作;glTF 的 ACTIONS 模式会导出所有带有骨架插槽的动作。
  9. 命名:名称必须唯一、使用 ASCII 字符且不含空格。引擎在重新导入时会按名称识别材质/网格。

格式选择

需求格式
Unity、Unreal(骨骼模型最稳定)FBX
Godot、Web、Roblox(受支持)、Unreal 5.x Interchange、Blender↔BlenderglTF 2.0(.glb)
电影/VFX、Omniverse、Apple AR(.usdz)、布局交换USD
用于打印/CAD 的静态几何体OBJ / STL(wm.obj_export、wm.stl_export)
点缓存/变形模拟Alembic(wm.alembic_export)

导出后验证(必需)

  • 脚本会返回 ok、文件大小,以及 .glb 的解析摘要(网格、材质、图像、动画、蒙皮、三角面、扩展)。请与预期结果比较。
  • 对于 FBX/USD:重新导入到空场景(import_scene.fbx / wm.usd_import),并检查 dimensions、骨架缩放(必须为 1,而不是 100)和动作数量。
  • 在引擎中:对照参考物检查缩放(UE 人形模型 180 cm、Unity 胶囊体 2 m、Roblox 角色 5 studs)、法线/平滑、法线贴图的绿色通道,以及动画根运动。

集合导出器(一键重新导出,4.2+)

参见 blender-scene-setup:collection.exporters 会按集合存储格式和设置,bpy.ops.wm.collection_export_all() 可重新导出所有内容。

注意事项

  • FBX 的 use_tspace 在多边形面上会静默失败。请先三角化(预设会执行此操作)。
  • bake_space_transform(Apply Transform)仍处于实验阶段。仅用于 Unity 静态网格,切勿与骨架一起使用。
  • glTF 会导出通过槽位/NLA 关联的动作。骨架上没有用户的动作会被跳过(export_animation_mode 选项:ACTIONS、ACTIVE_ACTIONS、NLA_TRACKS、SCENE、BROADCAST)。
  • glTF 的图像纹理必须为 PNG/JPEG/WebP 格式。EXR/TIFF 会被转换(export_image_format)。
  • 链接的库数据可以正常导出,但如果需要先修改,请将其设为本地数据或创建覆盖。
  • 形状键:FBX 会将其导出为混合形状,glTF 会将其导出为变形目标(export_morph)。骨架修改器之前的修改器可能会阻止 FBX 导出形状键(请先应用这些修改器)。

评论

支持 Markdown