In collaboration with cmiVFX here is my latest Full Feature training video in Houdini Generating Regional Procedural City Skeletons using Real GPS Data. In this tutorial I demonstrate how to import map data and create Virtual Cities from around the world. Generating cities or street level data previously would take weeks or months and a team of artist. There is an increasing demand for creating virtual cities for film and broadcasting projects, however getting a city built and prepare it for deployment is not an easy task. The time and resources spent can be very costly. This tutorial provides an innovative solution to automating this virtual city generation process and reducing the time and the resources allocated considerably. Nothing is better than Houdini for such projects, but this course is not limited to just this application, the techniques demonstrated here can be utilized with any other 3D application and it will work the same.
OSM GPS Data
There are many techniques that can be used to generate city patterns; in this video the one demonstrated will be how to use the data of a real life city, exported from openstreetmaps.org, to generate a custom variant of it. The city data used is the same kind of data used in GPS devices, while the GPS uses it to give routing information and data, here the data will be used to generate 3D cities.
The first step in the process is to identify what city will be the target of the project. Once the city is determined the OSM data must be exported from the open street map, which is an XML variant. Manhattan being the city of choice for this tutorial project, the video will demonstrate how to export Manhattan’s data from Open Street Map (OSM). An overview will also be given to learn more about this data and its structure.
Parsing In Python
The exported data must be parsed into Houdini and Python scripting is the method of choice with this project. The data will be explored in more detail and the utilization of a Houdini Python SOP will write the corresponding code that will parse the first main part of the data and transform it into Houdini points. (Resembling our city of choice.)
Paving The Roadways
Combining the points already created in the previous sections with the second main part of our OSM data, this section will dive deeper into the data analysis. Covering more detail in the parsing and coding, the ability to be able to reconstruct the pattern of the city and treat different data types differently, like the roads, parks and buildings, will be discussed at lenght. At the end of this section the main skeleton of the city will be constructed and ready to be built upon.
Begin filling the city with buildings, utilizing the OSM data. It is very important to mention that this data does not contain everything; in particular it does not contain all the buildings, a lot of them will be missing. To resolve this problem, the implementation of another Open Street Map export type will be utilized to extract the missing buildings using Houdini’s COP’s and customize the contour shapes if needed. The city will then be filled completely with the respective buildings.