"Transferring" UVs

   8973   6   1
User Avatar
Member
8 posts
Joined: April 2018
Offline
I've been hard at work for the past couple of months to learn Houdini, and in particular modelling. So far, so good. I've had tons of fun learning it and I've already come up with some cool solutions for challenges I had been facing. So, up till now, there was no reason to get help. But now I've run into a problem that I can't seem to fix, also because I don't have a whole lot of time to figure it out myself.

I've been working on a game model, done entirely by hand (using the non-destructive workflow) so not procedural. I've managed to unwrap the UVs reasonably well. Though I feel there are still some improvements to be had with the UV tools in Houdini, there are some clever tricks to get the most out of what already exists. So I managed to do that well. But now I decided that I wanted to be less conservative with detail, so I want to use that original unwrapped model as the second LOD rather than the base LOD. So I used that same model and added more detail (by going upstream and adding more segments, then readjusting other nodes downstream to compensate).

But now I need to unwrap the new base LOD. I looked around for ways to transfer the UVs between models, and found the “Attribute Transfer” SOP. Unfortunately, the UVs get scrambled on the new model no matter what I try. So, is there a way to quickly transfer the UVs between meshes? Or is there any other way to ensure the UVs of the different LODs match up, without having to manually unwrap everything? I'd hate to have to remove/collapse edge loops manually after creating the UVs; I'd rather use the non-destructive workflow.
User Avatar
Member
1755 posts
Joined: March 2014
Offline
I don't think Houdini's proceduralism can save you from the necessity to redo your uvs. Adding geometry after you unwrapped the uvs will change the point/vertex order of your initial mesh while also creating new unmanaged uvs.
There's a reason for why uvs are dealt with after the modeling is 100% done.
There are/were some solutions in other packages, that work by projection using the uv layout from one mesh to another, but even then, that gave you only a starting point for the manual editing necessary thereafter. Might be possible to do this step in Houdini too.
Edited by anon_user_89151269 - March 23, 2019 11:23:41
User Avatar
Member
8 posts
Joined: April 2018
Offline
As I feared. The thing is, I want to control the shape of the LODs, at least for the first two or three, due to how close the camera could be and how much detail the very first LOD has. It's a hard surface model, so PolyReduce is only suitable for more distant LODs; it doesn't create very clean geometry.

The Dissolve SOP is great to remove edge loops, but some edge rings and bevels need to be collapsed as well. So I use the Edge Collapse SOP. Unfortunately the UVs remain identical, so the collapsed primitives are removed but the edges remain in place. I also use beveled edges with face-weighted normals. If I collapse those, they obviously collapse to the average position between them as opposed to where the original edge was before it was beveled.

I also tried using a UV Flatten SOP with pins to align UV islands from one LOD over the UVs of another. But too few pins and the islands won't align properly, and too many pins and the islands will distort too much.
Edited by NickEast - March 24, 2019 07:08:35
User Avatar
Member
900 posts
Joined: Feb. 2016
Offline
have you tried to look into the gamedev toolset?
there's an UV transfer node, I haven't used it but you might want to give it a look

cheers
User Avatar
Member
8 posts
Joined: April 2018
Offline
Andr
have you tried to look into the gamedev toolset?
there's an UV transfer node, I haven't used it but you might want to give it a look

cheers

I didn't bother to fully check out the toolset yet, which turned out to be a mistake. The UV Transfer SOP works great! It does indeed transfer the UVs almost perfectly. There are a couple of mistakes, but they should be easy to fix. At the very least, it saves me a lot of time having to do all the UVs from scratch, and this gives me a lot of control over the LODs.

Thank you for alerting me to something I had missed before.
User Avatar
Member
16 posts
Joined: Feb. 2019
Offline
NickEast
Andr
have you tried to look into the gamedev toolset?
there's an UV transfer node, I haven't used it but you might want to give it a look

cheers

I didn't bother to fully check out the toolset yet, which turned out to be a mistake. The UV Transfer SOP works great! It does indeed transfer the UVs almost perfectly. There are a couple of mistakes, but they should be easy to fix. At the very least, it saves me a lot of time having to do all the UVs from scratch, and this gives me a lot of control over the LODs.

Thank you for alerting me to something I had missed before.

Hi, Nick! Could you share please how do you fix the UVs after transfer?
I found that UV transfer node works perfectly if you use even division numbers in subdivide node what make sense, but not always an option.
User Avatar
Member
670 posts
Joined: Sept. 2013
Offline
anon_user_89151269
There's a reason for why uvs are dealt with after the modeling is 100% done.
Adopting manual modeling concepts (such as model first, unwrap later) is the reason people may struggle with procedural modeling. If stable UV coordinates are crucial for your project, I'd consider creating them while modeling and not just after.
Edited by Konstantin Magnus - Feb. 13, 2021 18:26:36
https://procegen.konstantinmagnus.de/ [procegen.konstantinmagnus.de]
  • Quick Links