Export Pipeline 是一个面向 Blender 资产交付的导出流程技能,目标是产出经过验证、可直接被目标引擎使用的导出文件,确保缩放、轴向、轴心和数据正确。
用途 适用于最终资产交付、引擎导入准备、动画/骨骼导出,以及模块化套件的批量导出。
导出前门禁 导出前必须通过 asset-optimization 验证(PASS)。工作流为:验证 PASS → 导出设置 → 测试导出 → 引擎验证 → 修复问题 → 最终导出 → 文档记录。
格式选择
- FBX:适合 Unreal、旧版 Unity、动画。
- GLTF/GLB:适合 Web、Godot、现代 Unity。
- OBJ:适合静态网格交换(无骨骼)。
- USD:适合管线、VFX、多资产。
- Alembic:适合 VFX 缓存、雕刻动画。
FBX 设置(游戏默认) Scale 1.0;Apply Scalings 为 FBX All;Forward 为 -Z Forward;Up 为 Y Up;Apply Unit 开启;Mesh 开启;Armature 开启(如有骨骼);Bake Animation 开启(如有动画);Path Mode 为 Copy(嵌入贴图)。
GLTF 设置 格式为 GLB(单文件)或 GLTF Separate;Include 为 Selected Objects;Transform 为 +Y Up;Compression 为 Draco(若引擎支持)。
导出验证矩阵 需检查缩放(在引擎中测量已知尺寸)、轴心(验证落地接触/握持点)、前向轴(对照引擎约定)、法线(在引擎中检查着色)、材质(验证槽位数量与贴图)、动画(在引擎中播放动作)、碰撞(单独导入 COL_ 网格)。
引擎特定说明
- Unreal Engine:Scale 1.0 在 UE 中等于 1cm(需确认项目,可能需要 0.01 导出缩放);导入法线与切线;单独导入碰撞网格;自动 LOD 命名如 SM_Asset_LOD0。
- Unity:Scale 1.0 通常正确;现代管线优先 GLTF;角色使用 Humanoid 骨骼映射。
- Godot:优先 GLTF/GLB;默认 +Y up。
碰撞导出
- 渲染网格与碰撞分开导出;2. 碰撞使用简单凸包或盒体;3. 命名 SM_Asset_COL;4. 碰撞网格不带材质;5. 导出前应用变换。
动画导出 每个导出文件单个动作(或记录动作列表);采样率默认 30fps;导出前烘焙约束;骨骼与蒙皮网格放在同一文件;骨骼上不得有未应用的缩放。
批量导出(模块化套件)
- 选择 COL_Export 集合;2. 按项目规范逐个模块导出或合并图集;3. 每种模块类型保持一致的原点;4. 在 README 中记录网格吸附点。
MCP 集成 通过 MCP 选择导出集合、配置导出设置、执行导出,并验证输出文件存在;在交付文档中记录导出设置。
交付文档模板 包含导出包名称、格式、缩放(1 Blender 单位 = 1 米)、前向轴(记录实际值)、文件列表、导入说明、验证状态与日期。
约束 必须:导出前通过 asset-optimization;对导出对象应用变换;在目标引擎中测试导入;记录缩放与轴向约定;游戏用途单独导出碰撞。 禁止:为 Blender 5.2 之前版本编写代码或片段,或添加版本回退(本插件面向 5.2+,旧分支会教用户已不存在的 API);带未应用缩放导出;未验证就导出;未记录就混合碰撞与渲染导出;假设默认 FBX 设置适用于所有引擎;未测试引擎结果就导出所有修改器。
脚本 scripts/export_asset.py 经 Blender 5.2 LTS 与官方 Blender MCP 测试。通过 execute_blender_code 运行(或无头运行,参见 blender-mcp-workflow 技能);阅读脚本头部了解每个参数。当用户自行粘贴代码到 Blender 时,给出带该已安装脚本绝对路径和其 ARGS 的简短 runpy 调用,不要内联或重写脚本。
脚本功能:按引擎预设(FBX / glTF / USD / OBJ)导出选中或列出的对象,验证输出文件存在并报告大小;不修改场景(恢复选择;修改器仅在导出数据中应用)。
调用示例: import runpy result = runpy.run_path("<skill_dir>/scripts/export_asset.py", init_globals={"ARGS": {...}})["result"]
ARGS:objects、engine、out_path、animation。
glTF/GLB 导出仅使用活动场景并回读文件:每次导出后检查 verify.ok(nodes、missing、leaked 可解释失败)。verify.checked: false(FBX、USD、OBJ)表示 NOT_CHECKED,绝不是通过。
参考指南
- 引擎导入:references/engine-import.md,首次导入测试时加载。
- 验证:blender-mcp-workflow 技能 → references/validation-checklist.md,导出前门禁时加载。