Several questions about InstaMAT: Normal map issue, custom env map and PBR tweaks

Hello guys,

We have several questions about Instamat, hope you can give us some recommendations how deal with it.

  1. How to set custom environment map? I found default env maps are in c:\Program Files\InstaMAT Studio\RawEnvironmentScreenRes but we can’t copy files to that folder due to windows user account restriction we have.

  2. How to fix normal artifacts in viewport for imported normal map? This is a Layering Project with fbx mesh created in Maya. As you can see the metal detail on the back of the character looks not like expected (reference image below).
    Normal issue

Mesh settings

Reference screenshot from Maya

    1. And more broad question about PBR render. What do you recommend to tweak/change in the InstaMAT scene below to get rendered viewport image looking closer to the reference, our Maya/Painter/In-game one. We solved it by writing custom shaders for Maya/Painter. InstaMAT doesn’t support it at the moment, but it has so wide toolset that probably it can be done in other way?

InstaMAT viewport screenshot

Maya/In-game viewport screenshot

Thank you in advance,

Sergei S.

Hello @jagexshcherbakov and welcome to the community!

  1. In the current preview build custom environment maps are not yet available, however, internally the feature is currently in testing. The way it works is that you can copy the environment into your package and load it into the viewport, or, you can copy it into the Documents/InstaMAT/Environments folder.

  2. Can you attach the FBX file with the normal map? A base normal in layering should ideally be loaded into the “normal map tangent” settings in the material editor, I’ve selected it (blue) in the screenshot below. However, I see no reason why it shouldn’t work through loading it as separate layer.

  3. We’ll support custom viewport shaders very soon, it’s already in the planning phase. Currently, the best approach might be to select an IBL and a tonemap operator that gets you as close as possible.


Thank you for prompt reply,

I uploaded fbx with full textureset to our Instalod cloud account. Can you access it there?
Yeah, I saw Normal Tangent in Material Section but it doesn’t help.

Could you tell me how to set IBL, please? Do you mean set render mode=PBR in Evironment Settings?

Best Regards,

Sergei S.
Jagex Ltd.

Thanks for sharing the files with us @jagexshcherbakov !

I have looked at the mesh and it’s normal map and indeed I see artifacts. I believe the reason is that your normal map is in the DirectX format. Like many other renderers such as InstaLOD Studio, Unity or Blender, MAT uses the OpenGL convention for normal maps.
The good news, this is an easy fix; you can simply insert your normal map into the"Normal Tangent" input, and then choose the DirectX mesh format!

This is how that works:
Screen Recording 2024-01-10 at 16.56.36

Currently, if you feed the normal map directly into a layer as normal map it has to be OpenGL. You could simply flip the green channel. It’s very easy to do this, here’s how:
Screen Recording 2024-01-10 at 17.00.03

However, I have created a task, so the “Mesh Format” also impact normal maps feed into the layers (IG-3668).

To change the IBL, you can change the “Environment” in the viewport settings, or directly in the viewport. This is also where you will find your custom IBLs in the upcoming build.
Screen Recording 2024-01-10 at 17.02.44


Yeah, this is what I expected to see. Thank you very much.
I like that even if there is no direct solution, the flexibility of InstaMAT can offer a workaround. :+1:

Best Regards,

Sergei S.

1 Like

:saluting_face: I’m glad I could help @jagexshcherbakov !

Indeed, MAT is really amazing in this regard. But nonetheless, I have created a feature-request so the normal channel textures depend on the project settings. We should be able to get this in before the official release on 24th.

Let me know if there’s anything else you need help with.

1 Like

@jagexshcherbakov the feature has been implemented, normal maps now automatically use the format as specified on the project: