Making a tiling UV non-tiling

SnowSultanSnowSultan Posts: 3,798

I was wondering if someone might be able to explain in fairly simple terms how one might go about redoing the UV maps of an object that uses tiling textures into a single non-tiling UV (preferably in Blender, since that's the only modeler I have access to). My main reason for wanting this is to be able to texture ground planes and roads accurately, without the texture tiling.

Thanks in advance for any advice.

Comments

  • mjc1016mjc1016 Posts: 15,001

    For things like ground planes, there usually isn't much that's needing to be done.  They are often a very simple UV mapping, so it's just a matter of making a texture set that fits, as opposed to using a tiling texture.

  • SnowSultanSnowSultan Posts: 3,798

    True, but I'm also working with a road prop that is tiling unusually and would also like to do some custom work on some buildings that also use tiling textures.

  • Richard HaseltineRichard Haseltine Posts: 108,799

    Have you looked at other options, such as using a Decal node in Iray (assuming the decal doesn't also tile)? The problem is that if you don't tile a large item such as an environment then your maps are either going to be blurry or ginormous.

  • Oso3DOso3D Posts: 15,091
    Or use something procedural, though that has its own issues.
  • TangoAlphaTangoAlpha Posts: 4,587

    What do you mean by tiling unusually? It might help if we understand how your prop is mapped initially.

    There are several ways you might typically map something long and thin, like a road. Let's say for argument that the road's length is 20 times its width. Our UV map would be a rectangle 20 on one side and 1 on the other. If we map that entirely within the UV grid, we only use a very small proportion of the  texture area. This would be untiled, and even at 4k by 4k, would leave us with a very low definition surface, since we'd use 4096 pixels for the entire length, and only 204 for the width. If our road texture was a square tile, we'd have to set the width tiling to 20 in order for it to look right.

    Next way is to scale the UV, so its width fills the grid. The two ends will disappear way off into the distance, but this works to our advantage, since tiling will be automatic - the texture wraps around on any part of of the UV that's outside the grid. So we have an effective texture size of 4096 x 81920, and we don't need to set any tiling in the shader. If the texture is not a seamlessly tiling texture, you will see the seams!

    Third way is to distort the UV: Map it as a square so it exactly fills the grid. Now 4096 pixels is the width, but it's also the entire length, so the road will look distorted. We need to set the tiling parameter in the surface to 20, to cancel out the distortion.

  • Seconding Richard's solution for decals, or you could even overlay another plane with your details painted on.

    Back to the original question, UV mapping is kind of an art form, but the basics are easy enough to understand. I'd start with the manual or find some videos on youtube if that's more helpful. Maybe if we had a picture of the odd tiling we could narrow down to what you want to accomplish.

  • SnowSultanSnowSultan Posts: 3,798

    Thank you for the replies so far.

    The prop is unusual (it's from a Road set here at DAZ) because it tiles everything 10 times even when the Horizontal and Vertical tiling values are set to 1. I had to set those values to .10 and offset it vertically by .10 (which was the confusing part) to get a single tile to fill the road as expected.

    I'd still appreciate it if someone could answer my original question though; are there any tutorials explaining how to take an object that uses tiling textures and map it so it uses normal coordinates? I'd like to be able to paint on some of Faveral's buildings that use tiling textures (and I'd rather not use decals, they're a massive pain to place precisely).

    Thanks again.

  • mjc1016mjc1016 Posts: 15,001
    edited June 2016

    There is no need to do anything...you make your maps fit the existing layout.  You don't have to change the layout, unless you want to, and that is just like starting from scratch, with an unwrapped object.  Often the mapping is planar or cubic...the most basic. 

    It's the textures through the surface shader are doing the tiling, not the UV mapping.

    Post edited by mjc1016 on
  • Richard HaseltineRichard Haseltine Posts: 108,799

    The tiling probbaly works by giving each polygon that makes up the object the same UVs, so they overlap on the UV grid, or by stretching the mesh out on the UV grid so it runs across multiple UV squares (or UDIMs as we'd now call them) which has the same result. The fact that it is has been mapped that way certainly wouldn't stop you mapping it in a more traditional way.

  • Thank you for the replies so far.

    The prop is unusual (it's from a Road set here at DAZ) because it tiles everything 10 times even when the Horizontal and Vertical tiling values are set to 1. I had to set those values to .10 and offset it vertically by .10 (which was the confusing part) to get a single tile to fill the road as expected.

    I'd still appreciate it if someone could answer my original question though; are there any tutorials explaining how to take an object that uses tiling textures and map it so it uses normal coordinates? I'd like to be able to paint on some of Faveral's buildings that use tiling textures (and I'd rather not use decals, they're a massive pain to place precisely).

    Thanks again.

    http://i.imgur.com/8JtSVtC.jpg

    In the UV editor on the right side, you can see a faint grid in the lower left, (the big grid is my selected UVs) your road might look something like this; overscaled. You should be able to overcome this in D|S by entering say -10 for tiling if it is a factor of ten.

    Anyway, that center area represents the "normal" texture area, which is how the tiling happens as the others described. So we could scale it down so there's no tiling. The simple steps are: Tab to enter edit mode, Ctrl-Tab to go into face selection, A to select all the faces. In the main menu at the top is a boxy icon set to 'default', you can drop that down to select the UV Mapping UI layout. the S key scales and G key moves things around.

  • SnowSultanSnowSultan Posts: 3,798

    Thanks very much for those additional tips, I will bookmark them and try them later.

  • FSMCDesignsFSMCDesigns Posts: 12,846

    Thank you for the replies so far.

    The prop is unusual (it's from a Road set here at DAZ) because it tiles everything 10 times even when the Horizontal and Vertical tiling values are set to 1. I had to set those values to .10 and offset it vertically by .10 (which was the confusing part) to get a single tile to fill the road as expected.

    I'd still appreciate it if someone could answer my original question though; are there any tutorials explaining how to take an object that uses tiling textures and map it so it uses normal coordinates? I'd like to be able to paint on some of Faveral's buildings that use tiling textures (and I'd rather not use decals, they're a massive pain to place precisely).

    Thanks again.

    Actually that isn't that unusual for that type of a model. Usually with roads and terrains you need tiling textures since using a regular, none tiling texture would be a very huge texture in order to keep any kind of detail. In the modelier they used the tiling options when they mapped it, just like you do in DS which is why it is tiled and the Horizontal and Vertical tiling values are set to 1 in DS. To fix it you will have to remap it, but then to get any type of detail in DS you will either have to use a huge texture or tile it again in DS

    Here is an example. I have a road OBJ that I use in my renders. The object is not square, so I tiled the texture you see in the image twice to give it detail and length. When loaded in DS the Horizontal and Vertical tiling values are set to 1 even though it is tiled twice. Now to undo that I select the road part only and remap it to fit perfectly in the texture space, untiled. I can now redo the texture to fit into the new space or apply a tiling texture to give it detail while keeping the file size smaller. Hope that helps some

    streettest.jpg
    1694 x 875 - 604K
  • FaveralFaveral Posts: 416

    Hi Snow,

    Like has been mentionned earlier, I make my tiling by streching the UVs beyond the 1x1 UV square.

    To make it non tiling, simply get into a uv editor and scale down the UVs so they fit in the square. A word of warning though, a simple tiling texture can cover quite a big surface, so when scaling down the UVs, you might need a massive map to replace it.

Sign In or Register to comment.