Fixing Weird Normals In Substance Painter: A Step-By-Step Guide

how do you fix weird normals in substance painter

When using Substance Painter, users may encounter issues with weird normals. This can be caused by various factors, such as the underlying normals affecting the top layer, strange shading errors, or baking artifacts. To fix these issues, several solutions can be implemented. One solution is to use the Wrap to underlying option in Quixel Mixer and set it to zero. Another solution is to invert the mask on the sticker and use it as a mask on the cloth layer. Additionally, it is recommended to triangulate the mesh before baking to prevent issues caused by different software triangulating the mesh in different directions. For baking artifacts, changing the normal channel to normal or replace in the painting layer can help resolve the issue.

cypaint

Ensure your painting layer is set to normal or replace

When using Substance Painter, you may encounter issues with underlying normals affecting your desired output. For instance, you might have a sticker image on top of a cloth but want to prevent the cloth's normals from impacting the sticker. In such cases, it's essential to ensure that your painting layer is set to "Normal" or "Replace" to fix weird normals.

To achieve this, you can follow these steps:

  • Select the Sticker Layer: Begin by selecting the layer containing your sticker image or the element you want to remain unaffected by the underlying normals.
  • Change Blend Mode to "Normal" or "Replace": In the dropdown menu for blend modes, switch to "Normal" or "Replace". This will ensure that the normals from the underlying layer do not influence the selected layer.
  • Adjust Opacity: If you still want a subtle effect from the underlying layer, you can adjust the opacity of the selected layer. Reducing the opacity will allow some of the underlying normals to show through.
  • Create a New Layer: Alternatively, you can create a new layer (regular or fill) and set its blending mode to "Normal." This will allow you to paint directly on the normal channel, overwriting the baked normal map on the layer below.
  • Load a Normal Resource: When using a new layer, load a Normal resource in the Normal slot of the Material section of your painting tool. Painting with a normal map provides added precision and is similar to Height Map Painting.
  • Address Mesh Issues: In some cases, you may need to address mesh issues. For example, if you're working with a quad mesh object and exporting it to an engine that only accepts triangles, ensure you triangulate the mesh before baking or exporting to avoid shading errors.

By following these steps and ensuring your painting layer is set to "Normal" or "Replace," you can effectively fix weird normals in Substance Painter and achieve the desired output without the underlying normals interfering.

cypaint

Change the default colour space

When loading a normal map into the slot of a material (tool properties or fill layer), you can change the default colour space. This setting can be used to specify the normal map format since, by default, a DirectX (Y-) normal map is expected. This is not affected by the project setting. Therefore, when using an OpenGL (Y+) normal map, it is required to click on the little arrow to open the colour space menu and then change the colour space of the bitmap.

The Substance Painter default setting is to use the sRGBf LUT file. However, artists usually use the default values when using Substance Painter. If you are using Arnold rendering or other rendering software for final image quality, Aces 2.0 is used.

The post-processing of the Substance painter uses external middleware. It does not support ACES. Therefore, when applying the colour profile, convert the log space. ACEScc (ACES Color Correction Space) is a colour space definition slightly larger than the ITU Rec.2020 colour space and log shipping properties for improved use within colour correction and grading tools. ACEScg (ACES Computer Graphics Space) is a colour space definition slightly larger than the ITU Rec.2020 colour space, linearly encoded for improved use within computer graphics rendering and compositing tools.

Since version 7.4.2, there is a new Standard sRGB colour space parameter, which is a nice addition for having UI elements properly managed. It is used to convert the colour set in the hexadecimal field of the colour picker, to save and load colour swatches within the colour picker, and to be listed as a Display in the colour picker list. This update also adds support for specific OCIO roles.

OCIO is a colour-management solution developed originally by Sony Picture Imageworks, aiming to enforce colour-management consistency between DCCs. It was introduced in Substance-Painter version 7.4. You can change all the colour-management settings at any moment in the project settings. You will be offered two modes: Legacy and OpenColorIO.

cypaint

Triangulate the mesh before baking

When working with 3D meshes, it is common to define the mesh geometry using polygons with multiple border edges per face, typically quads (4 edges) or n-gons (more than 4 edges). However, when it comes to baking and rendering, these polygons need to be converted into triangles for easier computation, especially on the GPU. This process is called triangulation.

Different software and game engines may triangulate meshes differently, which can lead to issues when transferring models between programs. For example, a user on Reddit encountered an issue where their model looked fine in Substance Painter but exhibited weird normal artefacts when rendered in Unreal Engine. This was due to a mismatch in triangulation between the two programs, resulting in incorrect decoding of information by Unreal Engine.

To avoid such issues, it is recommended to triangulate the mesh before baking. By doing so, you ensure that the mesh is in a format that is universally understood by all software, reducing the likelihood of compatibility issues. Additionally, triangulating the mesh before baking gives you more control over the triangulation process, allowing you to optimise the mesh for your specific use case.

In the case of the user modelling a sword, they were advised to first triangulate their low-poly mesh before baking and exporting it to other software. This is because different programs may triangulate the mesh in different directions, causing shading errors. By triangulating the mesh beforehand, they can ensure consistent shading across different software.

While triangulating before baking can help prevent certain issues, it is not always necessary. Some users have reported successfully baking high-poly meshes without needing to triangulate first. However, it is still good practice to understand the concept of triangulation and its potential impact on your workflow.

cypaint

Change the blending mode to normal

When working with Substance Painter, you may encounter issues with underlying normals affecting other elements in your project. Normals are used to define the direction of a surface and are essential for lighting and shading. To fix weird normals in Substance Painter, one common solution is to change the blending mode to "Normal".

Here's a step-by-step guide on how to change the blending mode to "Normal" in Substance Painter:

  • Create a new layer: Start by creating a new layer in your Substance Painter project. This can be a regular layer or a fill layer, depending on your specific needs.
  • Change the blending mode: With the new layer selected, locate the blending mode options. This is usually found in the layer stack window or the tool properties section. Change the blending mode of the new layer to "Normal".
  • Paint on the normal channel: Once the blending mode is set to "Normal", you can start painting on the normal channel. Any details or modifications you apply will now overwrite the baked normal map on the layer below. This allows you to make changes without affecting the underlying normals of other elements in your scene.
  • Adjust opacity for underlying effects: If you want to retain a subtle underlying effect from the layers below, you can adjust the opacity of the new layer. Reducing the opacity will allow some of the underlying normals to influence the appearance, creating a softer blend.
  • Experiment with blending modes: Substance Painter offers various blending modes, such as Multiply, Add, Subtract, Max, Min, and Switch. Each blending mode combines the foreground and background layers differently, resulting in unique effects. Experiment with these blending modes to achieve the desired result for your project.
  • Consider using heightmaps: While changing the blending mode to "Normal" is effective, you may also explore using heightmaps instead of normal maps for better blending. Heightmaps offer smoother transitions and can be rotated without causing incorrect appearances, providing more flexibility in your work.

Remember that fixing weird normals might also involve additional steps, such as triangulating your mesh before baking or exporting it to other software. Additionally, ensure that your normal maps are set up correctly and follow the proper format conventions to avoid unexpected behaviour.

cypaint

Invert the mask being used for the sticker

When working with Substance Painter, you may encounter instances where you need to adjust the normals to achieve the desired effect. Normals refer to the direction that a surface or polygon is facing, and they play a crucial role in determining how light interacts with an object in 3D space. In some cases, you may need to "invert the mask being used for the sticker" to fix weird normals. Here's a detailed guide on what this entails:

Understanding the Issue

When working with stickers or decals in Substance Painter, you might encounter a situation where the underlying material's normals affect the sticker. This can cause unwanted visual artifacts or distortions in your desired design. Essentially, the normals of the underlying surface are influencing the appearance of the sticker, resulting in an undesirable outcome.

Inverting the Mask

To address this issue, you can invert the mask being used for the sticker. A mask determines which parts of a layer are visible and which are hidden. By inverting the mask, you can control which areas of the sticker are affected by the underlying normals. Here's a step-by-step guide:

  • Select the sticker layer: Ensure that the sticker layer is selected in the layer stack. This is crucial because you want to apply the inversion effect specifically to the sticker.
  • Right-click on the mask: Once the sticker layer is selected, right-click directly on the mask. This will open a context menu with various options.
  • Choose "Invert Mask Background": From the context menu, select the option labeled "Invert Mask Background." This action will reverse the areas of the mask that are transparent and opaque.
  • Preserve effects: Inverting the mask background is a useful technique when you want to preserve the effects attached to the mask. Instead of destroying and recreating the mask, inverting allows you to maintain the effects while changing the affected areas.
  • Test and adjust: After inverting the mask, observe the results and make any necessary adjustments. You may need to fine-tune the opacity or play with the Wrap to Underlying setting to achieve the desired outcome.

Additional Considerations

Inverting the mask is just one approach to dealing with weird normals caused by underlying materials. There are a few other techniques you can explore as well:

  • Change Blend Mode: Change the blend mode of the sticker layer to "Normal" or "Replace." This can help the sticker's normals take precedence over the underlying normals.
  • Adjust Opacity: If you still want a subtle effect from the underlying normals, you can adjust the opacity of the sticker layer. Lowering the opacity will allow some of the underlying normals to show through.
  • Triangulate Meshes: If you're exporting to certain engines, consider triangulating your meshes before baking. This can help prevent shading errors caused by different programs interpreting quad meshes differently.
  • Harden Edges: If you encounter normal artifacts, try hardening the edges of your low poly mesh before baking. This can help reduce the appearance of unwanted artifacts.

By following these steps and considering the additional techniques, you should be well-equipped to fix weird normals in Substance Painter by inverting the mask being used for the sticker. Remember to experiment and adjust the settings to achieve the precise effect you're aiming for.

Frequently asked questions

To remove the effect of underlying normals on the top layer, you can follow these steps:

- Ensure that the layer you want to remain unaffected is selected.

- Change the blend mode on the layer to 'Replace'.

- If you want to retain a bit of the underlying effect, adjust the opacity below the blend mode.

To fix weird normal artefacts when baking, try the following:

- Triangulate the mesh before baking and exporting to other software.

- Fix shading errors on your low poly mesh.

- Adjust the sharp edges or add different topology.

To fix normal map painting issues, try these steps:

- Ensure your painting layer has the normal channel set to "normal" or "replace".

- Invert the green channel in the normal map layer via Levels.

Written by
Reviewed by
Share this post
Print
Did this article help you?

Leave a comment