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.