Home Technical Talk

Using Multi-Sub Object Material to Properly Apply Tiling Textures to Meshes

polycounter lvl 11
Offline / Send Message
Scizz polycounter lvl 11
I'm at a bit of stand still, and have been brainstorming for a while. WIP03.jpg

As you can see, the tiles wrapped around this object are placed perfectely, as if they were manually placed on the unwrapped object, but its actually just a 4x4 tiling texture. How would you go about making sure the tiles line up with the bottom and the edges so well. Does it have to do with how you unwrap the object. Maybe the triangulation of the mesh in 3ds Max? Notice how the concrete is also aligned perfectly with the top, bottom, and edges even though its just a 1024x1024 concrete texture.

Replies

  • Noors
    Options
    Offline / Send Message
    Noors greentooth
    ermm well yeah, this is the point of unwrapping. I'm confused.
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    If I remember correctly this looks like a pillar from Jordan Walker's Bathhouse scene from the brawl competition. The unWrapping is fairly straightforward, whereas there is some cool stuff going on with the shader to get those patterns of the tiles.
  • jordan.kocon
    Options
    Offline / Send Message
    jordan.kocon polycounter lvl 6
    I believe he just shifts the uv's slightly to the right/left so instead of the grout appearing at the edge, it is inset slightly, giving the allusion the tile has thickness. There is nothing special going on here (I don't believe). You can see here, all I did was shift the UV's over, and the tiles now appear to wrap properly around. in my example there is no shader work or anything special.

    hhuAa.jpg
    LcMKG.jpg
    qc8oc.jpg
  • Scizz
    Options
    Offline / Send Message
    Scizz polycounter lvl 11
    Oooo I see, so nothing fancy, just a matter of shifting UVs + some editing texture coordinates in unreal to get them where you want? But how would I go about shifting the UV's in Max, so when I import the model into UDK, it's stays the same.
  • jordan.kocon
    Options
    Offline / Send Message
    jordan.kocon polycounter lvl 6
    Just place the UV's how normal would if you were applying a tile material, and then translate the UV's slightly to the left or right to get the effect you are looking for. Then once you export the wall/pillar/etc. with the slightly shifted UV's, that's how it will show up in Unreal. I hope that makes sense. If not I can post some pics.
  • Scizz
    Options
    Offline / Send Message
    Scizz polycounter lvl 11
    I'll try it out and see how it looks, thank you!
  • Scizz
    Options
    Offline / Send Message
    Scizz polycounter lvl 11
    I kind of understand, pics would be nice though because I did what you said and the tiling was the same.
  • Pola
    Options
    Offline / Send Message
    Pola polycounter lvl 6
    Say you have the unwrap using the entire 0-1 UV space for the tiling texture, move it slightly til the left out of the 0-1 space like suggested above, you should be able to see within your 3D application what it looks like.
  • jordan.kocon
    Options
    Offline / Send Message
    jordan.kocon polycounter lvl 6
    Alright hopefully this picture makes sense. In the first picture you can see the face of the cube is perfectly inside the 0-1 UV space, therefore the tiles are centred perfectly on the face. In the second image, the uv's are shifted SLIGHTLY to the right, giving the feeling the tile wraps around. It is NOT shifted up or down, just to the side.

    Also I should note my cube has bevelled edges, which helps with the allusion.

    OKgiH.jpg
    WgF9F.jpg
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    In the image the OP posted, the grout lines up exactly with the corner (although there is a bevel), but the method Jrodan posted is an interesting trick.

    I think the poster is after how to layout the UVs for something like this I made an image but there are some gotchas.
    uvs.png
    When you do what I have done above for the tiles you will get a greatly different texel density. In the OP's image, the author JWalker has so much detail in the tiles that you don't notice the difference in texel density that much. Some games tackle this by using a high frequency tiling normal map and a different UV channel (Such as the one for lightmaps) to make it seem like the asset has the same texel density all the way through.

    For the concrete bit, those faces are a different Shader or "Multi-Sub Object" in max, which is a horizontally tiling texture.

    Like I said before there is a whole lot more going on with the shader for those tiles, and if you want to poke around JWalker offered the scene for download in his thread here:
    http://www.polycount.com/forum/showthread.php?t=86767
  • jordan.kocon
    Options
    Offline / Send Message
    jordan.kocon polycounter lvl 6
    I would say JWalker has definitely bevelled the edges on his pillar just as I have. What I am showing isn't a trick at all, it is just shifting the UV's to the right/left. I was ignoring the larger square at the bottom of the pillar, but your trick of stretching the UV's down would result in stretched UV's. I am guessing he separated the UV's and scaled them uniformly to keep them square, and get the larger tile result.

    As I said, there is nothing special I am doing. It is a box, with bevelled edges, and the UV's nudged over. I see no need to do anything beyond what I have done, the result is identical IMO, even if JWalker has done something else.
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    Well the OP was asking about how the object is mapped an how everything lines up perfectly. You then post an image tackling something he wasn't asking about, with the tiles not lining up either. While JWalker has bevelled his pillar, his grout lines up with the corner anyway, his larger tiles are also a different texel density, and I mention this in my post as a gotcha.
Sign In or Register to comment.