0
$\begingroup$

What I want to accomplish: I want the edges of the UV islands to only be horizontal or vertical to alleviate aliasing present in Substance Painter. The aliasing comes from the fact that the edges of the UVs "cross over" the pixels in a 2k texture. This essentialy means there can be NO diagonal edges in the UVs. I also want this to be done automatically or batched as there are thousands of edges among the UV islands.

What went wrong: I have not found a way to align the EDGES to the pixels of the texture automatically. I can only do it by hand. But there are thousands of edges. I have the UV Toolkit addon. This allows me to select the island edges. The gridify option in this addon sadly will only "gridify" the entire UV island and not just the edges. Gridifying the entire UV island causes the UVs to go thermonuclear and islands begin to overlap THEMSELVES hundreds of times.

What I have tried:

  • The gridify option in the UV Toolkit addon. This seems to only work on entire UV islands.
  • Snap to pixels in UV menu with all islands selected. This does snap the vertices to pixels in the grid (kinda arbitrarily though) but the edges remain diagonal.
  • Searching google/StackExcange for answers to either straightening the Uvs in Blender or getting rid of the insane normal seams in Substance Painter.
  • Tried changing UV padding in Substance Painter.

https://substance3d.adobe.com/documentation/bake/aliasing-on-uv-seams-159451864.html

This guide here mentions that aligning the UVs to the texture will alleviate the aliasing that occurs. This aliasing is most present in the normal channel in substance painter. The normal channel is most effected by this aliasing. No matter if a normal stamp is used or the normal map is procedurally generated this seam is pronounced.

Distortion is allowable. Substance painter handles distortion very well but does not handle seams well AT ALL. Uvs have been handplaced and the margins are good. There is no existing texture we are trying to map the UVs to. I am simply trying to prepare the model for Substance Painter. Maybe there is a high iq fix in Substance Painter I don't know about but Adobe recommends fixing the UVs by aligning their edges to the texture so that no crossing over of pixels occurs.

Pictures:

Diagonal lines in UVs that cross over pixels.

Ideal flow of edges of UV islands.

Thanks to Vklidu for the suggestion. The method they described is great for getting the outer edges straight. It will straighten the inner edges however so there may be some distortion. But if it works, it works.

Vklidu face topology

$\endgroup$
4
  • $\begingroup$ Select All, Unwrap > Reset, than select one face (to be Active), Select All and Unwrap > Follow Active Quad. Than if you need position vertex per pixel go to UV > Snap to Pixels (Corner, Center) $\endgroup$
    – vklidu
    Commented Dec 5, 2021 at 18:27
  • $\begingroup$ Wow! Honestly, that seems to work. UVs look whack but Substance Painter seems to be fine with crazy distorted UVs. What's most important is the edges are horizontal and vertical and aligned with pixel corners.. I wonder why UV Toolkit's gridify makes the UVs explode. Thanks. (Also, I can't select your comment as an answer for some reason :/ I think comments can't be answers idk) $\endgroup$ Commented Dec 5, 2021 at 18:56
  • $\begingroup$ Oh, ok, I'll do that. Yeah some face overlap. I'll just cut them out and put them somewhere else on the UV map $\endgroup$ Commented Dec 5, 2021 at 19:36

1 Answer 1

1
$\begingroup$

Select All, Unwrap > Reset, than select one face (to be Active), Select All and Unwrap > Follow Active Quad. Than if you need position vertex per pixel go to UV > Snap to Pixels (Corner, Center)

Answer from Vklidu's comment.

$\endgroup$
1
  • $\begingroup$ Thanks for creating answer (keep site organised) :) $\endgroup$
    – vklidu
    Commented Dec 5, 2021 at 19:43

Not the answer you're looking for? Browse other questions tagged .