Hi,
This will sound insane.
But I'm currently working on a task where I have to upscale a texture and I don't have the high poly for the bake anymore. ( I don't really care about my problem, I'll solve that, I'm just asking for this as an interesting topic/problem to discuss.)
So I made a test mesh and I was thinking about transferring textures and about transferring a normal from the original mesh to new mesh with different UVs.
I read these threads:
https://polycount.com/discussion/142351/transfer-existing-diffuse-specular-normal-map-from-one-uv-to-anotherhttps://polycount.com/discussion/102128/baking-normal-map-from-one-uv-to-anotherAnd after a lot of searches around here came across nothing about transferring normals from a normal map.
But I did some tests and yes, if you rotate the island on the new mesh, the normal gets rotated as well because all the bakers transfer pixel data, which just transfers colors RGB to the rotation, so the island will stay green and so on in the original places on the map that they had on the original mesh.
As you can see here:
https://imgur.com/ttEaDOfThinking about the solutions the only plausible method is to cut and rotate the islands manually in PS after bake. But what if you cut an island or make different UVs entirely?
Other things I've thought about was generating a high poly from the normal with some tessellation and displacement.
And a thing I have yet to figure out is to somehow change the R to G, G to B, etc; as needed.
Any opinions, ideas, proposals for our future poly searchers?
Replies
If you know a software that converts normal direction color based on detected normals from a normal map please share.
Basically they both acted like putting your old normal map into the color channel and baking another color channel from that but the island was rotated in the new mesh so the normal came out incorrectly in the new map.
Just googled this, but have you tried using the Highpoly Normals Override in Xnormal?
I'll try it in max too. I imagine you're talking about baking with render to texture, right?
Alternatively if you don't have Substance a solution that will work with any baker with a transfer texture feature: Convert the original normal map to world space, use a baker to transfer it to the new UVs, convert to tangent space.
I tried it in xNormal too, and read about it before but I don't know how that would help. What are you suggesting with that override?
It did nothing except this time it baked a normal map with the intersection of the 2 uvs instead of it being flat and empty.
Before, in xNormal I was applying what ablaine says here btw.
https://polycount.com/discussion/102128/baking-normal-map-from-one-uv-to-another
In any case it's good to know! I'll mark this topic as solved so people can find it and revel in it's glory. xD
The age old way to do it is convert TS normal to object space normal map, transfer/bake maps to the new UV, convert back to tangent space. Depends entirely what program you are trying to do it in and what sources files you have access to.
This allows for very flexible workflows, as that means that an object is never really locked to a certain UV layout. Meaning that one doesn't need to sculpt a whole asset in order to start working on its bake, it can be done at any time ; and any lowpoly + normalmapped model can be considered a source high to bake from. A true non-linear workflow.