Ciudades y ciudadanos
Colocación de los ciudadanos

Crear una ciudad con el plug-in de Colefax es tan sencillo como incluir el texto de la Figura 3 en nuestro fichero escénico. Este texto creará una ciudad de 4*12 bloques de edificios. Para colocar la cámara lo único que habrá que recordar es que el centro de la ciudad está en <0,0,0> por lo que una cámara colocada en esta posición quedará en el centro de una calle. Para ponerla sobre una acera, bastan unos sencillos cálculos. Hay dos carriles de carretera en cada dirección (traffic_lanes=2) y cada uno tiene un ancho de cuatro metros (traffic_width=4). Además, el trozo de calzada adyacente a la acera (donde aparcan los coches) tiene dos metros de ancho. Por tanto la calzada tiene un ancho de (2*2*4)+(2*2)=20 metros (probablemente es una ciudad de los USA).

Esto quiere decir que si ponemos la cámara en <-12, 1.6 0> y mirando hacia el punto <5, 1.2, 50>, la tendremos 2 metros dentro de la acera del lado izquierdo de la imagen. En este lado los peatones pueden estar entre X=-11 y X=-14. Ahora veamos otro punto: los modelos que genera "Poser" son diminutos y hay que escalarlos hasta las dimensiones de los edificios de Colefax, en los cuales una unidad equivale a un metro. Aparte de esto, los modelos se graban centrados en los ejes X y Z (que representan el suelo) y con los pies a la altura Y=0. Esto quiere decir que para que el hombre de negocios tenga una altura de 1.8 metros, bastará con escalar el modelo por 2.525 en los tres ejes. (La variable V_WorldBoundMax, puesta por 3ds2pov en el fichero principal de la conversión, guarda la altura máxima de la caja imaginaria que recubre al modelo. En nuestro caso esta altura es de 0.7127). Hemos puesto la orden de escalado en la unión de las piezas del modelo, en el fichero htraje1.inc. Luego, en cada invocación al modelo incluiremos una sentencia rotate para determinar la dirección de éste y por último una sentencia translate para situar al modelo en la escena.

Una vez sabido esto no nos costará preparar nuestras nuevas escenas de ciudad. Cada bloque de edificios del ejemplo tiene 60 metros de largo así que utilizando un bucle while, y pudiendo colocar hasta tres peatones por cada metro de profundidad, podríamos colocar hasta 60*3 ciudadanos en un tramo de acera. Esto es un poco exagerado y además quedaría demasiado uniforme, pero podemos emplear algo de aleatoriedad para que los peatones no parezcan estar en formación. También podríamos emplear varias poses de diferentes modelos y cambiar el sentido de la marcha del peatón, etc. Los resultados que podemos ver en las escenas toma1 y toma2 son sólo un ejemplo modesto de lo que puede conseguirse.

 
  Figura 3: Crear la ciudad

...
...
#declare city_block_count = <4,12,0>; //4 bloques de edificios a lo largo de X por 12 a lo largo de Z
#declare buildings_per_block=2; //num. de edificios por bloque (2)
#declare building_width=25; //ancho de cada edificio (25 metros)
#declare building_gap=2; //separación entre edificios del mismo bloque. (2 metros)
#declare traffic_spacing = 0; //distancia de separación entre vehículos. Como es cero, no hay coches
#declare pavement_height=0.15; //altura del pavimento
#declare pavement_width=4; //ancho de la acera
#declare traffic_lanes=2; //2 carriles de carretera en cada dirección
#declare traffic_width=4; //cada carril tiene un ancho de 4 metros
#declare city_seed=5643; //semilla para el generador de números aleatorios. Un cambio aquí produce una ciudad distinta.
object{#include "CITY.INC" translate<0,0,300>}
...
...

 
 
Nuestra primera imagen de ciudad. Aquí sólo hemos utilizado una pose y ésta emplea texturas layered.
En nuestra segunda imagen añadimos una pose más de la animación andar y cambiamos (desde "Poser") el color.
Anterior Siguiente