La modélisation d'immeubles sous POV-Ray commence en général de façon amusante, puis devient vite ennuyeuse... Ces modèles ne font pas exception. J'essayai pendant un moment de retarder le moment fatidique, en utilisant des boîtes, ou des immeubles issus d'images précédentes. Les boîtes - une seule pour commencer, puis une série de boîtes de taille et de couleur aléatoire - remplirent leur rôle, puis il fallut bien passer aux modèles définitifs.
La première étape fut de trouver
les bonnes textures. Je savais que je n'allais pas utiliser de textures procédurales. La
texture d'un mur est extrêmement complexe, et la réaliser en procédural aurait demandé
un travail énorme, sans compter les ressources machine nécéssaires, d'autant plus qu'il
me fallait des dizaines de textures à grainde échelle. Je pris donc mon livre préféré
d'images new-yorkaises, et je scannai une dizaine de façades d'immeubles. Chaque photo
fut corrigée pour la parallaxe et les couleurs furent éclaircies, saturées et
contrastées. Je conçus un système permettant d'appliquer une texture de mur ou de
fenêtre sur une boîte de telle sorte que l'image soit toujours correctement
proportionnée relativement à la taille théorique de l'immeuble, tous les bâtiments
faits selon ce principe étant alors à la même échelle. Ce système fut utilisé pour
générer en série des immeubles "bidon" de taille et de texture aléatoire. L'image de droite montre un rendu de test utilisant ces immeubles bidon. A la fin, chaque immeuble bidon fut remplacé par un "vrai" modèle. |
Je commencai avec une technique
simple, consistant à plaquer une texture sur le height field lui correspondant : l'image
de la façade d'immeuble est convertie en noir et blanc, et traitée jusqu'à ce que
toutes les fenêtres soient noires, les encadrements et les murs restant blancs ou gris
clair. Quand l'image originale est superposée à ce height-field, on obtient des façades
très réalistes (au moins vues de loin). Les premiers tests furent satisfaisants, sauf
que le raytracer se mettait en boucle à cause d'un bug dans le traçé des height-fields
(corrigé depuis)... Le problème n'étant ni prévisible, ni contournable, il fallut
renoncer à cette technique et remplacer les height-fields par des modèles en CSG
classique. Je coupai l'image originale en 34 morceaux, chacun correspondant à une
fenêtre ou à un petit pan de mur, et je les disposai de façon aléatoire. Le résultat
est en fait meilleur qu'avec un height-field, car permettant un contrôle plus complet de
la structure du bâtiment. Sur la droite sont présentés 6 morceaux d'images : tous ont été lourdement traités, avec correction de tonalité (accentuation des hautes lumières et des ombres), saturation de couleur et flou. |
Etant le plus proche de la caméra, ce bâtiment devait être le plus détaillé. Il n'y a pas grand chose à en dire : il s'agit de CSG pure. La construction prit une semaine, étage par étage, avec un immeuble réel (situé près du Flatiron Building) comme référence. Une fois la construction terminée, j'en fis un rendu avec une caméra orthographique et l'image résultante fut utilisée comme base pour peindre la texture dans Picture Publisher. Les salissures furent obtenues avec un filtre "vent" permettant de faire "suinter" les parties sombres (les fenêtres) sur les parties claires (les murs). Après passage d'un certain nombre de filtres (sans utilisation de photos !) l'image est superposée précisement sur le bâtiment. Une version réduite de cette image map est présentée sur la droite. Le dernier "truc" concernait les réflexions des fenêtres. Toutes les fenêtres étant identiques, il était difficile de leur donner des comportements différents. Plutôt que d'avoir recours à une macro, j'utilisai un plan texturé avec un motif "cells" de couleur bleutée, positionné directement derrière les fenêtres : une tricherie très efficace ! La source et l'image map pour ce bâtiment sont disponibles ici. |
Après avoir fait une overdose de modélisation, il me fallait un peu de repos... Je savais que le 3dcafe avait des immeubles tout faits, notamment un modèle du Chrysler Building que j'avais déjà utilisé en 1996 dans l'image ci-contre : |
A cette époque, j'avais été
déçu de ne pas pouvoir le texturer correctement. Mais maintenant, je disposais de
l'UVMapper de Steve Cox ! Je téléchargeai le bâtiment, et après conversion du modèle
au format OBJ, je lui créai une image map à partir de photos retravaillées de
bâtiments réels - dont le vrai Chrysler Building. Cela prit quand même une journée. Le
modèle et la map étant très gros, je ne les fournirai pas, mais voici à quoi ressemble
la texture : Vous noterez que le bas du building est obscurci pour simuler le brouillard. La bâtiment fut ensuite converti au format 3DS, puis mesh2. Il est utilisé deux fois dans l'image (dont une pour faire du remplissage). Un bâtiment plus petit, situé à droite au pied du précédent, a suivi exactement la même voie. Pour un tutoriel sur l'uv-mapping, cliquer ici. |
Les autres bâtiments furent réalisés plus rapidement. Il s'agit d'unions de boîtes texturées par un mélange d'image maps et de textures procédurales. Il était envisagé de mettre plus de détail, mais le temps a manqué.
La bâtiment sur la droite provient de En attendant Noé (c'est là aussi l'immeuble de droite, mais en plus visible). C'est une grosse construction CSG de 1200 lignes qui avait pris une semaine à réaliser en son temps. Elle a été adaptée spécifiquement pour l'Oiseau mouillé.