Ciclo de animación en Blender

Creado por   el 2020-11-07 19:07:00



El proceso de animación requiere de tiempo para obtener resultados satisfactorios, no obstante durante este proceso es deseable contar con toda la ayuda que podamos recibir, aunque debo reconocer que apenas estoy comenzando en el ámbito de la animación, no puedo dejar de recomendar un libro que me ha ayudado bastante para comprender las bases de la animación, hablamos del libro Técnicas de animación de Richard Williams, este libro es un referente obligado para quienes quieran aprender técnicas de animación utilizadas por expertos, en este libro encontraremos una fuente valiosa repleta de ejemplos para ciclos de caminatas, correr, saltos, etc.








Rigging mecánico de brazo robótico mediante código usando razones trigonométricas

Creado por   el 2020-11-01 16:28:27


El Rigging Mecánico es utilizado principalmente para animar piezas móviles como engranajes, bielas, brazos robóticos o cualquier otra pieza que afecte o tenga relación directa con otra pieza, esta técnica básicamente consiste en utilizar expresiones matemáticas como razones trigonométricas para llevar a cabo el proceso de animación, en Blender podemos realizar este proceso mediante código y/o drivers.

El rigging mecánico es ampliamente utilizado en el desarrollo de videojuegos, ya que permite interacciones en tiempo real y resultados precisos.

Para animar este ejemplo de un brazo robótico he utilizado razones trigonométricas para determinar los giros de las articulaciones del brazo robótico, sin embargo existe más de una forma de obtener el mismo resultado gracias al uso de técnicas como la cinemática inversa, tal como nos señala la Wikipedia.

En Robótica, la Cinemática inversa (IK) es la técnica que permite determinar el movimiento de una cadena de articulaciones para lograr que un actuador final se ubique en una posición concreta. El cálculo de la cinemática inversa es un problema complejo que consiste en la resolución de una serie de ecuaciones cuya solución normalmente no es única.
https://es.wikipedia.org/wiki/Cinem%C3%A1tica_inversa

Ángulo de Giro de la base en el eje Z obtenido de la resolución del triángulo rectángulo
Para obtener el giro de la base simplemente aplicamos la fórmula ya que conocemos los valores del CA, CO y lógicamente la Hipotenusa de acuerdo al teorema de Pitágoras.




Ángulos de rotación de los brazos obtenidos por la resolución del triángulo oblicuángulo
Cualquier triángulo puede resolverse (resolución de triángulos) si se conocen tres de sus elementos, donde, como mínimo, uno de ellos debe de ser un lado.





En este punto obviamente conocemos los valores de dos de los lados del triángulo oblicuángulo que son el largo de los brazos respectivamente, además obtenemos el valor de la hipotenusa resolviendo el triángulo rectángulo que se genera de manera natural dada la distancia y elevación del objetivo.



Fragmento de códigos donde se expresan las fórmulas

EasyRetarget Add-on para Blender que imita animaciones entres 2 armaduras diferentes.

Creado por   el 2020-09-26 22:37:33



He desarrollado este add-on para Blender, el cual básicamente se encarga de copiar las animaciones entre dos armaduras diferentes imitando sus transformaciones, el problema es que esto no es tan fácil como parece y no se puede hacer de manera sencilla, a menos que ambas armaduras sean idénticas, es decir, misma cantidad de huesos, mismos nombres y misma orientación de los ejes, desafortunadamente esta situación ideal pocas veces sucede, esto se debe a que cada software 3D propone sus propios esqueletos, sumado a que cada animador usa técnicas diferentes, como consecuencia de lo anterior, no hay una manera fácil de hacer esta tarea con las herramientas nativas de Blender.

La técnica original fue tomada del siguiente articulo:
https://connect.unity.com/p/retargeting-animations-with-blender-2-80

Ahora bien, haciendo buen uso de la programación he automatizado todo el proceso y empaquetado todo en un add-on.





Add-on que permite convertir las animaciones entre el modo Quaternion y rotación Euler en Blender 2.8x

Creado por   el 2020-08-25 11:34:57



Recientemente intente extrapolar unas animaciones de mixamo para usarlas en mi personaje, pero me tope con el inconveniente que mixamo utiliza su propio sistema de armaduras, y ya tenía mi personaje riggeado, entonces pensé :thinking: en agregar restricciones para copiar las transformaciones de una armadura a otra, en este punto me di cuenta que mixamo utiliza cuaterniones para manejar las rotaciones lo cual es correcto y es el estándar, el problema es que mi armadura ya tenía el sistema de rotaciones en modo Eluer XYZ y además ya había hecho unas cuantas animaciones

Ante este panorama solo me quedaban dos opciones, modificar mis animaciones manualmente es decir fotograma a fotograma o buscar la forma de automatizar esta tarea, inmediatamente descarte la primera opción, imagina que tienes una animación con miles de fotogramas, hacer esto es impráctico y costoso en términos de tiempo. :tiempo:

Sin más remedio me dispuse a desarrollar un script :comp: , para modificar el método de rotación de las animaciones utilizando la API de Blender, directamente desde el intérprete de Python, una vez terminado el script decidí crear un add-on para compartirlo con otros usuarios, así que aquí les dejo el link del repositorio que subi a Github.

https://github.com/RichardCollao/RotationConvert

Si no sabes que es un cuaternion te dejo un video que me sirvio para "entender" su uso y aplicación.

Correcta topología para la cabeza de un personaje 3D

Creado por   el 2020-08-03 16:07:54



Por estos días me encuentro desarrollando un personaje a modo de aprendizaje, la animación presentada corresponde al modelo que estoy desarrollando, para el cual he tomado como referencia la imagen frontal y lateral de la cabeza correspondiente a un modelo del artista 3D Nazar Noschenko (2018).

Luego de varios intentos fallidos entendí que la única manera de lograrlo era documentarme :cafe: adecuadamente sobre las técnicas y buenas practicas utilizadas en el diseño de modelos 3D, lo anterior me ha llevado a entender de mejor manera que es la topología y como se utiliza.

Es importante tener claridad que la topología no se refiere a la malla geométrica en sí, sino más bien a la manera en que esta está conformada, por ejemplo la malla de un cubo y la malla de una esfera pueden tener la misma topología y tener formas totalmente diferentes.



Diseñar modelos orgánicos tiene un mayor grado de dificultad en comparación con modelos inorgánicos o formas regulares, en el diseño 3D la topología es un aspecto muy importante, desarrollar una buena topología ayudará a tener un modelo con mallas más limpias y ordenadas, sobre las cuales será más sencillo trabajar, en especial cuando se requiere un modelo para una animación, debido a que la malla sufrirá deformaciones que se deben ajustar a determinados criterios, por ejemplo el cuerpo humano se "deforma" desde sus articulaciones, y los músculos hacen que ciertas partes del cuerpo se contraigan.

Para lograr una topología correcta se deben tener algunas consideraciones, por ejemplo trabajar en la medida de lo posible utilizando polígonos de 4 lados o quad, aunque finalmente los motores gráficos internamente conviertan todo a polígonos de 3 lados o tris, es decir evitar los triángulos y formas de más de 4 aristas, porque esto hace que se rompan los bucles, perjudica las deformaciones y produce efectos no deseados.

También es importante incluir en ciertas zonas de la malla algunos loops, como por ejemplo alrededor de la boca, los ojos, las orejas, etc. Tal como se muestra en el modelo de la imagen, en el que he destacado las zonas importantes en colores para mayor comprensión.

Resultado preliminar
Servidor Web más utilizado, con mayor número de instalaciones a nivel mundial, es un proyecto de código abierto y uso gratuito, multiplataforma.
Conjunto de datos de un mismo contexto y almacenados sistemáticamente para su posterior uso.
Lenguajes que hacen referencia al codigo de marcado para la elaboración de páginas web.
Potente lenguaje de programación orientado a objetos, independiente del sistema operativo.
Lenguaje interpretado orientado a objetos desarrollado por Netscape que se utiliza en millones de páginas web y aplicaciones de servidor en todo el mundo
Sistema operativo de software libre inspirado en el sistema Unix, escrito por Linus Torvalds con la ayuda de miles de programadores en Internet
El modelado 3D es el proceso de desarrollo de una representación matemática de cualquier objeto tridimensional a través de un software especializado. Al producto se le llama modelo 3D
Lenguaje de programación principalmente orientado al desarrollo web, su código es ejecutado del lado del servidor.
Todo lo que no sea trabajo, solo temas recreativos para divertirse.
www.000webhost.com