Three.js : Análisis Proyecto Bimbo CEDIS MTY
El proyecto de Bimbo CEDIS MTY fue desarrollado para funcionar en web ocupando Three.js a partir de un proyecto previo realizado para la sucursal de Guadalajara.
Durante el desarrollo surgieron algunos problemas en el flujo Maya-Blender-Three.js, ya que los modelos y animaciones se trabajaban principalmente en Maya, se pasaban a la escena en Blender donde se juntaba todo, poder exportarlo en GLB y ser implementado por Web.
Aunque gran parte de la documentación se enfoca en la exportación de los elementos de un programa a otro, también se profundiza y explica a detalle la creación de los Motion Paths, así como ajuste necesarios para que funcionen de manera óptima utilizando como ejemplo los montacargas que se utilizaron para este proyecto y el flujo que se siguió en las animaciones de cada uno.
Parte l - Introducción
Una breve descripción del proyecto, alcances y ajustes realizados para la versión del centro de Monterrey.
Parte ll - Creación de curvas para Motion Paths
Esta sección explica el flujo y métodos que se pueden utilizar para la creación de los Motion Paths, enfoncándose en la funcionalidad para el trayecto de los montacargas.
Parte lll - Animación 01 - Emplayadoras
Primeras animaciones que se realizaron para el proyecto, basadas en rotar la geometría a partir de sus pivotes y consideraciones para ser exportadas a Blender.
Parte lV - Preparación de Montacargas para Animación
En este vídeo se realiza una explicacíon detallada de como se crearon las animaciones de los montacargas, desde el flujo para establecer las trayectorias que seguiria cada montacargas. El orden jerarquico que se utilizó para el funcionamiento del rig.
Parte V - Creación y Ajustes de Motion Paths
En esta sección se aborda el emparentar los montacargas a los Motion Paths ya creados, las opciones para ajustar el tiempo y las trayectorias, así como herramientas dentro de Maya que pueden ayudar a hacer más fácil el proceso de polishing de las animaciones finales.
Parte Vl - Exportación en formato Alembic
Exportación de los montacargas animados en formato Alembic, como importarlos en Blender y consideraciones a tener si se piensa utilizar este método que ayuda disminuir problemas de compatibilidad entre softwares.
Se recomienda primero probar exportando en FBX. En caso de que se presenten errores en la escala, translación o posicionamiento de pivotes. se puede probar exportando en formato Alembic para ver si se corrigen estos errores al importar en Blender.
Parte Vll - Animación 03 - Empleados
La animación de los empleados se llevo a cabo mediante una combinación de Exportación en Alembic y en FBX, esto tomando en cuenta el rig que manejaba el empleado y la incompatibilidad que presentaba al exportarlo en GLB.
Parte Vlll - Ajustes de degradado para Skybox
El manejar un fondo con degradado era una de las características principales que se iban a modificar en este proyecto, aquí se explica algunas opciones que se consideraron y el como fue implementado finalmente de forma satisfactoria.
Parte lX - Acomodo de Cámaras
Flujo que se siguió de la mano de web para el acomodo de las cámaras de acuerdo a cada una de las secciones especificadas en el proyecto.
Parte X - Collider - Piso Teleport
Explicación sobre el uso de geometría para delimitar los espacios en los que el usuario se puede mover para evitar que atraviese los modelos.
Parte Xl - Optimización Web
Medidas que se realizaron, tanto de Web como de Arte 3D para optimizar el proyecto, ya que presentaba problemas de rendimiento en algunos espacios.
Parte Xll - Ajuste Render Order/Sorting Priority
Ajustes que se realizaron al notar problemas de renderizado al asignar un material con transparencia en una sección específica, manejando diversos valores en el render order para evitar conflictos.
Parte Xlll - Exportación
De acuerdo a lo que se comentaba con Web y la forma en la que era implementado, los modelos se ajustaban y exportaban para facilitar la configuración para algunas de las funciones del proyecto.


El modelo principal de la nave manejaba los objetos estáticos, es decir, todos los elementos que no iban a tener algun tipo de interración, divididos de acuerdo a las secciones y áreas para facilitar ajustes que fueran necesarios. Aunque no se realizó con está intención, esta organización fue de ayuda al encontrar los problemas de transparencias en la sección de la red de incendios.
El modelo GLB_Sky contiene la esfera que funciona como Skybox, esta se incluye aparte por la forma en la que fue implementada por Web.
El modelo con la red de incendios tambien se exportó aparte, ya que a pesar de ser objetos estáticos, estos solo son visibles en una sección de la experiencia. Al manejarlo independiente, fue más fácil para Web el implementarlo y solamente activarlo cuando fuera necesario.
Para el modelo que sirvió como Collider para delimitar el movimiento, se realizó una prueba rápida con Web para asegurarnos que funcionará correctamente. Al ser una prueba exitosa se realizó la versión final del modelo. Aunque en una primera instancia se manejaba transparente, funcionaba tanto visualmente como de apoyo el poder conocer los límites dentro del escenario, por lo que se utilizó material más claro con transparencia para que fuera notable pero sin resaltar demasiado. Este modelo es importante que se exporte por separado ya que, por código, programación sustituye le movilidad del piso que viene con la nave con el la geometría de este modelo.
Por último, para los modelos de las animaciones se divieron en 3 partes, esta separación se realizó tomando en cuenta principalmente la duración de los loops de las animaciones.
El modelo con las emplayadoras tiene un loop con una duración más corta, aquí se agregaron los ventiladores que al ser una animación que siempre esta presente, tambien se ajustaron para que se pudieran exportar en conjunto. Los empleados manejan su propio loop basado en el movimiento y las acciones que están realizando. Por último, los montacargas manejan el loop con mayor duración al tener que realizar recorrido largos, aunque el loop de cada modelo comienza y termina en el mismo frame, por lo que la animación en conjunto corre fluidamente sin problemas. Debido a la sincronización necesaria para la animación de los semáforos y el proyector, estos se incluyeron con este modelo para que funcionará el recorrido de los montarcargas con las advertencias de estos modelos.