generic wall tutorial
This is a short writeup of how we can create high quality tiling meshes in a short ammount of time.
In this tutorial i will explain
a method where it takes just a few hours maximum to create this in an efficient way. The same techniques can be
used ofcourse for other types of assets.
The important focus of this tutorial is how to create this efficiently in a current modelling package, since there
are a lot of pitfalls that can give you some headaches. The main problems are that with geometry taken out of a
sculpting package, it will often take up a lot of memory and render very slowly in realtime. Max and Maya are not
made to render sculpted meshes of several million triangles so we need to build in a different, more efficient way.
Sculpting an entire building as one big mesh to final quality will not work for two reasons:
-it is incredibly hard, if not impossible to import and render a mesh this detailed in 3d studio max or maya
-the ammount of time and effort it takes to work this way
I'll explain now how I created this mesh:
1: I created one cube, subdivided it so would get a small chamfer on the edges when subdivided. I scultped a single stone block out of it in mudbox,
by chipping off edges, and using a texture of a rock surface as an alpha to create the small frequency details.
I optimised it until it was about 150k triangles. There are several ways to do this, I just used the 3dsmax optimise tool,
which is not the best solution since it can create artifacts, but in this case it worked well enough.
2: I built a wall out of the stone by placing instances of it next to each other, scaling and rotating them
to create variation. Since the stone mesh has 6 sides, I found I didn't need to create a second variation of it
to break up repetition. At this point max is already rendering several million triangles, but since everything is
instanced, I'm not experiencing any slowdowns or memory crashes. IT'S VERY IMPORTANT TO INSTANCE! I made the mistake
before to merge all these meshes in one big object, but that just caused one memory crash after another, and
performance was horrible.
3: I created a second stone variation to use for the top stones. Same scultping methods were used as before,
and the basemesh is made in such a way to make the scultping easy, with all quads thesame size so no warping would occur.
using layers in mudbox I found it very fast and easy to create variations using layers, I think you can also work
with layers in zbrush. I created 2 variations because in this case, one would just look too repetitive
4: The final scene, about 3,5 million triangles, running smooth in max because everything is instanced.
I kept it pretty simple since it's just an example of a generic wall, but it could be something more complex if
constructed with more instanced meshes placed on top of it.
5: I created a lowpoly mesh on top of it, keeping the shape of the hipoly to create a nice feeling of depth and silhouette.
I found the process of creating the lowpoly a bit slow and tedious, it actually took longer than scultping and putting together the high poly,
so I'm definitely going to look into some better methods of doing this.
After that I did a quick unwrap, just a flatten map and then relaxed, so I would get one continuous texture with no seams. Then baked
ambient occlusion and normal maps to the texture.
The texture size is one 1024*1024. At 64 pixels/m, this wall would be about 16m high.
6: The final mesh placed as tiling instances and with a quick texture on it. It can now be easily used in various ways. I this case a placed it along a spline.
Alot of geometry could be laid out like this, for example stairs, hallways, floors, trims, etc. It might look a bit
tiling now, but this can be broken up with other geometry ( for example vegetation) or decals
7: A small tip: the sculpt usually doesn't need to be too detailed, so don't go too crazy with subdivision and making super-realistic micro detail.
Think about how the detail will actually translate to the normal map. As you can see in the picture, the sculpt has a lot of ugly
polygon shapes on it, but on the actual bake these become really small details and work pretty well. Don't make stuff more detailed than
it needs to be!
Bram Eulaers 2009