Jump to content

UV unwrap without holes


breadbox

Recommended Posts

Trying to use the uv unwrap on some high res geo but it produces holes in the planar projections (as expected but not desired). some of my texture baking operations in other applications are creating some artifacts because of the non seamless UV surfaces.

Is there a way to weld them back together to make more seamless uv shell islands?

Or to somehow make a "shell" attribute from a low res geo that could then stick to the high res remesh?

 

UV_holes.thumb.png.5f05b771b28903334bc5d7b5d3181954.png

UV_textureing_question.hipnc

Link to comment
Share on other sites

Still looking into this to see if there might be a better way. 

I can potentially UV the voronoi clean at low res, and then apply the remesh after the UV but remesh kind of destroys the UV.

Is there a way to preserve the UV's through the "remesh" operation? 

 

Link to comment
Share on other sites

7 hours ago, breadbox said:

Still looking into this to see if there might be a better way. 

I can potentially UV the voronoi clean at low res, and then apply the remesh after the UV but remesh kind of destroys the UV.

Is there a way to preserve the UV's through the "remesh" operation? 

 

If the shapes are not too different after remesh, you can indeed transfer UVs between the two geo, like any other attribute. You can use the Attribute Transfer node, that take two inputs, and transfer based on distance, with options to average the values etc.

You can even do your own by using xyzdist, primuv (uv of each polygon), and transfer the UV of vertex or points based on that.

But concernign your initial question, I am wondering if there is not a way to process the UV to fill the holes : you can use the Connectivity node and check the « use UV connectivity »; then use the Measure node on « area »; then inside a For Loop based on the class attribute of the Connectivity Node, you Promote the area to detail, setup on « sum » and not average, so that you get the area of the island of UV, and Promote back to primitive. Then for each primitive, you look at the area, and if it is lower than a certain threshold (if is an isolated polygon), you seam its UVs with its neighbours (I think there is a node than can do that ? Or maybe loop over its points, get a list of neighbours primitives, and create its UVs averaging the UV values of its neighbours).

And you « loop » that process a number of time necessary to fill the holes. 

I haven’t tried, that’s just how I would explore to obtain a solution...

Hope this helps :-)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...