Home Unreal Engine

Normal Maps - Marmoset/Substance Painter vs Unreal

polycounter lvl 2
Offline / Send Message
Sloth_42 polycounter lvl 2
Greetings fellas,
I decided to give the marmoset baker a try for the first time (pretty good so far), but ive come across an issue thats confusing me a bit at the moment. I read some Marmoset/Substance documentation and forum posts trying to figure it out, but couldnt quite come up with a definitive answer. Maybe im missing something

Project details:
Using Marmoset 3 to bake, Substance to texture and UE4 to render 
Preferred normal format = DirectX
Marmoset tangent space: Marmoset

Problem:
Do I need to flip Y channel in the marmoset normal baker to be the correct format for Substance (DirectX) ? Does the marmoset baker output OGL or DX normals by default? The previous question is probably the most important one as that'll tell me whether to flip Y. And if I were to change the tangent space settings in Marmoset, how would that impact the handedness of normal output (Y+ / Y-) ?


Hoping to get some feedback, thanks in advance 

Replies

  • Ghogiel
    Options
    Offline / Send Message
    Ghogiel greentooth
    yep. in the baker click the gear next to normal map and tick the box in that says flip g channel to get -y.

    The tangent space settings are how the tangents are calculated, if you are rendering in UE4 you'll want mikk space and not really marmoset.
  • Alex_J
    Options
    Offline / Send Message
    Alex_J grand marshal polycounter
    From the Wiki:


    It's actually not something you really need to stress about because if the normal map looks wrong all you got to do is flip a checkbox in either program. Or just output both formats at export time.

    IIRC substance painter is set to directX format by default. You can change that in the project settings. I usually don't bother. Since display looks so much different in SP versus game engine, I consider the viewport a very rough analysis and tend to export to the final render engine constantly to view progress there.
  • Sloth_42
    Options
    Offline / Send Message
    Sloth_42 polycounter lvl 2
    Alright thanks alot guys! Looks like I'll be proceding with Mikk/Xnormal tangent space and a flipped Y channel in Marmoset. I also just clocked that inverting Y is the same thing as inverting the green channel (which I hear alot more frequently, hence me thinking they might be two seperate things).

    Cheers
  • Sloth_42
    Options
    Offline / Send Message
    Sloth_42 polycounter lvl 2
    Unfortunately I ran into another issue. Searched Polycount, UE4 forums etc but couldnt find a definitive solution. Thought it might have to do with the lack of mesh triangulation, so I rebaked everything with triangulated meshes, but that didnt change anything. Normals display fine in Marmo and Substance.

    Problem: 
    Normal maps / Textures are warped in UE4, for no apparent reason.

    Project details:
    Baker:                  Marmoset (Mikk/Xnormal Tangent Space, Inverted Y)
    Texture Size:       8K
    Texel Density:     20,48px / cm
    Mesh Triangulation: Yes



    Hoping for some helpful tips and tricks as usual
     Cheers


  • Eric Chadwick
    Options
    Offline / Send Message
    Moving this from Technical Talk to Marmoset section, should get you in front of the relevant eyeballs.
  • EarthQuake
    Options
    Offline / Send Message
    It's hard to say from the image, but if it looks correct in Toolbag and Painter, I would imagine this is an Unreal specific problem.
  • Neox
    Options
    Offline / Send Message
    Neox veteran polycounter
    hm check the uvs of the unreal object, could be uv compression. not sure. export your mesh from unreal and check in your main software how it looks with your maps applied.
    if it is compression you will have to apply that compression prior to baking.
  • Sloth_42
    Options
    Offline / Send Message
    Sloth_42 polycounter lvl 2
    Neox said:
    hm check the uvs of the unreal object, could be uv compression. not sure. export your mesh from unreal and check in your main software how it looks with your maps applied.
    if it is compression you will have to apply that compression prior to baking.
    Think you're on to something. Opened the asset viewer and looked at the Mesh UV Density. Many of the warped parts coincide with understreaming. Coincidence... i think not. Gonna try using the StreamingDistanceMultiplier (https://docs.unrealengine.com/en-US/API/Runtime/Engine/Components/UStaticMeshComponent/StreamingDistanceMultiplier/index.html)

    EDIT: Using 'float StreamingDistanceMultiplier' doesnt seem to do anything. Is something like 2 StreamingDistanceMultiplier the correct format?




    PS: Can a mod move this to the UE4 section? cheers.
  • EarthQuake
    Options
    Offline / Send Message
    Sloth_42 said:
    PS: Can a mod move this to the UE4 section? cheers.
    Yep, here you go.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Just disable the "compress uvs" checkbox on the mesh.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Actually its called use full precision uvs and you need to enable it:


  • Sloth_42
    Options
    Offline / Send Message
    Sloth_42 polycounter lvl 2
    @Obscura

    You just saved me a headache. Thanks a lot ! 
Sign In or Register to comment.