Toc ! Une doc !
Création et modification de ville avec CityGen/Blender
- Télécharger CityGen Win32 (Attention, il existe plusieurs logiciels de ce nom.
http://www.cs.tau.ac.il/~tommer/citygen/, le téléchargement est en bas de page).
CityGen est un logiciel qui génére au pif des villes (basées sur un bête quadrillage régulier) dans des fichiers VRML (2.0) à partir d'une description de la ville en XML.
Il est "livré" avec plusieurs fichiers d'exemple (XML, donc), dont 2 intéressants:
- example1_cfg.xml
- example2_cfg.xml
Ces deux fichiers commencent par le même genre de chose:
Code:
<CityGen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/CityGen.xsd" numCellsX="15" numCellsY="15" streetEveryX="4" streetEveryY="4" cellSizeX="80.0" cellSizeY="80.0">
En fait, cette ligne va inclure un fichier "XML Schema" (~ DTD) auquel vous pouvez passer des parametres:
numCells*: Combien de "blocs" va faire votre ville
streetEvery*: Espacement entre 2 rues (en nombre de blocs)
cellSize*: taille d'un bloc (et l'unité c'est... bhen j'en sais rien
)
Toute la suite de ce fichier sert à "expliquer" comment créer les différents éléments de la ville (corps des immeubles, toits, trotoirs, ..) et à définir les textures utilisées.. et c'est d'ailleurs la principale différence entre les deux fichiers donnés plus haut: le premier va construire une ville plutot simple (pas de trotoirs, immeubles très simples, ...) alors que le second va créer des villes beaucoup plus variées (et donc beaucoup plus riches en nombre de polygones, avec une tendance à la "ramance" encore plus présente
)
Pour info, une ville de 100x100 (numCells) simple (exemple 1 modifié) va ramer graaaaave... Avec un truc de 15x15, y'a moyen de faire un truc chouette et jouable.
Bref, je vous laisse modifier les valeurs de ces 2 fichiers comme vous le voulez, et constater le résultat en cliquant sur "Generate" dans CityGen.
Quand vous tenez une ville qui vous plait, utilisez le bouton "Save VRML" (ou approchant, je donne ça de tête) et enregistrez le bouzin.
Si vous voulez explorer votre ville dès maintenant, je vous laisse télécharger un plugin VRML pour votre navigateur web (bonne chance
), mais yapabesoin.
Ensuite, il faut convertir ce format VRML2 vers un truc qu'on sait lire... comme le format DirectX (.x).
Vous pouvez utiliser pour ça un logiciel très laid mais plutot efficace: AccuTrans 3D (
http://www.micromouse.ca/at3d_install_2-8-16.zip)
J'insiste: il est *vraimment* laid (et limité à 30 jours, qui plus est), mais c'est le seul que je connaisse qui n'explose pas comme une merde dès que les fichiers VRML sont trop gros (même s'il doit y passer la nuit [c'est du vécu]).
L'utilisation est simple: lancez le truc, ouvrez votre fichier VRML (open -> VRML [là encore, c'est de tête]), revennez demain (c'est vraimment long des fois, hein.. perdez pas patience) et ne touchez à rien (sinon c'est repartit pour 5 ans de calculs). Allez simplement dans le menu "save as" (pareil, c'est pas le terme exact, mais un truc comme ca) et sauvez le en tant que "DirectX text" ('fin pas binaire quoi). Revennez une semaine après.
Vous avez votre .x ! \o/ Victoire !
Vous pouvez (enfin) rebooter sous Linux.
Maintenant, il faut transformer le fichier DirectX en un .tri, chose qui se fait avec le script dédié à celà: directx2tri.php (
http://wvs.cqfd-corp.org/file.php?dir=/import/directx&file=directx2tri.php)
Pour utiliser ce script, il vous faut php-cli (php en ligne de commande, pour faire simple), dispo dans toute distrib' digne de ce nom (regardez si vous avez un /usr/bin/php).
Ensuite:
php -q directx2tri.php machin.x > truc.tri
Revenez un mois après.
Vous pensez que c'est terminé ? NAN !
CityGen utilise des .gif pour les textures, Raydium des .tga (et c'est beaucoup mieux
... en plus, leurs .gif sont laides) donc il faut éditer le .tri, et remplacer ".gif" par ".tga" et télécharger le pack de textures tout chaud que je vous ai préparé:
ftp://cqfd-corp.org/uploads/textures.tar.gz (Attention, 5 Mo ! ... faudrait voir pour un mirroir) et décompressez le (dans le sous-répertoire "textures", c'est très bien).
Vous devriez pouvoir importer votre ville dans le modler de Raydium et le regarder avec willou.c ou un autre programme de visualisation pour Raydium.
Par manque de temps, je reparlerais de l'import et des modifs dans Blender (ce qui n'a rien de compliqué) un peu plus tard.
Si il y'a des zones floues dans ce document, précisez le que je le modifie, et ajoutez vos trouvailles... à vous de faire des villes sympas et moins répétitives dans Blender !
(et suivez un principe de base du logiciel libre: "Release early, release often".. donc faites des captures d'écran et postez vos créations pour que tout le monde en profite)
EDIT: une petit erreur dans la commande php corrigée.