sábado, 23 de noviembre de 2013

Modelado Low Poly: Quads vs Tris

La pregunta de mi compañero Asensio, autor del Blog muy recomendable sobre videojuegos Toodaim (hacedle una visitilla), me recordó que debía tratar el tema del número de lados que tienen los polígonos, porque suele generar bastante duda. Voy por tanto, a tratar de explicar lo que se sobre esto de los Triángulos, Quads y polígonos de más de 4 lados.

Para comenzar debemos saber que, aunque para modelar, los polígonos de 4 lados o Quads, son los que más nos facilitan las cosas y con los que nos vamos a manejar, para la máquina, todo Quad está formado por 2 triángulos. Conocer este hecho es importante, porque más de una vez podemos querer editar está geometría que, en algunos programas no está a la vista de primeras, para corregir errores o porque nos convenga.


Poniendo un ejemplo sencillo, vamos a suponer que necesitamos modelar las alas para un dragón que solo tengan 2 Triángulos cada una. En este caso tenemos a nuestro querido Quad, cuya división en dos triángulos ya viene por defecto y que, sabiendo que está ahí, podemos usar para dar la forma del ala poligonal. Como en todo polígono de 4 lados existen dos posibles diagonales que lo dividan en triángulos, en caso de que se esté usando la diagonal equivocada para poder darle forma a nuestra ala, necesitaremos que nuestro software para 3D visualice esa diagonal oculta y rotarla. (En algunos programas estas aristas siempre se visualizan y en otros basta con pulsar la opción necesaria para verla, además todos suelen tener la opción de rotar esta arista). Con esto, conseguimos la forma que estábamos buscando y solo estamos usando un Quad, pero también estamos aprovechando el que para la máquina haya dos triángulos unidos.


¿Podríamos haber dibujado nosotros los dos triángulos? Sí, pero el efecto habría sido el mismo.

¿Y si da igual por qué se trabaja con Quads? Cuando extruimos o generamos formas básicas, los polígonos que se generan normalmente son de 4 lados por su estabilidad. Dicha estabilidad se puede observar muy bien cuando nos metemos en las subdivisiones que se usan tanto hoy en día, para suavizar o añadir polígonos que nos permitan esculpir una superficie al detalle en programas de esculpido 3D.

Cuando subdividimos, el software intenta crear nuevos polígonos dividiendo cada uno de los que encuentre en la geometría en Quads más pequeños. Si lo que tiene que dividir ya son Quads, la geometría es estable (normalmente divide cada polígono en otros cuatro a cada nivel de subdivisión que hagamos) y, además no suele generar ningún fallo ni deformidad en la malla cuando vamos a esculpirla.


Por otro lado, si lo que hay que subdividir son triángulos, la máquina aun intenta generar Quads dentro de ellos, y se produce una malla poco uniforme que a altos niveles de subdivisión puede traernos problemas (aunque a veces, con suerte, no pasa nada). Cuando empezamos a esculpir, en ocasiones hay zonas donde parece que han “pellizcado” la superficie por culpa de ese triángulo que teníamos por ahí perdido. Esto no significa que los triángulos estén desaconsejados del todo. Pero deberíamos evitarlos en lo posible. Aunque nos pueden venir genial para alguna zona de las superficies de ciertos modelos.

Si hablamos de polígonos de más de cuatro lados los problemas son mucho mayores. Con las subdivisiones tenemos el mismo problema que con los triángulos, que el ordenador intenta generar Quads en su interior y la malla se hace poco estable. Pero además, como en el caso de los polígonos de 4 lados, la máquina debe componerlos por triángulos, y en esta ocasión ya no tiene solo 2 diagonales con las que cortar, si no que suele haber más problemas para saber dónde y cómo colocar dichas diagonales. Por último, el software para esculpir mallas 3D no se lleva nada bien con este tipo de formas poligonales y tiende a generar errores al subdividirlas o fallos en la geometría cuando tratamos de esculpir sobre esas zonas.



En resumen, no es una obligación moral ni nada por el estilo usar solo Quads, pero es la forma más cómoda y estable para que podamos modelar nuestros proyectos 3D. Lo que si recomiendo evitar en lo posible son los polígonos de más de 4 lados. Cuando en algún modelo se quede alguno olvidado ya os daréis cuenta que puede traer problemas (y si no los trae será que tenéis mucha suerte). Respecto a los triángulos, como ya he dicho es importante saber que siempre están ahí y que es lo que la máquina va a manejar.

2 comentarios:

  1. Un aplauso!! fantástico artículo.
    Solo me queda una pequeña duda... yo modelo con el primitivo pero sencillo soft WINGD3D, y no me da la opción de ver la subidivisiones de los quads, cuando quiero dar una forma a un quad tengo que añadir la arista manualmente, no se si con otros softs de modelado pasa esto también... la pregunta es ¿quién decide donde colocar la arista para subdividir el quad, el programa de modelado o el game engine al cargar el modelo?... cabe destacar que en cuanto cargo mis modelos de wings en unity3d las aristas se hacen visibles y el modelo aparece formado solo por tris.
    Un saludo y mis felicitaciones por tan útil y elaborado artículo.

    ResponderEliminar
    Respuestas
    1. No conozco Wings 3D, de hecho lo vi en tu blog y me lo he descargado hoy para probarlo, pero lo suyo es que tuviera alguna manera de ver las aristas ocultas que forman los triangulos.

      Que diagonal se usará, la decide el engine, pero se supone que podemos cambiarla nosotros (no se si en Unity se podra. Es más, tampoco se si se puede hacer un flip de las normales)

      De todas formas, si tienes que añadir la arista de forma manual tampoco es tan malo, a no ser que te vayas a meter en subdivisiones para esculpir el detalle de ese modelo y obtener texturas tipo displacement o normal map. En ese caso no se que decirte. :P Oh y gracias.

      Eliminar