Overview
Splits a Surface containing height, AO, and emission into texture maps for real-time lighting in engines such as Unity or RPG Developer BAKIN. Height authored through sculpting, cylinder profiles, and slopes is converted into a normal map, enabling pixel-art assets whose shading responds to engine lights.
Usage tips
- A common chain is
layers_to_surfaceorsurface_sculpt → surface_maps → batch_export. Export albedo, normal, and emission as separate PNG files and assign them to the engine material. - Normals are regenerated from the final height map, including sculpt, profile, and slope results. Normal Strength 1–3 gives softer relief; 4 or more gives a sharper bevel.
- Keep Flip Green off for Unity's OpenGL-style convention. Enable it for DirectX-style tools such as BAKIN. If a bump looks recessed in-engine, this convention is probably reversed.
- Normal-map alpha copies albedo alpha, allowing the engine to mask transparent sprite areas.
- For animation, apply the same route to every
animation_renderframe so the normal sheet contains the matching frame count.
Common mistakes
- Engine shading differs from the PixPipeline preview: the stepped tone grades in
surface_light_previeware not part of ordinary engine lighting. Add a posterization or quantization shader in the engine when stepped pixel shading is required. - Relief appears inverted: toggle Flip Green to match the engine convention.
- Emission is empty: the Surface must contain emission information, for example from an
Emission layer in
layers_to_surface; otherwise the map is transparent.
Related nodes
layers_to_surface— assemble the usual Surface input from layerssurface_sculpt— edit height and AO before normal generationsurface_light_preview— preview a completed, baked appearance inside PixPipelinebatch_export— write all maps as PNG files