Surface Bake Pro
add-on
Bake prepared opaque Principled meshes into PBR texture sets, ORM maps, packed asset copies and optional GLBs, with UV preflight and offline delivery reports.
Stop repeating the same image-target setup, map baking and output organization for
every prepared mesh. Surface Bake Pro turns selected static, opaque Principled
surfaces into organized PBR texture deliveries in a separate Blender process.
- Preflight material compatibility, external textures, evaluated geometry and UVs.
- Bake BaseColor, Roughness, Metallic and OpenGL tangent Normal PNGs.
- Optional self-occlusion AO; automatically pack AO/Roughness/Metallic into ORM.
- Bake every used material slot into one atlas per selected mesh.
- Write a packed, marked asset.blend and an optional native-exported GLB per mesh.
- Review progressive offline HTML/JSON reports with file dimensions and SHA-256.
- Cancel between maps or force-stop this plugin's worker; incomplete assets remain staged.
- Keep the original project mesh, shader nodes, assignments and source files unchanged.
Three original procedural swatches, prepared UVs, full Python source and an offline
written guide are included. No account, activation, subscription or external Python
package is required by the extension. It uses Cycles CPU and Blender's native glTF exporter.
Windows x64, verified in Blender 4.5.15 and 5.2.3 LTS. Prepared static local meshes
with non-degenerate single-tile 0–1 UVs and opaque materials directly connected to
one Principled BSDF. Review overlap warnings and island gutter spacing before baking.
This release does not unwrap UVs, project high-to-low meshes, bake animation, use
the GPU, or fully convert arbitrary/mixed/transparent/displaced shaders. Unsupported
rigs, simulation, geometry nodes, material features and missing dependencies are
blocked rather than silently accepted. See the complete guide for exact scope.
Outputs are 8-bit RGB PNGs; smaller textures lose detail. Normal maps use +Y tangent
space. ORM uses R=AO, G=Roughness, B=Metallic. AO is per-object self-occlusion and
is not baked into BaseColor. Native GLB export is not destination-engine certification.
Inspect the actual materials and appearance in your target application.
Internal work files include a source-copy.blend containing the whole scene, not
only the selection. Keep work files and logs private. Share reviewed committed
asset folders and reports, never incomplete .partial folders.
GPL-3.0-or-later. Use the purchase platform's creator messaging for support, with
Blender version, exact error and a minimal non-confidential reproduction scene.
Surface Bake Pro 1.0.0
Turn prepared static Blender surfaces into organized PBR texture deliveries.
Select mesh objects, review the preflight, and bake in an isolated background
scene copy while keeping your live materials and meshes unchanged.
- One texture atlas per selected mesh, including its used material slots.
- BaseColor, Roughness, Metallic and OpenGL tangent-space Normal PNGs.
- Optional per-object self-occlusion AO; ORM packing is always generated.
- A separate asset.blend per successful mesh, with packed material images and
a marked object asset. Optional self-contained GLB via Blender's native exporter. - Progressive offline HTML/JSON reports with filenames, PNG dimensions and SHA-256.
- Material/texture/UV preflight, bounded overlap checks, cancellation between maps,
worker force-stop, per-asset failure isolation and whole-asset staging/commit. - Three original procedural material swatches, prepared UVs, source and written guide.
Verified platform: Windows x64. Targeted Blender builds: 4.5.15 LTS and 5.2.3 LTS;
consult the included TESTING.md for actual completed checks.
In Blender, open Edit → Preferences → Get Extensions → menu → Install from Disk.
Select surface_bake_pro-1.0.0.zip without extracting it, and enable the extension.
Press N in the 3D Viewport and select Surface Bake. No pip, external application,
account, activation or network service is required by the extension. Cycles and
NumPy are bundled with the verified Blender builds; Blender itself is not included.
- Save your project. For practice, click Example to open a separate writable copy
of the included scene. Opening an example refuses unsaved/dirty projects. - In Object Mode, select the prepared meshes. Each selected mesh gets its own atlas.
- Choose the texture size, Cycles samples, pixel margin and CPU thread limit.
- Enable AO and GLB if needed. Keep Strict UV checks enabled unless you have
reviewed a reported overlap or incomplete audit and accept its bake implications. - Click Preflight Selected Meshes, inspect the list, and fix blocked findings.
- Choose a short output folder and click Bake PBR Delivery. The start rescans selection.
- Review the final report and inspect the committed textures and assets. Open an
asset.blend using File → Append or point an Asset Library at the delivery folder.
Import the GLB into your actual destination application for a visual check.
This release supports local, visible, static mesh objects with opaque materials.
Every used material must directly connect one Principled BSDF to its active
Material Output. Procedural color/roughness/metallic inputs, shader node groups
feeding those inputs, and bump/normal inputs can be baked. The active UV map must
have non-degenerate triangles inside one 0–1 tile. The same UV layout is retained
in the baked asset copy and used for baking and tangent normals.
Unwrap and leave adequate space between islands before baking. Overlap checks find
positive-area intersections and ignore triangles that merely share an edge. They
stop after a fixed work limit; Strict UV blocks an incomplete check. A clean audit
does not certify sufficient pixel gutter or a visually correct unwrap. Dilation can
still bleed between nearby islands. Smaller textures can lose detail.
Linked/overridden objects, linked materials, constraints, animation/drivers, shape
keys, particles, instances, rigs, simulations and geometry nodes are blocked. Only
enabled Bevel, Subdivision Surface, Triangulate, Weighted Normal and Normal Edit
modifiers are supported, with matching viewport/render visibility. Supported
modifiers are evaluated into the delivered static copy, not applied to your source.
Alpha must be unlinked and equal to one. Transmission, coat, sheen, subsurface,
emission, volume and material displacement are unsupported. Use default IOR,
Specular IOR Level and anisotropic level. Mixed/grouped surface shaders,
OSL/scripted nodes and camera/ray-dependent shaders are unsupported. Convert
generated/UDIM/sequence/movie images into saved still files before baking.
Missing files and unsaved image pixel edits block an asset.
This is not high-to-low projection, automatic retopology/UV unwrapping, lightmap
baking, a complete conversion of arbitrary shaders, GPU acceleration or animation
export. The worker uses Cycles CPU. Complex materials and 4K textures can take
substantial time and memory. Supported batches have at most 24 selected objects,
250,000 evaluated triangles per object and 128–4096 square texture presets.
All map files are square 8-bit RGB PNGs. BaseColor stores sRGB color; scalar maps,
normal maps and ORM store non-color data. Normal uses OpenGL tangent-space +Y;
convert it outside this release if your target expects a different convention.
ORM is R = AO, G = Roughness, B = Metallic. When AO is disabled its ORM channel is
white. AO is baked with other scene objects hidden from rendering, so it is
self-occlusion, not scene contact lighting. AO is not multiplied into BaseColor.
The simple baked material exposes ORM occlusion to the native glTF exporter.
The baked material uses the base-color, ORM and normal maps. Separate Roughness,
Metallic and optional AO PNGs are also supplied for workflows needing individual
maps. Exported texture channels are quantized to 8 bits and are not a lossless
representation of arbitrary procedural shaders. Appearance depends on UV quality,
normal interpretation, lighting, color management and the destination renderer.
No Unity, Unreal, Godot, mobile or web-engine certification is claimed.
Each batch creates a unique directory. Your current source .blend is not saved over;
the worker opens a separate saved copy with embedded script execution disabled.
The live mesh, shader nodes, materials, transforms and image paths are not remapped
by the bake worker. Opening the example is a separate explicit scene switch.
Each successful mesh commits a directory containing the PNG maps, asset.blend and
optional asset.glb. A failed/cancelled mesh can leave a .partial directory. Partial
directories are work files and must not be delivered. There is no resume feature in
1.0: rerun into a new batch. Completed asset folders from earlier in a cancelled
batch remain available for review. No existing delivery is overwritten or deleted.
Internal source-copy.blend contains the entire original scene, not only selected
meshes. job.json and worker.log can contain names and local paths. Keep these work
files private and share only reviewed committed asset folders and reports. The
per-asset .blend contains only the baked mesh's dependency tree, with its material
maps packed and relative image paths. It is not the original complete scene.
The source copy can reference original external dependencies. Keep those files
available and unchanged until the worker finishes. Your live scene can be edited
after the copy is made, but those later edits do not enter the running job. Keep
Blender open; disabling the extension terminates its own worker.
Cancel After Current Map writes a cancellation marker. Cycles finishes the current
map before cancellation is observed. An incomplete asset is not committed. For a
stalled bake, request cancellation and use Stop Worker Now; files remain on disk.
complete means every selected mesh committed. complete_with_issues means at least
one mesh was blocked or failed. cancelled, interrupted and failed indicate a batch
that did not complete normally. Read the findings and inspect outputs before use.
One failed asset does not prevent later eligible assets from baking.
GPL-3.0-or-later; full source and the original demo assets are included. Use your
purchase platform's creator messaging channel for support, with Blender version,
the precise error and a minimal non-confidential reproduction scene. No sales or
income outcome is guaranteed by this software or its marketplace materials.