Tip:
Highlight text to annotate it
X
With the custom scripts in place, you are now ready to finalize your first low-poly building.
Continue working on your scene or open the file CityBlocks_Bldgs-simplebldg.max
You already have the street level volume you created earlier, and now you use the newly created custom scripts to add more floor levels.
To do so, you need first to select the base spline.
It may be a bit difficult to select the base spline without selecting the building lot or the extruded volume first.
However, it's easy enough to select the extruded shape.
Because the extruded shape is a child of the basic 2D spline, you can therefore use it to select its parent with a simple line of code.
Open the Listener window and type in the line: select $.parent
This effectively tells 3ds Max to select the parent of the selected object, represented by the $ sign.
Drag the line of code to your new toolbar
and give the button the label: Select Parent.
Dismiss the Listener window. Now you're ready to proceed.
Make sure the Street Level volume is selected and then pick the new Select Parent button. The original 2D spline is now selected.
Now pick the Create Floor button to create a new extruded volume for the upper floors.
A new volume is created with the appropriate modifiers. Move it up in Z to see it better.
To set it at the right elevation, make sure it's still selected and then pick the Align Level button and select the floor level volume.
Bingo, what took a few clicks would have taken substantially longer to do using a fully-manual approach.
You still need to adjust the modifier values once you know which bitmap you intend to use.
Open the Material Editor and create a new Arch & Design material.
As a Diffuse Color map, assign the bitmap named: OLD_BRK001_L2_W9xH6.24_DIF.jpg
Double-click the bitmap node and adjust the Real-World dimensions based on the information in the bitmap name.
Since the Real-World height appears to be 6.24m, you can use it as a starting point for your extrusion height.
Add the bitmap: OLD_BRK001_L2_W9xH6.24_REF.jpg as a Reflection Color Map.
Adjust its Real-World dimensions as well.
Make sure the new material is set to show in the viewport and assign it to the newly extruded shape.
If you need to, adjust the vertical position of the UVW Map Gizmo.
This where things get interesting: Because the UVW Map is based on proper Real-World values, and it is evaluated AFTER the Extrude modifier,
this means you can change the extrusion height and add more repetitive floors without risking distorting the texture.
Let's do one more floor level for the penthouse, which has a slightly different texture.
Use Select Parent/Create Floor/Align Level to add a floor level on top of the typical floors.
This appears very easy now that you know the sequence.
Add a material based on the bitmaps: OLD_BRK001_L3_W9xH3.4_DIF.jpg
and OLD_BRK001_L3_W9xH3.4_REF.jpg
Make sure you adjust their real-world dimensions. The width remains at 9m but the height is at a smaller 3.4m value.
Adjust the Extrusion value accordingly, apply the material and make sure it's visible in the viewport.
As before, adjust the vertical position of the mapping gizmo until you are satisfied.
Which brings us to the roof: In many cases, if your POV is at street level, you won't need to bother with it.
As is often the case though, you may need a diving view on your cityscape and this means you need to have a roof of some sort.
To create a flat roof, you can use a similar workflow to before, i.e. by creating another level at the top of the penthouse.
Since you only need a flat surface, simply disable or delete the Extrude modifier.
The UVW Map modifier takes care of converting the 2D poly into a renderable flat surface
Create a new Arch & Design material using the Matte template, and assign one of the gravel/dirt textures to it.
Make the necessary adjustments; I'll use real-world dimensions of 10mx10m for this one.
Again, make sure the material is set to show in the viewport and assign it to the roof.
It's better but still doesn't look right. You need a parapet around the roof to make it look better from above.
Add another floor at the same level as the rooftop.
To create a parapet, you will need multiple extrusion levels. The Bevel modifier will help you there.
Select the Extrude modifier and then disable it.
Try to add a Bevel modifier; you will notice it's not listed.
Like Extrude, Bevel works on 2D splines, not geometry-based objects.
Because of the UVW Map modifier on top, the object is now regarded as a poly object, not a spline.
Temporarily disable the UVW modifier so you can squeeze a Bevel modifier underneath it, and then enable it again.
Now it's a question of adjusting its parameters.
Make sure capping is disabled, and specify a Level 1 height of 1m, that's a little over 3 feet.
Now enable Level 2 and set the Outline to about -0.5m to create a lip.
Finally, enable Level 3 and specify a Height of -1m to go back down to the gravel surface level.
For a material, you won't need to get too fancy. A simple Arch & Design material in Matte mode will do.
For a Diffuse color, you can extract a color from the immediate surroundings using the color picker.
Finally, let's take a look back at the importance of the original 2D shape.
You've already made use of it to help with some of the scripting lines.
Most importantly, because of the method you adopted by making use of Reference duplicates,
all extruded floors are still dependent on the original spline.
This means you can select it and edit it, and all floors will respond to that change.
Try it out: select the original spline and add an Edit Spline modifier to it.
Go into Edge mode and move some of the edges so that windows are not chopped off anymore.
You can of course also work in vertex mode and adjust tangents for more wacky designs.
Notice how nicely all levels react to the change.
Keep in mind that even though the geometry is light, the use of Reference duplicates and multi-modifiers can be calculation-heavy.
This means that when you know you are done with a building design, you would want to collapse it to an editable poly object.
To do that, start by selecting the street level floor.
Convert it to a poly object and then use the Attach tool or Attach Multiple to add the upper floors.
Make sure you use the Match Material IDs to Material to ensure you do not lose any work you've done on materials and mapping.
You are now left with a simple building based on an editable poly,
this particular one with a very reasonable 73-poly count.
In the next movie, you take low-poly building creation to yet another level, by learning about and using a free script called Building Maker.