Search - User list
Full Version: Houdini 17 UV Layout problem
Root » Houdini Indie and Apprentice » Houdini 17 UV Layout problem
MrWyatt
Hi,

I am a bit new to Houdini and got stuck trying to UV layout over multiple UDIMs. The UV Layout sop doesn't quite do what I want. Because I plan to texture my asset in Substance Painter and SP doesn't work with UV islands spanning over miltiple UDIMs I need a layout that respects the individual UDIM borders and doesn't place islands where they cross any given border. At the moment the UV Layout sop just places the islands randomly, many of them over two or even three UDIMs. I cannot seem to find a way (a button for this would be nice) to make houdini respect UDIM borders .

Am I missing something?

cheers

Guillaume
coldpizzapunk
I was looking for this too. I found if I set Pack Into UDIM Tiles, then set Tile Size to 1 and 1, and Scale to Fixed. If I enlarged so my biggest UV island fit on a tile, it would then pack the rest into new UDIM spaces. Not sure if that's the intended use, but it seems a little confusing.
Nicolas Longchamps
You need to set the udim int prim attribute so that the node knows where to pack the geometry. This attrib should hold a udim id like 1001,1002,1003,etc.
In overrides, activate “target attribute” and use your udim attrib. Then in “targets” set “pack into” to UDIM tiles.
inversionstudio
Hi there, could someone elaborate on this, as I am getting the same errors from substance painter and the udims are not overlapping as they were done procedurally with houdini 18.5 and the mesh seems to open in other applications.

SP error:
Errors have been found while splitting meshes per UDIM tile:
Mesh 'ship_aa_FINAL_EXPORT' has a face spanning across multiple tiles: UV Tile 2, 1 (UDIM 1013) with vertex at U=3.2322, V=1.38228


Is there a way to scale each udim tile locally?....this is my last option tbh. I dont want to go in and manually select all the uv's for each tile and then scale down using uvedit node as I might miss out some uv islands. Is there a way to sale udim tiles within houdini procedurally?


Thanks
Midphase
I created a tutorial series on UDIM preparation for Substance Painter. You can watch it here, it might address some questions.

marks
inversionstudio
Hi there, could someone elaborate on this, as I am getting the same errors from substance painter and the udims are not overlapping as they were done procedurally with houdini 18.5 and the mesh seems to open in other applications.

SP error:
Errors have been found while splitting meshes per UDIM tile:
Mesh 'ship_aa_FINAL_EXPORT' has a face spanning across multiple tiles: UV Tile 2, 1 (UDIM 1013) with vertex at U=3.2322, V=1.38228


Is there a way to scale each udim tile locally?....this is my last option tbh. I dont want to go in and manually select all the uv's for each tile and then scale down using uvedit node as I might miss out some uv islands. Is there a way to sale udim tiles within houdini procedurally?


Thanks

I had this issue trying to export terrain mesh to Substance.

Some stuff said on Substance forum -

It seems like some of your UVs overlap some tiles boundaries, which is forbidden, per the log:

Errors have been found while splitting meshes per UDIM tile

turns out one UV was ever so slightly over the UV grid.


Wasn't sure exactly what this meant, but could see it was some sort of uv overlap error.

Terrain segment set to 2x2 tiles.

Output tiles wrong - need to be rotated - rotate with uv texture.

Then double uv scale and move up to be in correct area for UDIM tiles.
fabriciochamon
Just came across this problem today, ended up using this simple alternative which handles crossing UV islands:

create a grid > uv texture
merge a couple copies with a "UV Transform" node before merging, so you construct the desired udim tiling grid.
uvlayout with the merged grid in the second input, set Pack into=Islands from second input

it is that simple, and should definitely be an ootb option in the uv layout node.

* attached example, and a comparision between packing into udim tiles Vs. packing into islands of second input (using the method above).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB