Revistas en Papel
Anterior
Menú
Logotipo

AMIGA.InFo • Mayo/Junio 1995 • Número 3

TUTORIAL 3D

TUTORIAL 3D
 

MODELADO 3D:
El dominio de las curvas

En esta ocasión vamos a profundizar un poco más en la creación de objetos con Real 3D. Nos introduciremos en el modelado avanzado con el uso de curvas "B-Spline" y la composición de las mismas para generar superficies muy complejas.

Santi
Maspons

NOTA: Pulsando sobre las fotos con borde azul ampliarás la imagen.

 

En un artículo anterior repasábamos los tipos de objetos que nos ofrece Real 3D pero no nos referimos a objetos importantes de otros programas como Imagine. Lightwave, Sculpt o Videoscape. Estas herramientas disponen también de una extensa colección de objetos ya creados en varios años de funcionamiento por diversos autores. Muchos de estos objetos están disponibles en el dominio público en Internet o CD-ROMs recopilatorios (series AMINET, CDPD, 17 BIT, etc...) y otros se pueden adquirir mediante la compra de CD-ROMs comerciales como la serie LIGHTROM. Todos estos objetos son susceptibles de ser usados en Real 3D. Sólo basta con adquirir un programa de conversión como InterChange de SYNDESIS CORPORATION, Pixel 3D de AXIOM SOFTWARE a otros equivalentes. Como veremos, el procedimiento de exportación de objetos de Real 3D a otros programas es más complicado. No obstante, en esta sección de Amiga.InFo queremos promover y animar a la creación propia de objetos más elaborados.

Conversión de Objetos 3D

Algunos lectores de Amiga.InFo nos han enviado cartas señadando que no hay conversores de objetos de Real 3D hacia otros programas pero sí de varios formatos a Real 3D. La razón es que los objetos de Real 3D tienen unas particularidades muy especiales que dificultan la conversión. A fin de obtener la máxima calidad, los objetos básicos de Real 3D como esferas, prismas y pirámide, no están definidos con los clásicos polígonos planos o triangulares, si no que se definen matemáticamente. COn este método, se pueden crear esferas y curvas perfectas ya demás no ocupan apenas memoria.

Por ejemplo, en lugar de guardar la información de la posición y el tamaño de cada uno de los muchos polígonos que deben componer una esfera "decente" nos limitamos a guardar las coordenadas espaciales del centro y sus tres radios (diferentes en el caso de un elipsoide en forma de balón de rugby). Este método permite crear objetos sólidos con la misma facilidad que los huecos y con la máxima calidad que permite el modo gráfico en que trabajemos. El resultado obtenido es perceptible a simple vista. Hemos incluido un comparativo con una esfera generada con los dos métodos. Las cifras que acompañan a las figuras hablan por sí solas. La perfecta esfera ocupa 194 bytes mientras que la "estrella de la muerte"™ necesita más de 8000 polígonos y 146.244 bytes. Estos datos son interesantes y hay que tenerlos en cuenta si trabajamos en una escena que precisa contener muchas esferas u objetos semejantes y no queremos despilfarrar recursos de la máquina. debemos indicar que si convertimos una esfera generada con polígonos al formato de Real 3D (Real 3D también acepta Sculpt o DXF de Autocad), no obtenemos una esfera primitiva de Real 3D, sino un objeto complejo generado por multitud de polígonos. NO se trata de un fallo o error del conversor, sino de que el objeto está compuesto por estos polígonos que actúan a modo de caras. El conversor debería ser bastante elaborado para efectuar la transformación deseada. La conversión de objetos de Real 3D a otros formatos sólo requeriría de un troceado de las primitivas en polígonos como trapecios o triángulos. Sería un proceso mucho más simple ya que conocemos de que objeto se trata y sólo debe consultarnos la cantidad de polígonos que deseamos. No conocemos la existencia de ningún conversor que realice estas operaciones entre los citados formatos.

Programas como Imagine y LightWave usan generalmente como base los objetos creados con múltiples polígonos y luego realizan una operación de suavizado de contornos "Phong". Esta representación de objetos no tiene todos los inconvenientes, permite por ejemplo, que en un entorno multiprocesador, cada "CPU" se ocupe de generar un polígono en paralelo. Hay que decir que existen máquinas con multitud de procesadores conectados entre sí (256 CPU's o más) colaborando en los complejos cálculos de generación de una imagen sintética. También es cierto que cada CPU se podría encargar de la generación de una primitiva, pero es una distribución de tareas más complicada. Otra posible razón es que los algoritmos de trazado de rayos de luz son más simples al tratar sólo con superficies planas, aunque se aumente el número de polígonos.

Formas Libres


Figura 3. Con pocos puntos podemos controlar curvas complejas. La potencia de las "B-Splines" permite modelado avanzado sin la necesidad de manejar grandes volúmenes de información.

Las mismas ventajas de las primitivas de Real 3D pueden disfrutarse en las formas libres o "MESHES". Las formas libres se basan en las curvas "B-Spline". Estas curvas se pueden definir con unos pocos puntos "Knots". Un algoritmo calcula la curva que pasa por estos puntos. La curva se puede controlar moviendo estos puntos. Una forma cómoda de trabajar con estas curvas es usar la ventana "Tool" y activar el botón "Ctrl".

Aparecen los iconos correspondientes a estos controles que incluyen puntos, rectas, curvas B-spline o incluso espirales y huesos para articular objetos. Remarcamos que algunas curvas pueden definirse directamente como cerradas. La denominación de controles para referenciar a estas curvas es debido a que no se usarán para dibujar ningún objeto directamente. Se usan para indicar trayectorias de objetos animados o como elementos que compondrán una superficie visible. Nos detendremos un poco en esta última funcionalidad de los controles.


Figura 1. Esfera creada con 8192 polígonos en 258 segundos. El objeto ocupa 146.244 bytes. Imagen de 1024x768 pixels en 24 bits.

Figura 2. Esfera creada con una primitiva esfera en 173 segundos. El objeto ocupa 194 bytes. Imagen de 1024x768 pixels en 24 bits.

Podremos modelar objetos orgánicos con formas redondeadas o retorcidas, construir un rollo de papel higiénico o una cinta de celuloide con fotogramas de una escena de nuestra película preferida.

Una manera de modelar una forma libre es crear una rejilla de curvas "B-Spline" y mover los puntos de control para deformarla y doblarla. La opción del menú "Create/FreeForm/Mesh" pregunta el número de curvas que queremos usar en la dirección horizontal y vertical. Cuanto más elaborada vaya a ser la superficie, más curvas necesitaremos. La ventana "Tool" dispone de la misma función en el icono "Build". La resolución de la rejilla podremos variarla en cualquier momento a través de la opción "Modify/FreeForm/Remap". La usaremos para igualar la resolución de dos objetos diferentes en caso necesario.


Figura 4. Este objeto que con pocas modificaciones puede convertirse en una elegante pajarita o unas frágiles alas de mariposa ocupa ni más ni menos que 324 bytes.

La metamorfosis de objetos requiere que éstos tengan la misma resolución. Esto no supondrá ningún problema ya que podemos aumentar la resolución de los objetos más simples a la del más complejo. De esta forma no perderemos la calidad del modelado realizado.

Este modelado puede suponer un duro trabajo de seleccionar puntos de la rejilla y moverlos. Más adelante veremos una forma fácil de generar superficies muy complejas. Los dispositivos de manejo de formas libres se reparten entre el teclado, la ventana "Tool" y las opciones de los menús. En la ventana "Tool" activaremos el icono "Free" y obtendremos las herramientas necesarias para doblar el número de puntos de control de una curva, para mover un punto, concatenar curvas seleccionadas o cambiar la dirección interna de una curva. Todas ellas están representadas con iconos intuitivos que al ser pulsados indican su función en la barra de título de la misma ventana "Tool". Cabe destacar que muchas funciones crean un objeto nuevo al ser aplicadas. Al concatenar dos curvas, por ejemplo, obtendremos una tercera curva resultado conservándose aún las originales.

Para manejar con más facilidad una rejilla que puede contener muchos puntos, disponemos de la posibilidad de agrupar puntos y tratarlos como objetos independientes. Una forma de crear grupos es marcar un rectángulo alrededor del grupo de puntos que queremos con las teclas Ctrl y Shift pulsadas.


Figura 5. Componiendo curvas podemos crear superficies complejas de forma muy fácil y rápida.

Otra forma es realizar el mismo procedimiento con sólo la tecla Shift. De esta manera podemos ir seleccionando puntos y al final escoger la opción "Create/Structure/Group". En los dos procesos debemos tener seleccionada la rejilla o "Mesh" en la ventana de selección de objetos. En ambos casos obtenemos un objeto adicional llamado "Group_tmp" o "Group". Este objeto incluye los puntos que le hayamos indicado pero no corresponden a un objeto independiente. si movemos, rotamos o reescalamos estos grupos, deformaremos la rejilla .Esta posibilidad es muy flexible y permite realizar maravillas impensables con otro tipo de objetos.

Una vez hemos modificado los puntos, podemos eliminar este objeto temporal o dejarlo y renombrarlo para reconocerlo en posteriores modificaciones. Como ejemplo sencillo, hemos reducido y rotado 180 grados la zona central de la rejilla. El resultado es una elegante pajarita diseñada y generada en menos de un minuto.

La creación de objetos llega a hacerse excitante cuando usamos la composición de curvas. Dibujamos dos curvas al azar y escogemos la herramienta "Create/FreeForm/Coplanar" con las dos curvas seleccionadas. Obtenemos una superficie creada al desplazar una curva a través de la otra. Si escogemos la opción "Create/FreeForm/Orthogonal" en el menú o en los iconos del útil "Build" de la ventana "Tool", obtenemos una curva parecida, pero la curva que se desplaza mantiene la perpendicularidad a la trayectoria y va rotando. Antes hemos mencionado que se pueden crear curvas cerradas. Es fácil deducir que el resultado de componer una curva cerrada a lo largo de otra curva irregular va a crear un tubo de apariencia orgánica.

Combinar una curva cerrada con otra cualquiera con composición ortogonal o perpendicular es parecido a generar un objeto de revolución pero con contorno irregular, no necesariamente circular ni elíptico. De hecho, se trata de la generalización del proceso de revolución a cualquier curva. Remarcamos que el orden en que se seleccionan las curvas es importante, ya que una curva queda quiera, y la otra se desplaza a través de ésta. Después de unas pocas pruebas se puede dominar esta potente técnica de modelado.



Figura 6. Este objeto dispone de una textura refrescante. el mapeado sigue la geometría de las curvas.

Figura 7. Ejemplo de mapeado libre en una superficie curvilínea.

Figura 8. Composición de una curva cerrada y una abierta.

Texturas Libres


Figura 9. La composición ortogonal de curvas puede interpretarse como la generalización de los objetos de revolución a cualquier curva, no ne

El uso de curvas "B-Splines" amplía la forma de mapear texturas clásicas. Además de las proyecciones por defecto, paralela, cilíndrica, esférica y en forma de disco disponemos de la proyección adaptable a la forma del cuerpo. La textura se pegará al objeto como si de una media se tratase. La forma de usar este mapeado es muy sencilla. En la ventana de definición de un material activamos el botón "Spline map" situado en la parte superior izquierda. Al mapear el material, podremos escoger cualqueir proyección ya que no se usará. Mandará el "spline map".


Figura 11. Combinación de una espiral y una curva cerrada. Obtenemos un muelle de aspecto antiguo, usado y con formas no simétricas e irregulares.

Recomendamos la proyección por defecto que no añadirá más líneas en modo alambre. Esta característica es específica para cada material. Esto significa que podemos aplicar todos los tipos de proyección a la vez en el mismo objeto. Las mismas reglas que en el mapeado normal son aplicables a este nuevo método: Sólo una pequeña particularidad: Si queremos aplicar un material definido como "Spline map" en proyección esférica deberemos generar otro material idéntico pero con el botón "Spline map" desactivado. La repetición de la textura no es posible de la misma forma que las clásicas indicando "Tile" ni, consecuentemente, invertirla con "Flip". La textura se adapta a la perfección al objeto, se estira y deforma automáticamente siguiendo la forma de la superficie.

Cuando generamos la imagen en sólido de la escena, podemos quedar decepcionados al observar que la imagen que pegamos a una hoja de papel arrugada o aun trozo de celuloide aparece al revés. No debemos preocuparnos, sólo hay que cambiar la dirección de las coordenadas internas del objeto. Estas coordenadas son llamadas por defecto como U y V. Debemos verlas como la X e Y en el plano para sobre una superficie cualquiera. el origen de coordenadas está en el punto de donde parten las dos líneas curvas que han dado origen a la rejilla. La dirección de estas líneas se puede cambiar de forma fácil con la opción "Modify/FreeForm/Swap Direction" del menú o con el icono correspondiente a "Free" en la ventana de herramientas "Tool" donde aparecen dos flechas al lado de una "u".

Figura 10. Para usar texturas que se adapten a una forma libre sólo hay que activar el botón "Spline map" y usar cualquier proyección para la textura.

Con esta presentación del manejo de curvas en Real 3D, es posible construir objetos muy complejos y realsitas, Esperamos que sea de utilidad a quién esté interesado en el mundo del 3D. Próximamente trataremos un tema tan atractivo como la metamorfosis de objetos y de texturas. Recordamos que si enviáis preguntas, sugerencias y colaboraciones de cualquier tipo podremos tratar temas que sean de vuestro interés. Damos las gracias a los que ya lo han hecho.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal