Home Technical Talk

Modular brick wall tiling questions.

polycounter lvl 16
Offline / Send Message
Steen polycounter lvl 16
I've been trying to get my feet wet with some environment modeling and I've run into a few hurdles. I was looking at Kevin Johnstone's Gears2 thread, and how he made modular brick pieces to build up walls and columns. What isn't apparent to me is how he deals with the partial brick pieces on the end of his wall chunks. Should I slice off the ends of the bricks that overlap my border and just cap them?

wall_front.jpg

Also, how do I deal with baking texture maps when I have all of these bricks instanced from one source brick? Combining them into one object from the current source brick makes a wall with way more polys than max likes. Do I need to do some sort of retopo thing? (I have no experience with retopo and could use more info on this topic). Maybe the initial brick needs to be normal mapped first?

brick_specs.jpg

My goal is to come up with something I can use in udk, so I'm primarily concerned with learning the zbrush/max/udk pipeline. Any tips to help me get through these initial technical growing pains would be greatly appreciated.

Replies

  • EarthQuake
    the way you have it will work just fine for baking. I usually like to leave some "padding" bricks, IE a few layers outside the bounds of the bake plane, this will ensure you get correct AO at the boarders of the texture map. As it stands now, the bricks that end at the edges of the bake mesh(all top and all bottom, some of the sides) you'll get different AO there, resulting in tiling artifacts.

    I'm not sure about the instance thing, have you tried just baking it and see what happens?

    You've got some pretty noticeable repetitive details on some of the bricks, you might want to consider editing the source mesh a little, creating a couple more variations, or rotating some in a different manner(ie: roll).
  • glynnsmith
    Offline / Send Message
    glynnsmith polycounter lvl 17
    I found that sculpting bigger details in your sculpting app, then adding a noise map in post works a lot better and quicker than trying to get that fine detail in your sculpt, too. I also found that by not having to get that detail on my source bricks, I could sculpt 2 or 3 bricks worth, for the same cost, with far more variation and less repetition. Clearing smoothing groups can help in making them appear rogher, at low-mid sub-d levels, too.

    Instancing your bricks takes up far less memory, so I'd advise on doing that. It's definitely possible to include all your seperate bricks, mortar, trim details, whatever, in the same bake. I kept all my bricks seperate in Max2009 - You just add them all into the dialog when you come to baking.

    EQ is right with adding "padding bricks", to help with AO/normals at the edge. Just add them in the same manner you would with a tiling image, and it should yield a perfect bake. All you need is another column of bricks, either side of what you have in your screen.

    I managed to get 4 seperate textures by approaching it modularly, and by making sure all of the "padding" bricks were the same:

    4 seperate walls for baking:
    sc_walls01.jpg

    Inside UE3:
    sc_walls02.jpg
  • Mark Dygert
    EQ brought up some really great points. I'll add that putting a grout plane in there and spacing out the bricks will also help since bricks almost always have some kind of grout.
  • Pedro Amorim
    Man. THose are some fine ass walls you got there Glynn.
    Do love.
    I believe they illustrate perfectly what was said before about walls and stuff. :) cool stuff
  • Steen
    Offline / Send Message
    Steen polycounter lvl 16
    EQ - I see what you mean about padding bricks. Those end bricks need to get the same shadows as the rest. Thanks.

    Glynnsmith - Excellent examples. With the noise map you mentioned, is that something you'd add to your normal map in photoshop with the nvidia normal map plugin?

    Vig - You're right about the grout. I think I'm going to work up some more brick variations, and this time I'll leave some room.

    Thanks loads for the good replies. You guys are awesome.
  • Ged
    Offline / Send Message
    Ged interpolator
    awesome thread I had just this same problem recently
  • glynnsmith
    Offline / Send Message
    glynnsmith polycounter lvl 17
    Steen wrote: »
    Glynnsmith - Excellent examples. With the noise map you mentioned, is that something you'd add to your normal map in photoshop with the nvidia normal map plugin?
    I generally don't touch the nVidia plugin, because it can produce lower quality results to some of the other solutions available.

    For this kind of stuff, I use Crazybump. Make a greyscale noise height map, get crazybump to convert it into a normal, then use crazybump to combine that with your baked normal map.
  • Steen
    Offline / Send Message
    Steen polycounter lvl 16
    I'll have to get reacquainted with crazybump. glynnsmith, would you mind posting a lowpoly of one of your wall sections with wires on?
  • glynnsmith
    Offline / Send Message
    glynnsmith polycounter lvl 17
    My wall project was for making texture sets for BSP/planar surfaces, so I baked out my walls to a simple planar polygon :)

    Nothing complicated at all.
  • Steen
    Offline / Send Message
    Steen polycounter lvl 16
    Ah, ok glynnsmith. No need to post a square. Thanks again for all of your input.
  • Eric Chadwick
    Glynn, nice tut, added to the wiki.
  • pumbaa
    Offline / Send Message
    pumbaa polycounter lvl 15
    Good stuff!
    May I ask how you would go about creating the color texture using this technique for lets say a typical brick wall with grout in between? Do you manually mask out the bricks from the generated normal map in ps or is there an easier away? For a 2048 texture with a huge amount of small bricks that does not seem like the ultimate strategy to me
  • Eric Chadwick
    When you do the bake, assign a white material to the grout, black to the bricks, and bake a color pass at the same time as your normalmap pass.
  • pumbaa
    Offline / Send Message
    pumbaa polycounter lvl 15
    Wow so simple but such a time saver. Thanks Eric
  • Ghostscape
    Offline / Send Message
    Ghostscape polycounter lvl 13
    When you do the bake, assign a white material to the grout, black to the bricks, and bake a color pass at the same time as your normalmap pass.

    With more complex materials, I find using pure Red, Green, and Blue (and CMY if you need more colors) useful, because then you can use each channel as a 256bit selection mask (or use channel math to get the CMY masks - find the intersection of GB to get Cyan, etc).
  • NAIMA
    Offline / Send Message
    NAIMA polycounter lvl 14
    I would love to be able to do something like that too but I didnt find any tutorial on this anyone has any link to anything that can help ?
  • SHEPEIRO
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    Ghostscape wrote: »
    With more complex materials, I find using pure Red, Green, and Blue (and CMY if you need more colors) useful, because then you can use each channel as a 256bit selection mask (or use channel math to get the CMY masks - find the intersection of GB to get Cyan, etc).

    to take it further if you need to use colours half way between the colour channels, you can then select one channel then use ctrl-alt-shift on another to remove that from the selection giving you the middle colour
  • ScrotieFlapWack
    Offline / Send Message
    ScrotieFlapWack polycounter lvl 5
    The walls in your engine shots there are they just planes you put the normal maps on? Some really nice depth there, everytime I try something like this mine still looks really flat with not much depth.

    Did you have a height map on there to further push out that bricks? Or is it all normal map?

    The grime or dirt at the bottom of those bricks was that vertex painting in engine or is that part of the texture?

    Sorry for posting in this thread I know it is really old, I am constantly on the environment wiki looking for new methods and practising the ones already one there.
  • glynnsmith
    Offline / Send Message
    glynnsmith polycounter lvl 17
    Yep. All mapped to BSP quads. So, essentially planas.

    I'm *pretty* sure they had a normal map, basic diffuse (bricks + mortar) with AO overlaid, and then a really simple dirt tile that was masked in with some shader stuff (probably using one of the UV channels to get the gradient easily), though it's kinda been a while ;)

    I don't think I used a height map as, at the time, I remember not being able to get each wall tile's height map to have the same min-max range of values, so ended up doing without. The normal maps and the overlaid AO are doing all the "depth" work.
  • ScrotieFlapWack
    Offline / Send Message
    ScrotieFlapWack polycounter lvl 5
    glynnsmith wrote: »
    Yep. All mapped to BSP quads. So, essentially planas.

    I'm *pretty* sure they had a normal map, basic diffuse (bricks + mortar) with AO overlaid, and then a really simple dirt tile that was masked in with some shader stuff (probably using one of the UV channels to get the gradient easily), though it's kinda been a while ;)

    I don't think I used a height map as, at the time, I remember not being able to get each wall tile's height map to have the same min-max range of values, so ended up doing without. The normal maps and the overlaid AO are doing all the "depth" work.

    Awesome man, the results are brilliant I will defo keep trying it out. Thanks for answering the questions too man, I know the post is a few years old so really big thanks for that :D
Sign In or Register to comment.