Building multiple buildings from a map inside maya

Tools needed:

Adobe Photoshop
Autodesk Maya
Google Maps
Google Earth

Lets get started

For this post, i am using the map data from NYC’s gis website. Here is the link

The first thing you need to do is decide the area on the map you are going to work on. I am going to start small, just a block from downtown brooklyn for now. My ultimate motive for doing this is to publish it inside BetaVille, the project i am working for as a 3D Artist right now. So, here is the block. All you need is a screenshot of the block.

Screenshot for building the buildings ground up.



Now, Open this up in Photoshop. We are going to use the pen tool to pen on top of the edges of the buildings.

Open it up in photoshop

Select the Pen Tool

Pen on top of the building edges

Export the paths to illustrator

Export Options

Now lets open up Maya and import the illustrator file into the scene. Notice that the plane is vertical to your grid. This happens when your up axis is Y. Now Select all of it and group (Command + G on a mac and Ctrl + G on windows). Rotate the X-Axis to a -90. It should now have nicely lined up with your grid.

Import the file

Looks vertical to the grid

Group them together and rotate

Now we switch the mode to surfaces and then hit Surfaces->Planar on the menu. Make sure the settings are the same as in the screenshot below by clicking on the little box next to Planar. After you make the planar mesh, duplicate it (Command + D on mac and Ctrl + D on win). Now hit the “w” key and move the duplicated mesh up till you can see the initial mesh clearly below it. Now select the initial mesh and delete it.

Change mode to surfaces

Use the Planar tool. Check settings with the screenshot before you use this tool.

Settings for the Planar tool

Duplicate the new mesh and move it up

Select the Old mesh and delete it.

Now you have a nice basic outline of the buildings in the new mesh. Center pivot and move it to the origin on the grid. Switch the mode to Polygons and select Edit Mesh -> Extrude on the menu. Select the small box near it to check the settings and match it with the settings in the screenshot. Now you will see the extrude mesh arrows, all you have to do is select the Y axis arrow and pull it up to give your buildings some height. Hit “5” to view it in the textured mode.

Change Mode to Polygons

Center the pivot on the new mesh

Move mesh to the origin. you can hold "X" to make it stick to the grid

Select the options for Extrude on the menu

SEttings for Extrude

Right after you select extrude, this is how it looks. Hold the blue arrow and drag it up to add height to your mesh.

Finish Adding height

Press "5" on the keyboard to view the textured version

Now you have the basic figure of the buildings and some height as well. What you dont know is the actual height of the buildings. Lets do some google maps exploring and figure out the height. Pull up the block on google street view.

Look up on google maps

Look into street view

Now, the buildings in Brooklyn are roughly 12 feet high per floor. Using this, we can pretty much calculate the height of the building. You can also look for detailed info on the gis data from the city’s website. For our purposes we are just going to go with the 12 feet per floor assumption.

3 and a half floors, roughly 42 feet

6 floors , so roughly 72 feet

Around 10 floors, so 120 feet

Now lets go back into maya with this newly founded info and finish up the buildings. My grid is set to one line every 12 feet just to keep things simple.

Set the grid settings

Settings for the grid

Select the mesh and hit Mesh -> Separate

Meshes separated

Select the 120 feet building, Press "R" on the keyboard and pull up the height to 120 feet

Similarly for the 72 feet building

And the 42 foot buildings, do them together.

Now lets open up google earth to find out how big the block is. this is the final step to finish up the whole block. Use the measuring tool in google earth to measure the distance. Click on one corner and then click on the next corner to get the distance between the corners. change the scale to feet.

Google Earth Scale tool

Length of the block is around 202 feet

The width is 202 feet as well. A nice square block!

Now go back into maya and select everything. Adjust the mesh so that they line up on one edge to the center of the grid. You can pull the pivot to one corner by pressing (Fn + left on the mac) and pulling the pivot to where you want it. After this, just resize the length and width to 202 feet and we have a nice block from downtown brooklyn all built from ground up.

Switch to Top View

Move Pivot Manually (Fn + Left)

Move Pivot to the center of the grid

Rotate the mesh to line up with the grid.

Freeze transformations

Freeze transformations resets the transformations of the mesh to 0,0,0

Resize the buildings

A whole block from ground up. Thats it Folks!



After you complete all of this, go into the outliner and pull out the meshes from the group using the middle mouse button. This makes them individual meshes. Cheers.

Pull em outta there with the middle mouse button.


Feel free to comment and ask questions.

Ashwin Ramesh for figuring out how to do this.


lOOney dOOdle

I run Engineering at Vizbee, we make SDKs to stream video from mobile devices to Smart TVs.