I’ve created a greeble sheet with a POM effect. Functionally, it’s doing what I want it to. greebled on UV0 and masks with eathering/ surface variation on UV1. The issue is that my UV islands have a visble seam around them.
The seams are removed when I disconnect POM, but that’s less than ideal. Hoping to figure out whatever wizardry is needed to get rid of these seams. Be it material editor, modeling, UVing, or mesh settings.
Below is my POM setup, taken straight from Grimmstar’s tutorial.
Seams are usually caused by discontinuities in texture coordinates. Try explicitly calculating the mip level for texture samples using an unaltered tex coord using the main UV index.
This video shows the same technique being used to fix a UV based artifact at the halfway point, I suspect its something similar.
Thanks Bannable, definitely learned a bit from this video. But I’m not sure it’s doing what I want it to. If I understand the video correctly, this video is explaining how to combat mipping artifacts from camera angle. My issue is with seams generated from UV islands.
That said, I created a very simple mat with the author’s DDX and DDY nodes in hopes that it would help. Still getting seams:
Just the normal map is causing errors here, but as I use grunge masks and blend normal maps, the seam gets becomes more exagerated:
DDX and DDY should be derived from a standard, unaltered tex coord, not the POM tex coord. Seams appear because of large jumps in texture coordinates (that can be caused by POM and also most other UV altering techniques), causing the mipmaps formula to think pixels are farther away than they actually are. You want smooth UVs for mip calculation, and you may want them from an alternative UV index than the texture is actually sampling from. In these cases, the seam itself is usually one pixel that samples the lowest resolution mipmap instead of the correct one.
It can happen at any discontinuity in UV coordinates not just the case shown in the video.
Edit: Here’s an example. I’m using a grid to mess with the UVs of this brick texture. Because there is a sharp jump in texture coordinates, a seam is generated.
Now, if we plug in the DDX and DDY (note it is coming from the unaltered tex coords, not after they got junk added to them) the seam is gone.
1 Like
Yes! Holy smokes thank you so much- you’ve saved me lots of head scratching