Greetings everyone,
I have the following conundrum, I accidentally deleted the high poly mesh and now I have just the very low poly mesh, its all quads if that matters, but I do have the very detailed normal map already created, is there any chance or any miracle out there that I can perform of any sort to transfer or projection the actual normal map back to the mesh as long as I increase its count to sculpt more on it or add details and such, please help if possible, what software might allow me to do this?
I understand already that there are ways to have a high poly mesh, render a normal map and then transfer that to a low poly, but id like to know how do you reverse that so to speak from a highly detailed normal back to a high poly mesh where you can actually see 3D results on the mesh as if it was freshly sculpted to add even more details?
Sorry if I am not using the right technical terms I hope someone can understand what I mean, I am still new to this sort of things
Replies
About displacement is kind of easy so to speak.
I am not talking about converting normal to geometry, is that even possible?
I simply want to transfer back the details off of the normal map back to its actual mesh, it has to be somewhere some sort of reverse process, right?
A normal map encodes angles, not distances. That means they're all relative... angles relative to the current lowpoly mesh.
There are software filters that try to approximate a height map from a normal map, but they're all pretty crappy, no where near enough detail to recreate the original high poly model.
Sorry. Implement a better backup system, nothing like a hard lesson to incentivize proper backups.
Well, I guess it is what it is, thanks.
- Loading the normal map in Crazybump (or similar), to create an approximation of a displacement map. This is 100% eyeballing and playing with the settings until things look smooth. Getting the Normalmap Yup/Ydown correct on import is important here.
- Then in Mudbox, adding a displacement operation using this hacked in displacement map. Here too some eyeballing of settings will be necessary to find the displacement 0 and the appropriate multiplier but it's quite straightforward.
Once applied it will appear as a regular sculpt layer. Then it's just a matter of sculpting ahead to clean up everything.
I read all the above and it still hurts my logic NOT to be able to reverse what is essentially a math process.
If you feed substance painter or equivalent with a high and low poly, it will calculate all the maps as a way to reconcile both. It is a simple equation then. If you give the low poly and all the maps to a software; why the heck is it not possible to reverse this math process, ie derive the high poly?
thanks
@elmirage
Because math is not always reversible. Like it's not possible to get back x from y = round(x).
Anyhow it should be possible with a fitting algorithm to reconstruct the highpoly.
The algorithm would run as many itterations as necessary until the resulting normals from the normal-map + lowpoly match the normals of the reconstructed highpoly. But as this is not required very often I guess no one did the effort yet
However if you had a displacement map, then you could tesselate and displace the lowpoly to get closer to the highpoly shape.
Be aware though, greyscale displacement maps cannot record undercuts.
Similar to this.
Given height and normal information you could derive an approximation of the original highpoly mesh quite easily. It's not actually feasibly given the tools available in designer/painter but a standalone tool could be written to do it.
Like was said in other posts though, this is very much an approximation and can't capture features like undercuts.
The other big problem is unless you store your heightmap in un-normalized floating point *and* know how the units are getting mapped, you have no idea how much the height should contribute as a position offset factor.