http://jerome.le.chat.free.fr

Home > Documentation > Introduction

Introduction

Article Index
Introduction
data sources
Libraries

Concept :

Goal is to create quickly numerous kind of cities with Blender. small or huge, detailed or not, chaotic or boring, modern or old cities..

  • Quickness : build entire cities in a few clics, then focus back on your main project.
  • Diversity, variety, chaos : unless you ask for it, streets and crossings are irregulars, non squared, and every generated building will be unique. they are build from scratch with procedural functions and/or from premade objects, added from the library. by concept, the script is able to use premade objects made by the 3d community :
  • Modularity : the script allows to build your own building shapes in Python, starting from a set of available building functions, and/or to import premade objects. these are the building and street object librairies that regroups your procedural building codes and your objects located in an external blender file. they are independant from the core script and are retrieved from the libraries folder. there's also a plugin system that permits to extend the features of the script and can use any core variables. along the development of the script, it will be more and more divided into parts, in order, for example, to choose between different ways to define building areas, or to reuse parts of the code in another script, and mainly to garanty the script development on a long term perspective.
  • Predictibility : this chaos is controllable thanks to a lot of parameters, and can be repeated from one run to another. one can also save the city profiles.
  • Accessibility : the user interface is multilingual and -I try- user friendly, but it's recommended to read this documentation :-)

Blended Cities is licensed under a Creative Commons GNU General Public License License.

How does it work ?

basically one can split the script as below :

 

  • Data sources :
    they group the main informations that allows to build a city : an image gives the relative building elevations. a network of points and lines furnish the city map... these data sources have various kind (image, blender mesh, file...) (more...)
  • libraries :
    they group everything that allows to create detailed buildings and streets : premade objects, procedural functions that defines sky-crappers old old mansion, materials, cars, trafficlights, etc..
    during the creation process, once the core has finished to interpret data sources and has cut an area for every building and every road it asks the elements to the libraries : a house, a building, a streetlight... every library is located in a subfolder of blended cities/libraries. and group .blend files (objects, materials) and/or .lib files (more...)
  • presets :
    each city preset saves the properties of a city : the used data sources, libraries, all the values given by the user like sizes and heights of the buildings the streets level of details... these files are located in blended cities/presets and have a .set extension.
  • plugins :
    these are extensions that can use all the available core functions and variables. for example the Opensteer plugin allows to animate a large amount of cars (imported from the libraries) and to provide a path for each of them thanks to crowd behaviour algorythms like pathfinding. each plugin resides in a sub directory of blended cities/plugin and has a .plugin extension.
  • Core :
    the main script. it handles the user interface and integrates a dedicated one for each plugin and each library that needs one. it allows to choose which data sources to use, how to interpret them, which library to use and in which case, which materials to use, how to define the building areas, where are the large avenues, what objects to populate in the streets and how etc.. this is the blendedcities.py file. it relies on all the package, especially the blendedcities.blend file in which it must be runned (for the moment, 0.4 series), and on the files located in /bin. and in /lang (the interface languages).



Last Updated on Monday, 10 May 2010 23:39