Home Technical Talk

Unwrapping a modular environment

Vetril
null
Offline / Send Message
Vetril null
Hi, I've been working on unwrapping and texturing a modular tileset for the first time and I was wondering if you could explain to me a few things. Maybe I am overthinking a process that should be much easier.

So. The tileset I am preparing is for UE4 indoor environments and each tile is contained in a 2x2x4 space, split in 2 2x2x2 parts (lower and upper). The tiles will be placed by the player (think Dungeon Keeper / Evil Genius), so they have to be very modular - no fancy unique pieces.
An example below.



Now, my first goal was to reduce each part to a single mesh with a single material in order to render all the parts of the same type on screen with just 1 draw call. This means that for parts like a wall I can't use a tileable texture that fills the entire UV space, as I also need to incorporate different parts like trims. So should I just line up the tilable part on one angle and use the remaining L-shaped UV region for the other trims?



I tried to fit a horizontal strip with bevels tiles left to right just for the trim material (in this particular case, concrete) and to line up the UVs of the trim with the borders, so that the geometry's hard edges would look bevelled. This approach led to stretching that was quite visible. So I thought that maybe I can add more edges, cut up the trim in multiple parts and then overlap these parts on the same trim region to get less stretching, but then I get a visible pattern instead.
(on a side note, I guess one could further refine on this by adding vertical bevels too as extra strips left and right of the tiling part)



So how do you guys tackle this? Do you just accept that there will be some stretching and so you make texture parts that are designed to be stretched? Or do you paint a part that is generic enough to avoid noticeable patterns when you overlay UVs?
Or do you do something else entirely different?

Replies

  • Mant1k0re
    Offline / Send Message
    Mant1k0re polycounter lvl 8
    I can't read your paintover for the life of me but... The way I go about it is I establish texel density from the get-go and I design my module pieces to the right size to avoid stretching as much as possible. You must be able to look at your texture space and see how long/wide, etc. the piece you will map to said space will be to achieve consistent texel density. I tend to go with 1 meter = 512 pixel and create geometry with dimension that is easy to manage, e.g 150 x 50 cm, 200 x 100 cm, etc. 

    Hope it helps a bit. As you said, having more generic textures with little directional/pattern information is also a way to tackle this issue, of course.
  • Eric Chadwick
    Have you seen our wiki yet? Some great examples and explanations
    http://wiki.polycount.com/wiki/Modular_environments
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    It's not as simple as 1mesh/material per draw call in most cases.

    You're probably better off using separate tiling materials on parts that suit it 
Sign In or Register to comment.