Hi, I am following the tutorial for Handgun by Eugene, I am at the texturing step and when I try to paint across the seam, the normal is flipped for some reason on the opposing axis, Like in the images
You can see that the normals are weird on the right side
better visible here, The lighting is not uniform
This is the exported map in blender, notice the blue is kind of upside down on the right.
UVs
Any other mesh works just fine, it is just this particular mesh that is causing the issue, even If I delete the mirrored side and then duplicate + Re Uv it, the issue persists.
I have tried everything within my means, there are no custom properties attached. If I create a new mesh and mirror it then it works, but If I use this one then the normal issue appears.
This is not a UV problem (To my limited knowledge), as I have re-did the UVs for this test mesh.
I am not keen on re-doing the whole process of lowpoly and Uv, and would be grateful if someone could help me as to what is wrong with this one.
Thanks a lot!
Replies
But regardless, before attempting to "paint over" anything your model needs to look the way it should with its normalmap applied ... which clearly isn't the case here. You are probably introducing variables not present in the course, like different software or different settings.
And yes, the colors of tangent-space normalmaps will nearly *always* shift colors across a UV seam as the color data is relative to the surface and the UV coordinates. Do a test bake on very a simple model, and then another test bake after rotating a UV island. You'll notice it that all the colors of the part will change.
Hi, Thanks a lot for replying.
Apologies for not making the post clear, reading it after a break, and it is a bit ambiguous
I will try to make this reply detailed so as not to cause confusion
1) The Software, Tutorial and how I followed it
The tutorial originally is in 3ds Max, it uses uv-layout for Unwrapping and rizom for packing, toolbag for the Highpoly to low and then substance painter in the end.
This model is the Low poly of Eugene, I have just painted height on it, nothing more. Here the highlight is acting naturally, it is not duplicating and upside down on either side, just a falloff.
The UVs are offset on his part as well
Also, the normal bake goes smoothly in marmoset, The issue appears in painter
Thanks a lot, going through the thread, I will update if something helps
Well, Substance Painter will never be the actual target environment for the model to be displayed in - an actual game engine will be. Hence I personally see no point in giving *any* attention to the way things shade in Substance Painter (outside of making sure that the generators behave as intended). In other words, once you have an asset that shades well in-engine, Substance Painter can then simply be used for what it is good at : texturing models.
(I've personally stopped using it years ago as it doesn't have a place in my own specific pipeline, but of course I understand that many rely on it. Interestingly enough the first release of Substance Painter had incorred normalmap shading. So who knows, perhaps there are still broken things going on with it even after all these years).
At the end of the day your model loaded in Blender Eevee and with its normalmap applied looks absolutely flawless to me. And an asset looking good in this context can 100% be exported faithfully to UE4/UE5 since the Blender to Unreal FBX-centric pipeline gives full control on all the needed export/import options. I assume that it would also be the case with other engines.
TLDR : Outside of the UVs not being organized intuitively and perhaps the packing being a tad too tight I don't think there is anything wrong with this model or your workflow, at all.
This time the intended purpose is just rendering and learning, but I understand your point. If the issue is not blatantly obvious, and I have to point it out, then it won't be visible to anyone oblivious to it, probably. I proceeded a bit further and added this noise to it, and it is mostly gone.
It is visible in blender without this noise, but I will only add to it, so it doesn't matter I guess.
This is a render of both the models (Eugene's and mine) in the same conditions, Normal set to 1.
First off let's be *very* precise. What you are specifically talking about is the look of the top and bottom edges of the embossed details. In other words, this whole thread is about this and only this (which if I am understanding you correctly comes from a 2D to Normals conversion). Everything else is pretty much irrelevant.
Here are the two models you provided :
So, about the behavior of the edges of this emboss : as often with normalmaps, a counter-intuitive aspect is that unlike other types of textures (diffuse, bumps, displacement, anything really), the data is relative to UV *orientation*. If you bake tangent space normals for the same object but with it's UV islands at different angles, you'll get different colors (that is to say, different data) on everything.
It just so happens that this horizontal detail appears seamless on the model from the author of the tutorial, because both sides (main and flipped) happen to be consistent because they are oriented horizontally on the UV layout.
But on yours, since you angled it at roughly 45 degrees, you'd need another RGB value for the other side for to be consistent. So logically, to be fully accurate, a conversion of a 2D detail to a Normal map should take that into account, too - and perhaps some do. And perhaps some realtime rendering engines are able to correct for it (after all, we *can* display models with mirrored UVs just fine). But in general and unless I am mistaken it makes sense to me that any edge detail that is isn't strictly a bevel on a horizontal detail would break across a mirror seam if the color/data isn't perfectly accurate and if the surface directly underneath it isn't perfect neutral.
I am not exactly sure if there is way to this kind of conversion accurately for any angle of detail and UVs. To test things out, a first check would be to do a test bake with the parts from yours and the ref, with tris from across the mirror edge UVed uniquely. It would give you a good feel for what causes the discontinuity.
It would also be interesting to do another bake with a geo floater as opposed to a 2D>Normal conversion and see what happens. And yet another test would cousist of doing more extreme 2D to normals conversions with much bigger embosses/bevels, to maximize the visibility of what happens.
Overlapping/Offset and angled UVs are the worst possible combination that you could deal with, and this is my case. I will redo the UVs
Thanks a lot for figuring it out!