A scenario we often run into at our studio is that we need to add/remove/change features of a model after it has been completed due to iteration or further alternatives of the model.
If, for example, we need to add a new limb to a creature - If the UV unwrap has no room for the new geometry we have to move or shrink a bunch of the other existing UV objects to fit it. When we have to do this we have to spend quite a lot of time rebaking and manually tweaking the existing textures to fit the changed locations of the existing UV objects. This is a big waste of time and it seems like something that should be automated via a tool surely?
The question is: Can any 3D modelling tool, or even any external tool, be used to take a UV object and move, rotate or scale it and also modify all underlying textures as well?
Replies
to some extend substance painter can do this. but it is very limited sadly. if the mesh changes too much reprojections will fail
i'd say if you do this regularily and you waste a ton of time doing the same shit by hand. It is time to hiresomeone to write you a tool to do it for you.
Yeah I read up on UV reprojection in Substance - Its not helpful if you're doing any work outside of it and as you say it is quite limited in what it can achieve.
We may even make our own tool for this problem actually. However I wanted to see if a solution already exists. It seems to me a pretty common problem no? Talking to our artists it seems most know this problem is a pain in the ass so they avoid moving UV objects around at all costs, which causes them to avoid improving or more easily changing models. I wonder how much of an edge case this problem really is.
if you think its a headache and complicated in games. go work in vfx/movies in a very rigid pipeline :D
yeah this shit is annoying and the amount of maps/layers for a usual texture is insane. there was a tool for 3dsmax ages back that allowed to load a psd and it would rebake all layers. but thats ages ago and i didn't use it in a very long while
Well, Blender does all this with its default baker. All it takes is a secondary UV channel laid out as desired, a blank image added inside the material but not connected to it (to act as a recipient for the transfer), and one click of the bake button (in Cycles mode) for each desired map to be re-written according to the new UVs (Diffuse, Normal, and so on). This effectively allows for a somewhat non-destructive workflow, starting with temporary UVs and then refining later as needed. I can imagine that automating all passes should be fairly straightforward, by rebaking straight to the already connected images. And yes, normalmaps get rebaked accurately that way, taking all orientation information into account.
The only issue I've seen is that parts with a metalness value get multiplied over the diffuse, so it's best do disconnect the metalness input beforehand.
And indeed, a workflow/pipeline that doesn't allow for such edits along the way is IMHO very, problematic. In my opinion this is actually the biggest weak spot in today's way of making game art.
Substance Designer has this feature. So does XNormal, but using XNormal is its own punishment.
Can you dig up any documentation on that? I can't find anything.
In designer it's just one of the bake types. It will fix normal maps up if UV shells rotate/scale non-uniformly
It cant bake from UV set to UV set on the same mesh afaik.
It's in the baker documentation.
I don't know about xnormal because it's not 2014
Xnormal might have a UI from the 90s, but somehow it is still getting updated. Supposedly.
The designer one will work just fine, just, upload the target mesh.
Seems like a massive pain in the ass to have to rebake for every time you want to try to move/rotate/scale a UV shell no?
Would people get some benefit if we made a tool to literally just click n drag on a UV shell and move it around with realtime updates to all the textures?
That would be awesome indeed.
What modeling/uv software is your studio using?
Our studio has no strict software requirements. We use Max and Blender primarily though. I'm quite tempted to put a couple of weekends into developing a tool to solve for this purpose though - I think I can write something basic pretty quickly.
Bake To Texture in Max is pretty easy to use. If you're using Physical Materials and Arnold then the render elements are quite straightforward.