All ToolsStart a project ↗
Material workflow

Fix a normal map before changing the lighting

Check the map type, colour-space setting, UVs and normal convention before increasing strength. A normal map changes shading direction; it does not add the geometry needed to change a silhouette.

Choose what needs to changeA workflow schematic, not a rendered material comparison.
  1. Surface directionNormal map: change shading direction.
  2. Height-based shadingBump: derive shading from a height input.
  3. Surface or silhouetteDisplacement or geometry: check renderer and mesh support.

Download the synthetic height-map testOriginal XO3D Labs SVG, 1024 x 1024. Bright mound on the left, dark recess on the right; test these known features before using a production texture.

The decision

What this solves

A map can look convincing in a flat preview and fail on the model because the material setup, UVs or intended surface detail do not match.

Choose the map for the job

Normal maps encode surface directions in colour channels. A bump setup derives a shading normal from a height value. Displacement can move the surface when the renderer and geometry support it. Choose using the final camera: fine texture may only need shading detail, while an outline or deep relief may need geometry.

A photograph mixes material colour, illumination and shape. An image-derived map is a starting interpretation, not a measurement of the product. Test a crop with a known raised or recessed feature and compare it with an approved physical reference.

Use a controlled material check

Keep the camera and a single broad light fixed while comparing no map, low strength and the proposed result. Change one material setting at a time. Inspect both a close view and the intended delivery size so that a strong preview does not become distracting texture in the final image.

  • In Blender, set a tangent-space normal image to Non-Color and connect it through a Normal Map node to the shader normal input.
  • Use the same UV map for the image placement and the tangent-space normal calculation.
  • For glTF, the normal texture uses linear values and a +Y convention. Check the target application's import setting before changing a channel.

Match the symptom to the next check

  • Dents look raised: confirm that the source feature is actually recessed, then compare the map convention with the target renderer. Do not invert every channel by trial and error.
  • A seam follows a UV boundary: inspect the UV layout, padding and tangent basis. Recheck the exported mesh in the final viewer; the flat image cannot prove that a mesh seam is fixed.
  • The surface looks swollen or noisy: reduce strength and inspect the source for shadows or highlights that were interpreted as depth.
  • The normal map seems ineffective: check the node connection, UV assignment and light direction before generating a stronger map.
  • The edge still looks flat: decide whether the camera requires displacement or modelled detail. Normal strength will not repair a silhouette.

Keep the production handoff reproducible

Save the source image, generated map, chosen convention and a reference render together. Record the target renderer and the UV set. Keep an unchanged source version so the material can be rebuilt if the target application interprets the export differently.

For a repeatable comparison, use a synthetic tile with one clearly raised feature, a seam and a smooth area. This is a diagnostic fixture, not a claim that every material will behave the same way.

Check the green channel without guessing

Names such as OpenGL and DirectX are often used for opposite tangent-space Y conventions. Confirm the convention documented by the exporter and receiving shader; the filename alone is not evidence. In a workflow that differs only in Y direction, invert the green channel once while preserving red and blue.

For an eight-bit channel, the stored-value operation is Gnew = 255 - Gold. A value of 64 becomes 191. This is a convention conversion, not a general fix for UV seams, wrong tangents or a misread colour space. Use a known raised feature and a fixed light, then compare the export in the actual destination.

Tools for this task

Start with these tools

Use the tools in order, or jump straight to the one that matches the question in front of you.

Workflow

Recommended workflow

The sequence keeps the work practical and reduces the usual guesswork before production.

Check the source

Identify a known surface feature and remove avoidable lighting variation before deriving a map.

Open tool

Compare at low strength

Generate the map, keep the preview lighting fixed and check whether the detail points in the intended direction.

Open tool

Check the repeat

Inspect the source edges, then check UV seams on the actual model in the target renderer.

Open tool
Example outcome

A checked normal map with its convention, UV set and comparison render recorded.

Basis and limitations

The setup checks follow the linked format and renderer documentation. Image-derived maps still require visual judgment against the actual material. Check the intended application and delivery requirements before using a result in production.

Blender: Normal Map node: Tangent-space setup, Non-Color input and matching UV maps.

Blender: Bump node: How a height input affects shading.

Blender: Displacement node: Surface displacement and geometry requirements.

Khronos: glTF 2.0 material specification: Normal texture encoding and material interpretation.

Common mistakes
  • Treating a normal image as ordinary colour.
  • Using normal strength to repair geometry.
  • Approving a material from the flat texture alone.
Next pages

Keep going

FAQ

Questions this page answers

Should I flip the green channel?

Only after checking the convention expected by the destination and confirming an inversion with a known surface feature. glTF normal textures use +Y; applications may expose their own import controls.

Can a normal map change the silhouette?

A normal map changes shading, not the mesh outline. A visible edge or deep relief may need displacement or geometry, depending on the renderer and camera.

Why does a map made from a photograph look wrong?

Lighting and colour in the photograph can be interpreted as surface depth. Use a controlled source where possible and check the generated result against the actual material.

Next step

Talk to XO3D

Bring the product, audience, launch date and required assets. We can help define the creative direction and production scope from there.

Tell us about your brief

Published by XO3D Labs: 2026-09-17

Updated: 2026-09-17

About the studio behind these tools

XO3D is a director-led product CGI studio, and these tools come out of its own production pipeline rather than being built as marketing. We work with tech, industrial and premium consumer brands on product films, launch stills and interactive experiences.

That makes us the right choice for launch-critical work where the visual standard has to be high and the product may not exist yet.

It makes us the wrong choice for three things: hundreds of routine SKUs to a fixed template, a permanently live self-service configurator across a large range, and the campaign idea itself.