关于 blender-workflow-recipes
面向 Blender 内容创作者的 3D 资产制作工作流配方,按游戏道具、角色、环境和产品渲染等任务组织步骤。各阶段设有质量检查点,并涵盖清理、烘焙与导出。
主要功能
- 01游戏道具高低模流程
- 02角色绑定与动画导出
- 03Roblox 资产制作步骤
- 04生成资产清理与检查
- 05程序化环境和产品渲染流程
适用场景
- 01制作并导出游戏道具
- 02为角色准备动画网格
- 03清理并优化生成或下载的模型
- 04制作产品转台或环境渲染
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ el4cteo/ blender-skills --skill blender-workflow-recipes安装后在 Claude Code 中输入/blender-workflow-recipes确认已加载。
详细介绍
工作流配方
S = 技能文件夹。每个 .py 都可通过 python S/blender-core/scripts/run_in_blender.py --blend F.blend S/<skill>/scripts/<x>.py -- ... 在无界面模式下运行,也可通过 MCP 导入 + run() 实时运行(参见 blender-core)。关卡 = 继续之前先停止并修复。每个阶段后都保存(--save)。
1. 游戏道具,中等多边形(快速,无需烘焙)
- 按真实比例进行灰盒建模(
blender-hardsurface-modeling)。关卡:检查ob.dimensions是否与参考相符。 - 在倒角前为灰盒模型展开 UV(Bevel/Boolean 修改器会保留 UV):
uv_pack.py --objects SM_X --method seams --seams-from-sharp 60→texel_density.py --res 2048 --set 512 apply_stack.py --objects SM_X --preset midpoly [--cutters ...](保持实时;仅在导出副本上使用--apply --triangulate)- 材质:使用
build_pbr_material.py --preset ...或平铺/修边纹理。 - 关卡:
qa_check.py --objects SM_X --profile game通过,且完成外观检查(角度、材质 + 线框)。 mesh_stats.py --budget <platform>→make_lods.py --objects SM_X --renameexport_asset.py --preset <engine> --objects SM_X_LOD0 SM_X_LOD1 ...关卡:重新导入后检查尺寸 / GLB 摘要。
2. 游戏道具,高模 → 低模烘焙(英雄级品质)
- 高模:硬表面建模使用
--preset subd,或进行雕刻(sculpt_ops.py),命名为X_high。 - 低模:
auto_retopo.py --objects X_high --tris N --method planar|decimate|quadriflow,或手动重拓扑。将其重命名为SM_X。 uv_pack.py --objects SM_X --method seams --seams-from-sharp 60 --margin-px 16- 关卡:对
SM_X(game)和X_high(render 配置文件,不得有反转部分)运行qa_check.py。 bake_maps.py --low SM_X --high X_high --maps normal ao curvature id --pack-orm [--directx for Unreal]build_pbr_material.py --name M_X --textures //textures --objects SM_X(另加来自纹理制作的 basecolor/roughness)。- 关卡:在材质着色模式下检查外观(无接缝/波纹),然后执行配方 1 的步骤 6–7。
3. 游戏角色(雕刻或 AI 网格 → 动画导出)
- 源网格(雕刻 /
generate_3d/ 扫描)按真实身高制作,朝向 -Y,双脚位于 Z=0。运行qa_check.py --profile render。 auto_retopo.py --method quadriflow --tris 20000(英雄角色也可手动重拓扑,并遵守边流规则)。uv_pack.py --method min_stretch。bake_maps.py --low Body --high Body_src --maps normal ao basecolor(如果源模型带有颜色/材质,可通过 emission 覆盖烘焙 basecolor)。rigify_build.py --add basic_human --fit Body→ 放置关节(使用 xray 查看)→--metarig META_Body --generatebind_mesh.py --armature RIG_Body --meshes Body→stress_poses.py --armature RIG_Body→look(mode="frames")。关卡:肘部/膝盖/肩部不得塌陷。修复权重。rigify_build.py --rig RIG_Body --game-skeleton→rig_check.py --armature GAME_RIG_Body --profile unity|unreal- 在 RIG_Body 上制作动画(
blender-animation)→bake_action.py --source RIG_Body --target GAME_RIG_Body [--root-motion xy --hips spine] export_asset.py --preset unity_skeletal|unreal_skeletal --objects GAME_RIG_Body(网格会作为子对象包含在内)。关卡:GLB/FBX 摘要显示蒙皮 + 所有动画片段。检查引擎中的缩放比例。
4. Roblox
- MeshPart 道具:使用配方 1,在 QA 中指定
--profile roblox(≤20k 个三角面、封闭网格、无 n-gon、单个 UV 0–1),使用独立灰度贴图(不用 ORM),运行export_asset.py --preset roblox(FBX)或roblox_gltf。纹理为 1024²(PBR)。 - 刚性配饰:≤4k 个三角面;添加一个空对象作为附件点,其名称与 R15
_Att名称相匹配;使用--preset roblox。 - 分层服装:从 Roblox 官方笼子模板开始。创建
<Name>_InnerCage/<Name>_OuterCage(不得更改笼子的顶点数量/顺序/UV),绑定到 R15 骨骼,≤4 个影响骨骼,Root 不得设置权重。在 Studio 的 Accessory Fitting Tool 中验证。 - Avatar 身体:包含 15 个
_Geo部件、R15 骨架、附件、外笼,三角面预算为 10,742。先阅读blender-export-pipelines/references/roblox.md。 - 上传:批量上传请使用 Studio 的
AssetService:CreateAssetAsync。
5. 清理 AI 生成/下载的资源
- 导入(
import_asset/generate_3d/文件)。按实际尺寸缩放(world_bounding_box),将原点设在底部,将地面设为 z=0,执行transform_apply。 scene_audit.py --fix purge scale→qa_check.py --profile game。典型问题:非流形、重复顶点、法线反转的面片岛、浮动碎片、深度冲突的壳体。- 修复:
make_lods.py --cleanup(合并/退化/松散元素)、重新计算法线、删除浮动碎片(或对垃圾拓扑使用sculpt_ops.py中的remesh),然后运行auto_retopo.py --method decimate以控制预算。 - 如果 UV 碎片化,则重新展开 UV(
uv_pack.py),并从原始模型重新烘焙(bake_maps.py --high original)。 - 质量门槛:QA 通过 +
look。绝不未经审核就发布生成的网格。
6. 程序化环境
- 创建地形/地面网格,然后使用
gn_builder.py --spec scatter.json --apply Ground --set Density=... Seed=...散布树木(配方见blender-geometry-nodes/references/recipes.md)。 - 用于散布的资源:经过优化且带有 LOD 的道具(配方 1)。对于支持实例化的引擎,保留实例(不要实化)(
export_gpu_instances)。 - 质量门槛:对求值后的结果运行
mesh_stats.py,并从游戏镜头高度执行look。
7. Web/AR 资源
使用配额 --budget web(≤30k 个三角面、1–2 种材质、2k 纹理)执行配方 1 或 2 → export_asset.py --preset web(meshopt + WebP)→ 可选运行 gltf-transform optimize --texture-compress ktx2。iOS AR 的 USDZ:--preset usd --out x.usdz。质量门槛:GLB 摘要(大小 < 5 MB)以及与 Khronos PBR Neutral 外观开发效果匹配。
8. 产品镜头/转台
- 使用实测值创建材质(
build_pbr_material.py --preset),并针对深度冲突/浮动部件进行 QA(这些问题在特写中非常明显)。 - 设置渲染分辨率,然后运行
turntable.py --objects Product --rig studio --backdrop --frames 120 --lens 85 render_batch.py --preset preview --frames 1→ 审核 →--preset product --frames 1-120 --format PNG→ 编码,或使用--format MP4。- 质量门槛:没有火花噪点或高光溢出(AgX/Khronos PBR Neutral),且产品贴合背景(接触阴影)。
9. 氛围/天气镜头(雨夜、雪晨、雾晓)
- 使用实际尺寸创建场景并设置摄像机。先对主体资源进行 QA(湿润反射和积雪会暴露深度冲突与缝隙)。
scene_mood.py --time night --fog-visibility 250(或--mood cyberpunk|horror|underwater|desert)。以实际色温添加实用光源(路灯、窗户、霓虹灯)。- 天气:
precipitation.py --type rain --intensity heavy --ground <ground/roofs>→surface_weather.py --objects <surfaces> --wetness 0.7 --puddles 0.4 --ripples 1 --streaks 0.5→lightning.py --flashes 2。降雪:--type snow+--snow 0.8 --snow-depth 0.06。 - 质量门槛:按最终宽高比运行
render_batch.py --preset preview --frames <mid>,<flash>。雨势必须清晰可见(逆光),水坑必须能反射光线,夜景必须保留对比度。然后渲染完整循环(帧范围 = 降水循环)。
评论
支持 Markdown