From 2bbd8d84031b95df2eea97afc4d5f332b7f41ea4 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Wed, 30 Nov 2022 16:33:06 +0100 Subject: [PATCH] Document tangents being required for normal maps in Using the SurfaceTool --- tutorials/3d/procedural_geometry/surfacetool.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tutorials/3d/procedural_geometry/surfacetool.rst b/tutorials/3d/procedural_geometry/surfacetool.rst index 17902727e..96f972335 100644 --- a/tutorials/3d/procedural_geometry/surfacetool.rst +++ b/tutorials/3d/procedural_geometry/surfacetool.rst @@ -92,8 +92,12 @@ be called after generating geometry and before committing the mesh using ``commi ``commit_to_arrays()``. Calling ``generate_normals(true)`` will flip the resulting normals. As a side note, ``generate_normals()`` only works if the primitive type is set to ``Mesh.PRIMITIVE_TRIANGLES``. -If you don't add custom tangents, they can be added with ``generate_tangents()``, but it requires -that each vertex have UVs and normals set already. +You may notice that normal mapping or other material properties look broken on +the generated mesh. This is because normal mapping **requires** the mesh to +feature *tangents*, which are separate from *normals*. You can either add custom +tangents manually, or generate them automatically with with +``generate_tangents()``. This method requires that each vertex have UVs and +normals set already. .. tabs:: .. code-tab:: gdscript GDScript