关于 blender-export-pipelines
面向 Blender 资产导出的技能,适用于游戏引擎、Web 格式和交换流程。提供经过测试的预设、格式指南、导出前检查,以及对网格、骨架、材质和动画的导出后验证。
主要功能
- 01适用于引擎和格式的预设
- 02批量导出指定对象
- 03导出前资产检查清单
- 04网格、骨架、材质和动画指南
- 05导出验证与重新导入检查
适用场景
- 01向 Unreal 或 Unity 导出骨骼资产
- 02为 Web 或 Godot 准备 GLB 资产
- 03批量导出多个对象
- 04导出后检查比例和动画
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ el4cteo/ blender-skills --skill blender-export-pipelines安装后在 Claude Code 中输入/blender-export-pipelines确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/godot-web.mdroblox.mdunity.mdunreal.mdscripts/_bpyx.pyexport_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×。
引擎参考(仅加载所需内容)
- references/roblox.md:MeshParts、头像身体(R15)、配件、分层服装笼、SurfaceAppearance、限制
- references/unity.md:FBX 设置、Humanoid 骨架、URP/HDRP 贴图、动画片段
- references/unreal.md:静态/骨骼 FBX、根骨骼、碰撞 UCX、LOD、Nanite、ORM/DirectX
- references/godot-web.md:glTF/GLB、导入后缀、three.js/Babylon、压缩、KHR 扩展
通用导出前检查清单
- 缩放:场景单位缩放为 1.0,对象缩放为 1,并已应用旋转(有意保留对象变换的情况除外)。预设会处理单位转换。
- 引擎所需的枢轴/原点:道具位于底部中心,角色位于世界原点、双脚之间,朝向 -Y(Blender 的正面)。每个预设都会将其转换为引擎的前向。
- 修改器:预设会导出求值后的网格。保留镜像、倒角和加权法线;布尔运算会转换为实际几何体。
- 法线:会导出自定义/加权法线。使用平滑着色,并将硬边标记为锐边。
- 三角化:FBX 预设会进行三角化(
use_triangles),以确保烘焙与引擎切线一致。glTF 始终会进行三角化。 - 材质:仅支持图像纹理 → Principled 节点链,名称使用
M_*,纹理使用T_*。程序化节点不会导出,因此请先烘焙。 - 骨架:仅包含变形骨骼,不包含末端骨骼;静止姿势 = 绑定姿势;每个顶点最多 4 个权重;根骨骼位于原点。
- 动画:每个片段使用一个动作,命名为
Rig_Clip。将约束/IK 烘焙为关键帧(blender-animation)。FBX 会根据预设设置导出活动/NLA 动作;glTF 的ACTIONS模式会导出所有带有骨架插槽的动作。 - 命名:名称必须唯一、使用 ASCII 字符且不含空格。引擎在重新导入时会按名称识别材质/网格。
格式选择
| 需求 | 格式 |
|---|---|
| Unity、Unreal(骨骼模型最稳定) | FBX |
| Godot、Web、Roblox(受支持)、Unreal 5.x Interchange、Blender↔Blender | glTF 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