Join Adam Crespi for an in-depth discussion in this video Stretching the vertical elements to minimize geometry, part of Creating Urban Game Environments in 3ds Max.
- View Offline
Now that we've cloned our module vertically to produce some of the building facade, we need to add the vertical elements that go between the modules. Tall brick pilasters that give us an extra shadow line. We will do these as continuous elements. We don't want to waste geometry by cloning the same block over and over. I will start out by making a box, making sure that my Snap is on in 3D. I'll zoom in down at the base where one of the vertical elements sits and create a box snapping clearly between the vertices and up to, well, somewhere.
It doesn't really matter where at the moment. This gives me the box at the right width and now I can stretch the height as I need. I will go to the Modifier panel and change the length of this box to 4. Well, it's small. I will optimize this. I will right-click. Choose Convert to Editable Poly and delete the back, bottom, and top faces, selecting polygons and pressing Delete.
Now I have clean geometry. I will press 1 and switch to Vertex and then select the top vertices and in the front view, stretch them up to the top. I'll zoom out to view the whole building, press W for Move, and grab the y-axis and pull these up, matching it evenly with the top of my modules. I will also check in the Top view, pressing T for Top view and maybe F3 for Wireframe instead of Shaded, making sure that my brick is snapped to the front of the module.
Again I'll move on the y-axis, snapping on one of the vertices and pulling it forward. Now I'm ready to map this. We can see I have got one vertical brick element, which optimizes the amount of geometry I have. For mapping these, we're going to map at a 45. The idea is that we can push the mapping through from two sides by rotating the mapping gizmo, thereby getting the text to flow around the object. It's a great technique for things like this where we need to see that continuity.
When we are working with texture at 45, we need to scale down the mapping and here's why. As an example, I'll make a plane. Onto this plane I'll put some on unwrapped checkers I have generated. I will press M for Materials and in the new material, in the Diffuse Color, I will add in a Bitmap. In the Bitmap, I'll go browse to my images directory under sceneassets and choose one of my texture-based files. These are included with these exercises for you to use. I will choose texture-based 512x512.
This is a series of rainbow checkers with letters and numbers in them. This will let me see if this map is distorted and also let me see where it repeats from red to green and blue to orange. I will press Open and assign that material to my plane. I'll make sure in my Material Editor that this map is showing. When I apply UVW Map Modifier to this object, I'll map the texture on square.
Let's say this texture is 200x200. Right now the mapping gizmo is straight on the plane, giving me square squares. When I right-click, choose Gizmo and rotate this Gizmo 45 degrees, those scores will stretch. This introduces distortion in the texture. We can tell as the letters and squares are stretched horizontally. What we need to do then is multiply the width on this by half of the square root of 2, which will scale these back to the right size.
Based on that multiplication, I will put the width in my UVW Map at 141.42. Because I have scaled down the width but rotated the mapping, I've compensated and the width is essentially back to 1. My squares are square again and my letters and numbers are not distorted. Now I'll switch over to my vertical element. I will right-click and choose Top Level to get out of the mapping on that plane.
For this, I'll assign a brick I've got made already as part of a texture sheet. I will press M for my Material Editor and in a new material, on the Diffuse Color, I will choose a bitmap. In the sceneassets, I'll choose my texture. I will make sure the texture shows in the view and I'll make sure I know how big this texture should be. One way to do this, especially in a unit surface like bricks, is to count bricks.
This one comes out at 16 feet square, figuring that a brick is 3 inches tall and multiplying out. I'll apply a UVW Map Modifier to this object and I'll put a Length in 192. If I put a Width of 192 in, that'll be a square. I need to get that aligned correctly first. In the UVW Map, I will scroll down and try alignment one on X or Y until it flips in the right direction.
With the material assigned to the object and mapped on the Y alignment, I can see my brick. Now I need to compensate using that scale factor to get the width right, after I rotate this mapping at a 45. Using the formula, the Width for this comes out to 135.7. I will add that into my Width. Then right-click and choose Gizmo. Now I can rotate that Mapping Gizmo by 45. I will zoom in on my object to see if this worked.
It looks like the bricks are wrapping cleanly around. I can right-click and press Move if I need to move this backwards and forwards. I will hit S to turn off my Snap as well. I will pull this in and we can see the texture cleanly sliding on the building. I will get the bricks just in the right place, mapping around that vertical element. It's almost there, except I have a white space. One thing with mapping, especially when using a texture sheet, is we may need to move the map side-to-side to work right.
I will pull this over on the x-axis, until I get the continuous section of brick to wrap around the object. I'll check on both sides. It looks like my brick is good and my vertical element is mapped with the brick flowing cleanly around. It's also optimized. I have stretched this element the whole height of the building, using the minimal amount of geometry to make the maximum shadow impact.
- Understanding the design process and software requirements
- Analyzing concept art for texture and key shadow detail
- Planning differently styled buildings
- Laying out city blocks
- Organizing construction elements and models using layers
- Cloning geometry and texture
- Testing the module for correct floor-to-floor heights
- Arranging, aligning and cloning modular elements
- Building a texture library
- Creating stone, wood, and brick textures
- Constructing texture sheets
- Drawing detail
- Using occlusion as a foundation for dirt
- Preparing for Unity as a world builder