跳到正文
cccskills
免费在 GitHub 公开

blender-texture-baking

Bake texture maps in Blender 5.2 Cycles - high-to-low normal maps with cage/extrusion, AO, curvature, ID, thickness, base color/roughness/metallic from procedurals, ORM packing, OpenGL vs DirectX, margins, GPU baking, fixing skewing/waviness/seams. Use when transferring sculpt or high-poly detail to game meshes or converting procedural materials to textures.

中文简介正在准备中。当前显示原文说明。

集成工具Blender

实测评分 未实测

查看安装方法

包含的文件(3)

  • SKILL.md5.6 KB
  • scripts/_bpyx.py4.4 KB
  • scripts/bake_maps.py11.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Texture Baking (Cycles)

The execution model is in blender-core. UVs come from blender-retopology-uv and materials from blender-pbr-materials.

One call

scripts/bake_maps.py -- --low SM_Crate --high Crate_high Crate_bolts --maps normal ao curvature id \
   --res 2048 --samples 64 --margin-px 16 --pack-orm --out //textures

Self-bake (procedural → textures, no --high): --low SM_Crate --maps basecolor roughness metallic normal --pack-orm. The script picks the GPU (OptiX/CUDA/HIP/Metal/oneAPI) and falls back to CPU, creates the target images with correct color spaces, cleans up its temporary nodes, and saves T_<name>_<N|AO|CURV|BC|R|M|ORM...>.png.

Preparation checklist (most bake bugs come from this list)

  1. Low poly: UVs unwrapped, no overlaps (stacked/mirrored islands moved +1 U), padding ≥ 8 px at the bake resolution, scale applied.
  2. Hard edges = UV seams on the low poly. Use either smooth shading with the bake handling gradients, or hard edges split at seams. Never put a hard edge inside a UV island.
  3. Triangulate the low poly the same way the engine will, or export the triangulated mesh. Mismatched triangulation shows as shading seams.
  4. High poly covers the low completely and pokes out of it only a little. Floaters (bolts, panel details) can hover just above the surface, but must stay within the extrusion distance.
  5. Names: X_low / X_high pairs. Bake per part, or explode the parts apart (move each pair along an axis) so neighbouring parts don't project onto each other, then put them back.
  6. Apply modifiers on the high poly as needed (multires and subd are evaluated automatically).

Rays: extrusion vs cage

  • --extrusion (meters) pushes the ray origin outward from the low surface. It must be greater than the farthest distance the high poly sticks out of the low. The default is 2% of the low's diagonal; max_ray_distance is 2 × extrusion.
  • Cage (--cage Crate_cage): a copy of the low with the same topology, inflated (Displace/"Push"). Use it when uniform extrusion fails (sharp concave corners, thin parts). Edit the cage locally where rays miss.
  • Too small: holes or missing details. Too large: other parts of the mesh project in (intersections, "ghosting").

Map guide

MapSpaceNotes
normalNon-Color, tangent, OpenGL (--directx for Unreal)16-sample AA is plenty; 8-bit PNG is fine for games
aoNon-Color64–256 samples; bake with the high only (no ground) unless contact AO is wanted
curvatureNon-Color, 0.5 = flatderived from the baked normal (convex white / concave dark); drives edge wear
idsRGBone flat color per high-poly material; use materials as masks
thicknessNon-ColorAO with inside rays; dark = thin; for SSS/translucency masks
basecolor/metallic/opacityvia emission overridereads the Principled inputs of the source materials (also procedural chains)
roughness, emit, combinednative Cycles passescombined = lit result (lightmaps, stylized)
positionfloatgradient masks
ORM = R:AO G:Roughness B:Metallic, the glTF/Unreal standard. Unity uses a different packing (blender-pbr-materials).

Fixing common artifacts

SymptomCauseFix
Wavy lines on cylinderslow poly too low, smoothing gradientsadd segments, use a cage, or more support on the low
Skewed details (bolts lean)ray direction follows the averaged low normalshard edges + seams, a cage, or bake the floater separately
Black/garbage areasrays miss or hit the back facesraise extrusion, fix flipped normals (blender-asset-qa), check high coverage
Seams visible in enginemargin too small, hard edge without a seam, different tangentsmargin ≥ 16 px @2k, seams at hard edges, export tangents (MikkTSpace)
Details from a neighbouring partparts too closeexplode the bake, or bake per object pair
Inverted green look in engineOpenGL/DirectX mismatch--directx for Unreal, or flip G in the texture importer
Stepping/banding8-bit with large flat gradientsbake to 16-bit (float_buffer) and dither on export

Baking non-PBR data

  • Vertex colors: bake.target = "VERTEX_COLORS" with an active color attribute (useful for mobile and Roblox-free shading).
  • Lightmaps: bake combined onto UV2 (--uv-layer UVMap_Lightmap) with the scene lights.
  • Multires (no separate high object): bake.use_multires=True, bake.type="NORMALS"|"DISPLACEMENT"|"VECTOR_DISPLACEMENT", bake.use_lores_mesh=True, then bpy.ops.object.bake_image(). The viewport level is the low, the sculpt level is the high.

Gotchas

  • The target image must be the active Image Texture node in every material of the low object (the script handles this).
  • Baking in Cycles uses the active UV map (--uv-layer to pick).
  • Images aren't saved automatically: img.save() or save_render. Packed or internal images disappear on reload.
  • 5.2: the Cycles texture cache (.tx) is for render memory and doesn't affect bake results.
  • Run blender-asset-qa on low + high first, because flipped normals and floating chunks produce most bake garbage.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Write Blender 5.2 add-ons as extensions - blender_manifest.toml, operators/panels/menus/property groups/preferences, bpy.props rules after 5.0, undo/redo, modal and timer patterns, gpu drawing (no bgl), bundling Python wheels, CLI validate/build/install, testing headless, extensions platform publishing. Use when creating or fixing a Blender add-on, tool, or UI.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Animation in Blender 5.2 - slotted/layered actions and the channelbag API, Python keyframing, F-curves, game loops, NLA clips, pose library, mocap/BVH retargeting via constraints, baking control rigs to export skeletons, root motion, per-clip export. Use for any keyframe, action, NLA, mocap, or animation-export task.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Mandatory review gate for any mesh or asset created or edited in Blender. Detects z-fighting (coplanar overlaps), floating/detached parts, inverted or inconsistent normals, non-manifold/open geometry, degenerate faces, duplicate verts, n-gons, unapplied scale, UV problems, bad skin weights, and renders multi-angle review sheets. Use before calling any modeling, export or delivery task done.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Character rigging in Blender 5.2 - Rigify metarig fit/generate, bone naming/roll/collections, DEF/MCH/control layers, IK/FK, robust skinning (heat + proxy fallback), weight-painting rules, correctives, engine game skeletons (Unity, Unreal, Roblox R15), rig validation and deformation stress tests. Use for armature, skinning or weights tasks.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Foundation for any Blender 5.2+ task an agent drives - running bpy via MCP (live) or headless CLI, context overrides, locale-safe node lookup, enum discovery, 5.x API changes, verification. Use first for any Blender, bpy, .blend or 3D-asset request; routes to the specialized blender-* skills.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

Export from Blender 5.2 with verified presets - Roblox (FBX/glTF, cages, R15, SurfaceAppearance), Unity (FBX, Humanoid), Unreal (FBX skeletal, Nanite, UCX), Godot/web (GLB, meshopt/Draco, WebP), USD. Scale/axes, smoothing, tangents, leaf bones, clips, batch export, post-export verification. Use whenever an asset leaves Blender.

中文简介正在准备中。当前显示原文说明。

EL4CTEO/blender-skills4562026年10月20日 更新

查看 EL4CTEO 的全部技能

报告此技能的问题