¡Bienvenido a este Codelab sobre cómo reducir polígonos y optimizar modelos 3D! En este tutorial, descubrirás qué es la diezmación de polígonos y cómo esta técnica puede ayudarte a optimizar modelos 3D complejos. Aprenderás a reducir la cantidad de polígonos en tus modelos sin sacrificar demasiado detalle visual, haciéndolos más ligeros y aptos para su uso en dispositivos de Realidad Virtual.

Blender

Modelo 3D a optimizar

Blender es un software gratuito y de código abierto ampliamente utilizado para diversas tareas, incluido el modelado 3D. En este tutorial, utilizaremos Blender como herramienta principal para reducir y optimizar nuestros modelos 3D. Para comenzar, puedes descargar el software directamente desde el siguiente enlace: https://www.blender.org/download/

Una ves descargado el instalador lo abriremos y daremos Next en los diferentes pasos:

Una vez instalado, nos saldrá esta ventana de confirmación:

Una vez instalado el software, ya podremos abrirlo. Al abrir Blender veremos una interfaz como la siguiente:

Veremos que Blender pone a disposición múltiples entornos de trabajo, dependiendo del fin de nuestro proyecto. En nuestro caso vamos a escoger la opción "General". Al hacer esto se nos abrirá un proyecto base con un cubo por defecto:

Procederemos a eliminar este cubo. Para hacer esto ubicaremos su referencia en la parte superior derecha de la ventana, y daremos click derecha sobre ella, y luego escogeremos la opción "Delete"

Una vez eliminado, ya tendremos nuestro entorno listo para trabajar.

Los modelos 3D que utilizamos están formados por mallas, que constituyen la estructura y forma del objeto. Estas mallas se componen de vértices, que son puntos específicos distribuidos a lo largo del modelo. Cuando conectamos estos vértices, se forman líneas llamadas aristas, que a su vez se combinan para crear superficies geométricas básicas como triángulos o polígonos más complejos. Los triángulos son la unidad fundamental más utilizada, ya que permiten mayor flexibilidad en la representación de formas curvas o detalladas.

La unión de estos polígonos forma la malla completa que define la apariencia del modelo 3D. En un modelo complejo, las mallas pueden contener miles o incluso millones de polígonos, lo que influye directamente en el rendimiento al cargarlo en dispositivos, especialmente en los de RV.

Como veremos con nuestro modelo de ejemplo, algunos modelos tendrán una gran densidad de polígonos lo que volverá complejo su renderizado en un ambiente de Realidad Virtual con pocos niveles de computo.

Para solucionar este problema, implementaremos una técnica conocida como diezmación. La diezmación de un modelo 3D consiste en reducir el número de polígonos que forman su malla, preservando en la mayor medida posible su forma, estructura y detalles visuales esenciales.

Este proceso implica simplificar la geometría del modelo mediante algoritmos que eliminan vértices, aristas y polígonos redundantes o que no comprometen la forma objetivo del modelo.

Para realizar este proceso con blender vamos a seguir los siguientes pasos

  1. Descargaremos este modelo de ejemplo: https://drive.google.com/file/d/1iUHv5gfHvzSwIIECwjXGniP27JPDIgko/view?usp=sharing
  2. Una vez descargado el modelo procederemos a importarlo, para esto en Blender nos dirigiremos a la opción en la barra de Herramientas: File/Import/ FBX (.fbx)

  1. Se nos abrirá una ventana de explorador, donde buscaremos el modelo que acabamos de descargar y daremos click en Import FBX

  1. Se nos abrirá nuestro modelo de VIVI

  1. Ahora veremos los polígonos por los que está formado nuestro modelo, para poder hacer esto daremos click en el siguiente botón que está ubicado en la parte superior derecha de nuestra pantalla, esto nos abrirá una vista de la malla de nuestro modelo.

  1. Como veremos nuestro modelo tiene una gran cantidad de polígonos:

Para reducirlo agregaremos un modificador a nuestro modelo. Para esto seleccionamos nuestro modelo y luego daremos click en modifiers:

  1. Ahora daremos click en Add Modifier y buscaremos Decimate

  1. Se nos mostrará un menú como el siguiente.

En primer lugar veremos que tenemos tres tipos de diezmaciones:

Además en la parte inferior veremos que que tendremos un contador con el número de polígonos de nuestro modelo:

Para reducir la cantidad de polígonos en el modelo, podemos utilizar la opción llamada Ratio. Este control nos permite fusionar progresivamente los triángulos de la malla, simplificando su geometría. Es crucial ajustar el Ratio de manera adecuada para lograr un balance óptimo: reducir significativamente el número de polígonos sin comprometer la forma y los detalles esenciales del modelo.

En este caso bajaremos el Ratio a una escala de 0.2, pero tu puedes probar diferentes proporciones y ver cómo se comporta tu modelo.

Veremos como el número de polígonos se ha reducido significativamente a más de la mitad.

Listo, ya tendremos optimizado nuestro modelo. Ahora para poder usarlo en diferentes metaversos deberemos exportarlo.

  1. Para esto en Blender nos dirigiremos a la opción en la barra de Herramientas: File/Export/ FBX (.fbx)

  1. Nos saldrá una ventana como la siguiente, aquí escogeremos la ubicación donde guardaremos nuestro nuevo modelo y un nombre para este. Todavía no daremos clic en Exportar

  1. Veremos que en la parte derecha hay una lista de objetos que se incluirán en nuestro archivo exportado. No necesitaremos objetos como Lamp (Luz) o Camera (Cámara), entonces los desseleccionaremos. Para esto mantendremos oprimido la tecla SHIFT mientras damos click sobre estos dos.

Así debería verse:

Ahora ya podremos dar click en Exportar:

Listo, ya tendremos nuestro modelo optimizado listo para importar en nuestras diferentes herramientas para realizar metaversos.

¡Felicidades! Ahora sabes cómo reducir los polígonos y optimizar modelos 3D utilizando Blender. A lo largo de este Codelab, aprendiste qué son las mallas, cómo funcionan los polígonos dentro de los modelos 3D, y por qué es crucial optimizarlos, especialmente para su uso en entornos de Realidad Virtual. Además, exploraste la técnica de diezmación para simplificar geometrías complejas mientras preservas los detalles esenciales, garantizando un rendimiento óptimo en dispositivos con limitaciones de cómputo.