Say I have a mid-poly model, that was made out of a high-poly one. I don't have the high poly one, only the mid-poly. Say I want to make a low-poly model out of my mid-poly one. What is the best way to bake normals for the low-poly model?
Here is what I tried:
1. 3ds max Render To Texture _NORMAL MAP_ from a mid-poly model with normal map applied.
2. 3ds max Render To Texture _DIFFUSE MAP_ from a mid-poly model that has normal map assigned to an albedo slot.
I test the final result in Unity, because that is the target platform. The model also has the entire set of textures required for PBR rendering, each of which I baked using the second (2) approach (don't think there should be any difference with other maps). Here is what I get:
The (1) approach gives correct normal maps (obviously) but the final result looks very different from the original model.
The (2) approach looks incredibly close to the original mid-poly model, but sometimes has incorrect ligting.
Just want to stress that only the normal maps are different between the two models, everything else is absolutely the same.
Here are the screenshots. The original mid-poly model is in the middle, the (1 correct) model is on the RIGHT, the (2 incorrect) model is on the LEFT:
I've spent the last 24 hours tweaking this and testind different approaches, I made sure 3ds max computes and exports normal, tangent and binormal vectors as well as smoothing groops and I think I am going a little bit insane. Is there a way to get the best of both worlds?
Replies
Then you can't bake tangent space normals for Unity in Max. (As far as I know.) Max uses a different tangent space than Unity, which used to have its own method and recently changed to Mikkt. One way around that would be to bake an object space normal map and convert that to the respective tangent space in Handplane.
Could it be that the tangents are messing the whole thing?
And still, is there a more advanced baking method that gives a higher quality while still stays correct as method 1?
Like said you could bake an object space normal map and convert that with Handplane (which is free, I think) or you could use another software to bake your normals e. g. substance designer / painter.
So the only method I can offer at the moment would be Max object space + Handplane.
Xnormal perhaps, but it has been ages since I used that.
https://share.allegorithmic.com/libraries/2434
I checked it and it perfectly solved my case! Read my comment (account name 'Maya Gameworks') on the page I linked to get the idea of how I did it.
Provided the normal map for the midpoly was baked in Max (renders of the mesh with the applied normals look fine) you could bake the world space normals directly in 3ds max, though. The different tangent bases matter only for tangent space.
Have you tried the Handplane workflow? Should be quicker.
And why don't you have the high poly source model? If this is someone else's model you should seek permission to use it, or at least give them some attribution.
https://www.turbosquid.com/FullPreview/Index.cfm/ID/1082345?ID=1082345&seo=0
Noreon, as it appears the entire process can be done even faster by just using Substance Designer, see this thread:
https://forum.allegorithmic.com/index.php/topic,14839.msg63607.html#msg63607