blender-game-optimization
Installation
SKILL.md
Game Optimization
The execution model is in blender-core. Always re-run blender-asset-qa after optimizing.
Procedure
- Measure:
scripts/mesh_stats.py -- --objects ... --budget mobile|roblox|web|vr|console|pc. It returns tris, estimated draw calls, materials, texture VRAM, bones, and the over-budget items. - Clean:
make_lods.py --cleanup(merge by distance 0.1 mm, dissolve degenerate, delete loose). Remove hidden faces: back-to-back faces and faces under other parts (qa_check→back_to_back, plus manual xray). - Reduce in this order (cheapest visual loss first): hidden/interior geometry → unnecessary edge loops on flat areas (Limited Dissolve 1–5°) → over-segmented cylinders → Decimate → bake detail to normals (
blender-texture-baking). - Materials: merge to 1–2 per asset (atlas / trim sheet / shared tiling material). Each material slot per mesh is roughly one draw call.
- LODs:
scripts/make_lods.py -- --objects SM_X --renamecreates_LOD1.._LOD3at 50/25/12.5%. Check every LOD silhouette withlook/review_shots. - Re-measure, then QA, then export (
blender-export-pipelines).