etereaetereaaboutnewsworkstrainingsuccesseterealinksmoreetereashop
Home > Training > Técnicas modelado por subdivisión > Creación de una carretera de montaña (parte 2)
Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
1. Introducción al modelado por subdivisión
2. Cómo crear agujeros circulares
3. Cómo trabajar un texto por subdivisión
4. Pinceles segmentados y Vertex Map Falloffs
  5. Creación de una rueda: llanta y cubierta
6. Las piedras y rocas de Fallingwater
7. Creación de una carretera de montaña (parte 1)
8. Creación de una carretera de montaña (parte 2)

Creación de una carretera de montaña     ( parte 2 / ir a la parte 1 )

3. CREACIÓN DE LA “CINTA BASE”

Como hemos adelantado al final de la primera parte, una vez que hemos creado nuestra “cortina” central vamos a construir la cinta superior, que contiene el propio firme de la carretera… y algo más.
Cortina base de una sola cara   Cortina base doble cara
En mi caso, trabajando con Modo y con la secuencia que he seguido, parto de una estructura constituida por polígonos de una sóla cara. Por eso la vemos como si fuera transparente por un lado, aunque también se puede comprobar muy bien si activamos la visualización de las normales: sólo aparecen en una dirección.

Podríamos lograr que se viera perfectamente desde los dos lados (cada programa consigue esto de un modo diferente) pero eso no nos interesa. Necesitamos otra cosa.
  A continuación haremos que la superficie sea de doble cara (ojo, muy importante: que sea REALMENTE de doble cara y no sólo que lo parezca, es necesario que veamos dos normales).

Para conseguirlo hago lo siguiente: selecciono toda la superficie inicial; la copio; inmediatamente después la “flipeo” (invierto la dirección de todas sus normales); y después pego lo que previamente habia copiado. Realmente obtengo dos superficies superpuestas, cada una de una sola cara, pero invertidas.
Activamos la visibilidad de los perfiles laterales
Bien, ahora ya tenemos nuestra cortina doble con los poligonos apuntando hacia los dos lados. Está preparada para realizar la siguiente operación, pero antes vamos a hacer que se vean los dos perfiles originales que definían los límites laterales de la carretera (en azul).
Aplicamos Polygon Bevel
Situandonos en la vista TOP y con todos los polígonos de nuestra cortina seleccionados, realizaremos una extrusión que siga la normal a cada polígono [ en el caso de Modo utilizaremos la herramienta Polygon Bevel interactuando directamente en el viewport, o lo que todavía es mejor, introduciendo el parámetro final —los 5 metros— en el valor de Shift ]. Con esto habremos expandido la cortina original y se habrá creado una especie de “pasillo elevado” con el propio firme de la carretera definido por la cinta superior.

[ NOTA: esta cinta se podría también haber obtenido usando una herramienta Sweep (la típica para crear tubos) haciendo que un perfil —un simple segmento horizontal— fuera recorriendo la cresta superior de nuestra cortina. Si tuviera que modelar esta estructura usando Rhino, por ejemplo, lo haría de esa forma, casi seguro; pero trabajando con Modo me resulta más cómodo el procedimiento que describo aquí. Especialmente por el siguiente paso que vamos a dar ]
Volvemos a aplicar Polygon Bevel
Ahora hacemos que se visualicen los perfiles que definían los límites de los taludes, en morado (estos perfiles nos muestran la proyección en planta de las intersecciones que tienen lugar entre los taludes y el propio terreno, según los cálculos que habrá realizado la oficina técnica que nos ha pasado el material).

Seleccionamos los laterales verticales de nuestra nueva “cortina engrosada”, nos ponemos en la vista TOP y volvemos a aplicar una nueva operación de extrusión, exactamente igual que en el paso anterior, sólo que en este caso procuramos extendernos algo más allá del límite máximo hasta donde llegan esos taludes. Esto es algo muy importante: algo más allá. Luego veréis por qué.
tenemos la cinta más las cortinas laterales   Dejamos sólo la cinta superior
Bien, aquí tenemos la estructura a la que hemos llegado. Un pequeño detalle que es importante que comprobéis, sea cual se el método que hayáis empleado para llegar hasta aquí: es conveniente que cada uno de los segmentos transversales de la cinta superior esté en un plano horizontal [ en Modo y con los pasos que hemos dado será así ].

Es cierto que la realidad de una carretera no es así: los peraltes de una curva hacen que esas secciones transversales no estén realmente en la horizontal. Pero os seguro que si el método constructivo que habéis empleado introduce variaciones transversales de altura en cada edge, no tendrán nada que ver con unos verdaderos peraltes: estaremos introduciendo un error…
  En este momento podemos eliminar todo el material sobrante y quedarnos únicamente con la lámina superior, que contiene la anchura de la carretera y un extra a cada lado más allá de los taludes. Abajo, en la cota 0, vemos los perfiles originales y una “sombra” o proyección en planta de nuestra cinta —no la vamos a emplear para nada, la podéis eliminar también, la muestro ahí abajo únicamente para dar la idea de que nuestra cinta se encuentra a su altura correspondiente—.

Antes de seguir trabajando vamos a hacer una cosa importante: definir YA las coordenadas UV de esta estructura. Mucho mejor hacerlo ahora —que todavía tenemos algo muy simple— que más adelante, cuando se empiece a complicar la geometría.
Creamos UV de la cinta superior
Existen diferentes estrategias y herramientas para definir las coordenadas UV de un objeto. Para todas aquellas estructuras que tienen una naturaleza “tubular” —una sección que sigue un recorrido, como es nuestro caso— en Modo hay una herramienta llamada UV Peeler que resulta perfecta y super-sencilla [ no se si otras aplicaciones tendrán una herramienta como ésta, supongo que sí, aunque es probable que la denominen con otro nombre ].

La forma de obtener las UVs no puede ser más simple: seleccionamos los edges del arranque de nuestra cinta, escojemos la herramienta UV Peeler y clickamos en el espacio de coordenadas UV. Y como por arte de magia se nos habrá desplegado la estructura de la cinta siguiendo una orientación longitudinal: la evolución del recorrido en U (horizontal) y la anchura transversal en V (vertical).

Únicamente quedará pendiente “rectificar” este mapa de UVs para que todos los segmentos transversales —que como podéis ver en la imagen de la izquierda van teniendo diferentes inclinaciones— pasen a ser ortogonales, pero eso sí, muy importante: sin destrozar la proporcionalidad del reparto que existe entre ellos. Esto lo podríamos conseguir de un modo lento, yendo uno por uno y forzando su alineación, pero nos costaría un buen rato. Vamos a ver cómo hacerlo de un plumazo con las herramientas de Modo:
Rectificamos las UVs
— En el espacio UV seleccionamos todos los edges transversales (doble click en uno de los segmentos, para seleccionar el loop y luego ALT+L para seleccionar todo el ring).

— En el tab Action Center escojemos Center > Local y Axis > Origin.

— Invocamos la herramienta Scale y manipulamos el manejador amarillo (la escala en U) hasta hacer que se convierta en cero. Mejor aún si directamente introducimos el valor de “0” en su campo correspondiente.

Y ya está. De esta forma cada uno de los edges transversales en el viewport UV se habrá comprimido horizontalmente, pero sin perder su posición relativa respecto a los demás, gracias al uso de los Action Centers.

Tenemos rectificado el mapa UV. Ahora podremos seguir manipulando y trabajando sobre nuestra cinta, procurando no introducir operaciones que destrocen este mapeado recien creado [ imagino que esto será altamente dependiente de cada programa: ciertas operaciones pueden alterar las UVs de un modo lógico y predecible, pero quizá no sea así: deberéis ir chequeando los pasos que vayáis dando, para no llevaros una desagradable sorpresa al final ].



Ahora veremos para qué hemos creado esa expansión extra más allá de los límites de la carretera. Vamos a facilitarnos las cosas para poder generar uno de los elementos más complicados de nuestra escena: los taludes laterales que unen la vía con el terreno.
Añadimos edges internos extra
Para empezar, activamos la visión de los perfiles y los vértices, en morado, y nos ponemos en la vista TOP. Como vemos en la ilustración, la cinta aparece bastante segmentada —y con una cadencia relativamente homogénea— en las zonas de curva, pero en los tramos rectos no es así. Si no fuera por los taludes y la necesidad de fundir esta malla con la del terreno la podríamos dejar tal cual, pero como veremos más adelante es casi imprescindible que también segmentemos estos tramos rectos. Una posibilidad sería hacer coincidir los edges que debemos añadir con los vértices que detectamos en los perfiles de los taludes, pero lo que yo he preferido crear una segmentación proporcional con la que tienen las curvas.

Para conseguirlo he empleado la herramienta Loop Slice de un modo paramétrico (he introducido los valores numéricamente, tanto el número de pasos como la posición de cada uno, para que tenga un reparto uniforme).
Comprobamos la integridad de las UVs
Tras aplicar esta segmentación a todos los tramos rectos, y tal como os he mencionado anteriormente, compruebo que mi mapeado UV no se ha echado a perder: todo está bien, allá donde se han añadido nuevos edges internos en el modelo 3D también se han añadido —y de un modo coherente— dentro de las UV. Podemos seguir trabajando.
Hacemos una intersección con las cortinas originadas con los perfiles de los taludes
En nuestro siguiente paso vamos a extruir verticalmente los perfiles de los taludes para crear dos nuevas cortinas. Hacemos que crezcan hasta una altura por encima de nuestra cinta. A continuación creamos una operación booleana —un Drill— que nos cortará la cinta en los puntos de intersección con la cortina azul proyectada desde los taludes. Vemos los nuevos edges internos resaltados en naranja.
Eliminamos puntos sobrantes
Nos ponemos en la vista TOP, nos acercamos bastante a la cinta y activamos la visibilidad de los vértices. De este modo comprobamos que los edges que se acaban de crear no están “limpios”. Han aparecido unos puntos extra —resaltados en rojo— que debemos eliminar. Tras la operación comprobamos cómo ya sólo están los vértices necesarios para definir una estructura limpia, de cuadrángulos —resaltados en color verde—
Duplicamos los edges recien creados con Slide
Ahora seleccionamos esos dos nuevos edges que acabamos de crear y limpiar y realizamos una operación de Slide con copia hacia el exterior. Así obtendremos otros dos edges extra paralelos a los anteriores. Esta es la razón por la que antes os había comentado que debíamos ir más alla de donde llegaban los perfiles de los taludes: para poder duplicar y expandir hacia el exterior estos edges.

Tras esta operación podemos seleccionar los loops de polígonos intermedios y eliminarlos, según podéis ver en la figura. Al final tenemos nuestra cinta que define la calzada de la carretera y otras dos cintitas más extrechas a ambos lados que van siguiedo la forma externa de los taludes. Enseguida veréis para qué hemos creado estas dos pequeñas cintas, pero antes vamos a hacer una comprobación importante:
Comprobamos UVs
Tras las últimas operaciones comprobamos que las corrdenadas UV siguen estando en su sitio: los edges que han aparecido tras la operación boolena con la cortina procedente de los taludes; los otros dos nuevos edges extra tras la operación de slide; las dos cintas que hemos obtenido tras eliminar la geometría sobrante; todo está donde debía estar, tanto en la geometría 3D como en el viewport UV.



Y ahora es cuando vamos a lanzarnos a crear el terreno circundante y unirlo con nuestra cinta de la carretera. Veréis que estas dos cintitas estrechas juegan un papel muy importante.



4. CREACIÓN DEL TERRENO A PARTIR DE LA CINTA BASE
Nos llevamos cintas extra a la base
A partir de este momento trabajaremos durante un rato en la cota 0, para tener más comodidad y olvidarnos por un tiempo de la tercera dimensión. Para ello seleccionamos las dos cintas estrechas y las proyectamos hacia la base. En mi caso, con Modo, basta con indicarle que las coordenadas “Y” (la altura) de todos sus vértices pasen a cero. Dejaremos visibles estas dos cintas proyectadas en el suelo y ocultaremos la cinta de la carretera por un tiempo.

Y ahora es cuando vamos a trabajar en el propio terreno. Recordad que como materia prima para nuestra escena, aparte de los perfiles proyectados a cota cero de la carretera y los taludes, también teníamos una malla tridimensional representando el terreno. En este caso la malla está en su sitio, cada vértice a su cota, pero nos sirve de poco tal cual se nos ha importado ya que, por su propia naturaleza triangular, es imposible subdividirla para poder añadir detalle —esculpiéndola si lo necesitamos, por ejemplo—.

Por ello vamos a crear las bases para obtener una malla cuadrangular homogénea que represente al terreno; y además vamos a hacer que tenga incorporado el hueco necesario para alojar a la carretera. Con el siguiente procedimiento los taludes que unen la carretera con esta nueva malla se modelarán con toda comodidad. Veamos el paso a paso:
Creamos una nueva malla para el terreno
— Nos situamos en la vista TOP y hacemos que esté visible —pero mejor en otra capa— la malla triangular original.

— Para trabajar con comodidad coloreamos nuestras dos cintas extra de rojo (recordad que están proyectadas en el suelo).

— Creamos un rectángulo que cubra la mayor parte del terreno (pero que no vaya más allá en ningún punto) y lo segmentamos en un número de facetas razonable en los dos ejes coordenados. Esta malla, que ahora es completamente plana, porteriormente se deformará para conformar nuestro nuevo terreno, así que es importante que ni os quedéis cortos ni tampoco os paséis con el número de polígonos. Para distinguir bien todos los elementos coloreamos la malla de verde.

— A continuación abrimos hueco en la malla verde, eliminando tantos polígonos como sea necesario para que no invadan el interior del pasillo conformado por las dos cintas rojas.

— Ahora unimos la malla verde con las cintas rojas usando herramientas de bridge y de creación directa de polígonos a partir de unos cuantos edges perimetrales. En un primer momento no nos debemos preocupar aunque nos salgan poligonos de más de 4 lados. Seguro que será así. Los coloreamos en azul para distinguir mejor lo que hacemos.

— En el siguiente paso tratamos de arreglar los “n-side polygons” convirtiendolos en triángulos.

— Y finalmente procuro que la mayoría de los polígonos pasen a ser cuadrángulos. La mayoría. Pero tampoco pasa nada porque haya algunos polígonos de 5 lados u otros de 3. Esta es una parte bastante subjetiva, no hay una forma exacta de obtener una malla perfecta. De hecho la malla que véis arriba seguro que se podría mejorar, pero para nuestro caso ya nos sirve bastante bien.

— En el último momento —pero también a lo largo de todo el proceso anterior— activamos y desactivamos la subdivisión para comprobar el aspecto que tiene la malla. Es una buena forma de comprobar la coherencia en el flujo de líneas.
Generamos UVs del tereno
Con la malla todavía plana generamos un mapeado UV. En este caso ya no utilizaremos la herramienta UV Peeler, sino que haremos una simple proyección en el eje vertical [ en Modo usamos la UV Projection Tool ]. Vemos el aspecto que tienen la malla con sus nuevas UVs tanto subdividida como sin subdividir.



Y ahora ha llegado el momento de hacer que esta malla plana se adapte realmente a la forma del terreno. Se trata de conseguir que todos los vértices se desplacen en la vertical hasta toparse con la malla triangular. Os explico cómo está hecho en Modo:
Empujo la nueva malla del terreno hacia abajo para que se adapte a la original
— Primero subo mi nueva malla cuadrangular plana hasta situarla por encima del terreno triangular.

— Es importante que la malla triangular esté en otro layer (de hecho ya lo teníamos así hasta ahora).

— En el tab Snapping seleccionamos Constrain to > Background.

— Seleccionamos la herramienta Push y la activamos clickando en el viewport. En ese momento aparecerá una flechita.

— Ahora podremos arrastrar la malla cuadrangular mediante la flecha tirando de ella hacia abajo hasta que todos los vértices se topen con la malla triangular. Llegará un momento en que por mucho que arrastremos no seguirá desplazandose ningún punto hacia abajo.

— Y ya lo tenemos: al activar/desactivar la subdivisión veremos el aspecto que toma nuestro nuevo terreno. De hecho sería algo muy conveniente hacer un test previo: justo cuando tenemos creada nuestra malla cuadrangular (antes de eliminar polígonos y unirla con la cintas rojas) podemos hacer esta última operación probando con una mayor o menor cantidad de cuadrángulos para ver el aspecto que coge al deformarse según el terreno triangular. Y es muy importante que lo comprobemos tanto con la subdivisión activada como sin ella.


En este momento podemos volver a activar la visibilidad de la cinta-carretera y disponernos a unir ambas estructuras:
Completamos los taludes con Bridge
Fijaos que como el perímetro externo de la cinta de la carretera y el perímetro interno de la malla del terreno tienen el mismo número de edges —y además están perfectamente alineados— ahora es pan comido unir las dos estructuras mediante una simple operación de Bridge entre cada par de loops de segmentos. Así obtenemos de una forma directa los taludes, coloreados en amarillo.

Sólo nos queda conseguir que la estructura funcione cuando activamos la subdivisión. Algo muy sencillo ahora que lo tenemos todo bien planteado con una topología coherente:
Extruimos los Edges para crear contornos definidos
— Seleccionamos los cuatro loops de segmentos que definen los puntos de unión entre carretera/taludes y taludes/terreno.

— Invocamos la herramienta Edge Extrude y hacemos que el parámetro “Width” cambie a un valor que nos resulte apropiado. Aquí lo hemos dejado en 30 cm, pero si le hubieramos dado un valor mayor obtendríamos una transición más suave entre los taludes y el resto. Es fundamental comprobar el aspecto que toma al verlo subdividido.



Y ya está [ bueno, quizás mejor deberíamos decir “por fin lo tenemos” ]. Como en todo momento nos hemos ido asegurando de que nuestros mapas UV no se degradan, al final podemos comprobar que las texturas fluyen de un modo conveniente a lo largo de nuestra carretera, sus cunetas y el terreno circundante. Para ello nada mejor que utilizar unas simples checkgrids ;-)
Chequeamos UVs con checkgrids   Chequeamos UVs con checkgrids
Texturizamos   Texturizamos
Además de la posibilidad de poder texturizar con gran comodidad la carretera, las cunetas y el terreno —mediante unas UVs perfectamente definidas— obtenemos otras ventajas:

— Al ser una superficie de subdivisión nos podremos acercar cuanto queramos sin que aparezcan los problemas de una baja poligonización, especialmente si activamos la Adaptive Subdivision en el momento del render.

— Por su naturaleza cuadrangular todo el terreno circundante está preparado para introducir más detalle superficial mediante las herramientas de sculpting, incrementando si lo necesitamos el nivel de subdivisión.

Todo ello por no mencionar el valor subjetivo de la “limpieza” en la malla resultante :-P

Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
All images copyright Cristóbal Vila