Index de l'article |
---|
Présentation |
Sources de données |
Les librairies |
Page 1 de 3
Concept :
Créer rapidement des villes de toute sorte dans blender : petites, énormes, détaillées ou non, quadrillées ou chargées d'histoire dans leur plan de rues, modernes ou vieilles..
- Rapidité : construisez des villes entières et détaillées en quelques clics, et consacrez vous pleinement à votre projet principal.
- Diversité, variété, chaos : les routes peuvent être courbes, les croisements irréguliers avec un nombre de branches libres, les bâtiments peuvent être tous différents, à moins qu'on veuille le contraire. tout est construit à partir de fonctions procédurales et/ou d'objets préfabriqués. par concept, le script est conçu pour pouvoir utiliser des objets et des fichiers réalisés par la communauté :
- Modularité : le script permet de fabriquer ses propres formes de bâtiments en Python, en s'appuyant sur les fonctions de 'constructions' disponibles et d'importer des collections d'objets préfabriqués. ce sont les librairies de buildings qui regroupent le code de chacune de ses formes et les objets importés depuis un fichier blender. elles sont complètement indépendantes du programme principal. il y a également un système de plugin qui permet d'utiliser les variables du programme principal et d'étendre ses fonctionnalités. au fur et à mesure de ses évolutions, le programme sera de plus en plus morcellé afin que l'on puisse choisir par exemple entre plusieurs manières de définir le plan d'occupation des sols, de réutiliser ce travail dans d'autres scripts ou dans un jeu, mais aussi d'assurer le développement du script à long terme.
- Prédictibilité : ce chaos est contrôlable et rejouable d'une exécution a l'autre. on peut sauvegarder les différents profils de ses villes.
- Accessibilité : l'interface est multilingue.
Blended Cities est mis à disposition sous un contrat Creative Commons GNU General Public License.
Comment ça marche ?
le programme peut se décomposer schématiquement comme suit :
- Data sources :
les sources de données regroupent toutes les informations générales permettant de bâtir la ville : une carte donne les élévations relatives des bâtiments. un réseau de points et de lignes, donne le plan de la ville. ces sources sont de différents types (image, objet blender, fichier..) (plus d'infos)- libraries :
les librairies regroupent tout ce qui permettra de créer les bâtiments et les rues en détail : des objets préfabriqués, des fonctions pour construire des vieilles maisons ou des gratte-ciels, des couleurs pour les murs, des voitures, des feux de circulations etc..
pendant la création, une fois que le 'Core' a fini d'interpréter les sources de données et a découpé les espaces pour chaque bâtiment et chaque rue, il s'adresse a elles pour demander un élément : une maison, un building, un lampadaire etc.. chaque librairie est situé dans un sous-répertoire de blended cities/libraries. et rassemble des fichiers .blend (les objets, les matériaux) ou .lib (code procedural en python qui utilise les fonctions de constructions disponibles, configurable depuis l'interface de blended cities). (plus d'infos)- presets :
les configurations de ville sauvegardent chacune les propriétés d'une ville : les sources de données, les librairies utilisées, et tous les paramètres configurés comme la taille et la hauteur des bâtiments, le niveau de détails des rues... ce fichiers se trouvent dans blended cities/presets et porte l'extension .set- plugins :
ce sont des extensions du programme, qui peuvent utiliser toutes les variables et les fonctions du programme principal. le plugin Opensteer permet par exemple d'animer un grand nombre de voitures (importées depuis les librairies) en leur fournissant un itinéraire grace a des algorythmes de pathfinding. chaque plugin est situé dans un sous-répertoire de blended cities/plugin et porte l'extension .plugin- Core :
le coeur du programme. il fournit l'interface graphique, et intègre l'interface particulière à chaque plugin et à chaque librairie, il permet de choisir quelles sources de données utiliser, comment les interpréter, quelles librairies de bâtiments utiliser et quand, quelles couleurs utiliser, comment découper le terrain disponible, ou sont les grandes et larges avenues, avec quels objets peupler les rues et comment etc.. c'est le fichier blendedcities.py. pour fonctionner, il a besoin de tout le package, et en particulier du fichier blendedcities.blend dans lequel il doit pour l'instant être éxécuté (serie 0.4xx), ainsi que des fichiers situés dans /bin et dans /lang (les traductions de l'interface).