Renders varios

Creado por   el 2020-12-26 17:10:25



Estos son algunos de mis modelos que estoy creando para un video juego que estoy desarrollando.


¿Que es un render?
El término renderización es un anglicismo para representación gráfica, usado en la jerga informática para referirse al proceso de generar imagen fotorrealista, o no, a partir de un modelo 2D o 3D por medio de programas informáticos. Además, los resultados de mostrar dicho modelo pueden llamarse render.
https://es.wikipedia.org/wiki/Renderizaci%C3%B3n

Mis primeros renders.









Archviz imagenes panoramicas

Creado por   el 2020-12-19 21:57:07


De acuerdo a la wikipedia Archviz o visualización arquitectónica (Architectural rendering) es el arte de crear imágenes o animaciones tridimensionales que muestran los atributos de un diseño arquitectónico.

Es importante mencionar que los navegadores modernos poseen un amplio soporte de la tecnología WebGL que permite visualizar modelos 3D dentro de una página web, aunque como veremos luego no siempre será la mejor opción, más aún cuando hablamos de Archviz.

Supongamos que tenemos un modelo arquitectónico de una casa, y de este modelo se quiere obtener un renderizado fotorrealista, rápidamente nos enfrentaremos al problema que aun contando con hardware de gamma alta, el renderizado no se visualizara en tiempo real, además hablamos de modelos complejos compuestos por muchos objetos, y cada uno de ellos incluye materiales con sus respectivas texturas y mapas, lo que se traduce en una composición muy pesada que ralentizara la carga de la página.

Entonces es fácil imaginarnos porque muchos desarrolladores optan por embeber imágenes panorámicas en sus páginas para representar diseños arquitectónicos.

Para visualizar una imagen panorámica dentro del navegador, es necesario contar con una imagen de tipo equirrectangular, esta imagen la obtenemos al renderizar nuestro modelo arquitectónico que hemos desarrollado previamente mediante algún software de modelado 3D como Blender, el inconveniente de esta tecnica es que dicha imagen al no ser un modelo, sino una representación de este en 360 grados desde una perspectiva central, no permite visualizar el modelo desde otra perspectiva, además las luces y sombras permanecen estáticas en la imagen.

El siguiente paso consiste en implementar un visor 3D dentro de la página, esto se logra mediante el lenguaje de programación Javascript, afortunadamente contamos con Frameworks como ThreeJS y BabylonJS que nos hacen la vida más fácil, pero también existen librerías como pannellum que permiten embeber imágenes panorámicas de manera sencilla en el navegador.

https://pannellum.org/

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.





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.