lunes, 29 de agosto de 2022

Modelado de la locomotora - Parte XIII: animación de la locomotora

En la parte anterior de la serie hice el esqueleto de la locomotora.
En este video #13, el segundo de los dedicados a la animación, hago que el esqueleto (y la locomotora) se deslicen a lo largo de la vía del tren, al tiempo que el hueso "Eje-Central" rota y hace girar las ruedas y moverse a las bielas.

Para este capítulo utilicé Blender 3.2.2.

Estos son los principales pasos realizados en esta 13ª parte:

  • 00:38 - Definir la cantidad total de fotogramas de la animación.
  • 01:19 - Aumentar la resolución de la curva que define la trayectoria de la vía del tren.
  • 01:30 - Animar la curva:
    Activar el apartado Path Animation (en las propiedades de la curva que define la trayectoria de la vía del tren).
    Al campo Evaluation Time, con su valor en cero, insertarle un fotograma clave (key frame) en el primer fotograma (el #1) de la animación.
    Al campo Evaluation Time, con su valor en 100, insertarle un fotograma clave (key frame) en el último fotograma (el #1440) de la animación.
  • 02:09 - En Modo Pose seleccionar el hueso “Bone-Locomotora” y agregar una restricción “Follow Path” (Seguimiento de trayectoria) en el apartado de Restricciones de huesos del Editor de Propiedades. En el campo Target de esta restricción, seleccionar la curva que define la trayectoria de la vía del tren (la curva “Recorrido”).
    Activar el cuadro de verificación “Follow Curve” para que el esqueleto se ajuste a la dirección de la curva.
  • 04:10 - La animación en una curva animada empieza en el primer punto de la misma. Con el addon Curve Tools se puede redefinir cuál de los puntos de una curva es el primero.
  • 05:29 - Para transferir el movimiento de traslación del hueso “Bone-Locomotora”, convertido en rotación, al hueso “Eje-Central” hay que utilizar un “Driver”:
    En Modo Objeto seleccionar la curva “Recorrido”, pinchar con el botón secundario sobre el campo Evaluation Time del apartado Path Animation de las Propiedades de datos del objeto en el Editor de Propiedades.
    Del menú desplegable elegir la opción “Copy as New Driver”.
    En Modo Pose seleccionar el hueso “Eje-Central” y sobre el campo X del apartado Rotation de la solapa Item del panel de la N, pinchar con el botón secundario y elegir la opción “Paste Driver”.
  • 07:11 - Para que las ruedas giren en el sentido correcto, en Modo Pose, seleccionar el hueso “Eje-Central” y pinchar con el botón secundario sobre el campo X del apartado Rotation de la solapa Item del panel de la N (que está de color magenta indicando que tiene un driver asignado) y del menú contextual elegir la opción “Edit Driver”.
    En la ventana que se abre (Driven Property) cambiar el valor del campo Type a Scripted Expression y, en el campo Expression, agregar un signo de menos (-) delante de la variable eval_time.

  • 08:09 - Para ajustar la velocidad de la rotación de las ruedas, como hace Christoph Werner en este video, multiplicar la variable -eval_time por un valor apropiado. ¿Cuál es ese valor apropiado? Luego de ensayo y error, en este caso, es 5,26 (o sea, que el valor del campo Expression será -eval_time*5.26).
  • 12:30 - Para lograr un efecto de bucle (loop) en la animación, la posición resultante de la rotación de las ruedas en el último fotograma debería coincidir con la del primero.
    Y, para eso, hay que hacer más ensayo y error (del mismo tipo que en el punto anterior) buscando un valor que cumpla con este objetivo. Entonces, el valor definitivo del campo Expression será -eval_time*5.2778.

La música de fondo que acompaña el video es el Dúo de cuerda Nº 1 (K. 423) de Wolfang Amadeus Mozart, interpretada por Chad Hoopes y Matthew Lipman y descargada del Isabella Stewart Gardner Museum (https://www.gardnermuseum.org/audio/player/5432).

En el próximo episodio de esta serie volveremos a trabajar sobre el ténder (el vagón del carbón) y lo animaremos sobre las vías pero utilizando empties.
Y, pude ser que también veamos de ajustar el funcionamiento del enganche entre la locomotora y el ténder.


sábado, 27 de agosto de 2022

Full Circle #183 (julio 2022)

Ya sé que ya salió la edición #184, pero como todavía estaba en deuda con la anterior, aquí va mi reseña de la edición #183 de Full Circle magazine.

Es el número correspondiente a julio y se trata de un PDF de 71 páginas y 4,5 MB que está disponible para su descarga desde el 29 de julio.

De la sección Noticias (páginas 4 a 27) me resultaron interesantes:

Además, de las habituales notificaciones de lanzamientos, destaco:

Del resto de la edición lo qué más me llamó la atención fue:

  • La habitual columna de Mark Crutch sobre Inkscape (páginas 33 a 36) que continúa con la reseña de las novedades que se agregaron en las series 1.0 y 1.1 a los Efectos de trayecto o Live Path Effects (LPEs).
    En esta oportunidad es el turno de 
     Boolean Operation, que era experimental en la versión 1.0 pero que “ascendió” a estable en la versión 1.1. Pero, por más estable que sea, resulta en una técnica intrincada y Mark recomienda los caminos “tradicionales” para las operaciones booleanas. También reseña el LPE Porción (Slice), que permite realizar cortes rectos a un objeto como si fueran realizados con una trincheta.
  • En las páginas 37 a 39, la décimo segunda  entrega de la serie sobre LaTeX. Esta vez Robert Boardman luego de hacer un poco de historia sobre TeX y LaTeX, sobre las limitaciones de hardware originales y sobre el uso de “packages”, dedica el artículo a la instalación de esos “packages”, usando como ejemplo el archivo apa7.zip
  • La columna “My Story”, en las páginas 51 y 52, en la que Pat H. cuenta su historia con GNU/Linux.
  • La nota de tapa, en la páginas 58 a 61, que es una reseña escrita por Adam Hunt sobre SliTaz 5.0.
  • La reseña de Adam Hunt sobre Lubuntu 22.04 LTS (páginas 54 a 57).
Finalmente, aquí va mi traducción libre de la editorial, escrita, como siempre, por Ronnie Tucker:

miércoles, 10 de agosto de 2022

Modelado de la locomotora - Parte XII: el esqueleto de la locomotora

¡Finalmente! Este video #12 de la serie es el primero de los dedicados a la animación del tren.

Esta primera parte consiste en la creación del esqueleto (“Armature”) de la locomotora.
Aunque es cierto que es alto el ritmo de novedades y avances en muchas áreas de Blender, en el tema de la creación de esqueletos se mantiene igual desde hace varias versiones.
De hecho, la mayoría de los pasos que realicé en este video están basados en las explicaciones (en inglés) que hace DanPro en los siguientes videos de 2016, en los que utiliza la versión 2.78 de Blender:

Para este capítulo de la serie utilicé Blender 3.2.1.

Estos son los pasos principales realizados en esta 12ª parte:

  • 00:56 - Agregar (con Shift+A) un esqueleto en la ubicación del Cursor3D, transformarlo (rotarlo y escalarlo), aplicarle las transformaciones (con Ctrl+A) y asignarle un nombre al esqueleto y otro al hueso que contiene.
  • 01:52 - Emparentar (con Ctrl+P > Bone) todos los elementos que forman la locomotora al hueso del esqueleto.
  • 02:37 - Agregarle al esqueleto un hueso por cada uno de los tres ejes de las ruedas de la locomotora, justo en el centro de cada eje. Achicarles su tamaño y asignarle un nombre a cada uno.
  • 04:20 - En Modo Edición emparentar los tres nuevos huesos al primer hueso del esqueleto (con Ctrl+P > Keep Offset).
  • 04:34 - En Modo Objeto seleccionar uno de los ejes y el esqueleto, pasar a Modo Pose y seleccionar el hueso correspondiente al eje seleccionado y emparentarlos (con Ctrl+P > Bone). Repetir el proceso para los otros dos ejes.
  • 05:27 - Bloquearle a los huesos de cada eje la ubicación, la escala y la rotación (del tipo XYZ Euler) en los ejes Y y Z.
  • 06:35 - En Modo Pose, asignar una restricción “Copy Rotation” (con Shift+Ctrl+C > Copy Rotation) tanto al hueso del eje delantero como al del eje trasero para que copien la rotación del hueso del eje central.
  • 08:02 - Agregarle al esqueleto el que va a ser el hueso de la biela lateral, ponerle nombre y, en la cola de este hueso, agregar otro que se llame “Biela-Lateral-Target”. En Modo Edición, emparentar (con Ctrl+P > Keep Offset) el hueso de la biela lateral al del eje central y el hueso “Biela-Lateral-Target” al del eje trasero.
  • 11:14 - En Modo Pose, asignar una restricción de cinemática inversa (con Shift+Ctrl+C > Inverse Kinematics) al hueso de la biela lateral, para que se mantenga unido al hueso “Biela-Lateral-Target”.
  • 11:53 - Emparentar (con Ctrl+P > Bone) el objeto “biela-lateral-der” a su hueso.
  • 12:48 - Agregarle al esqueleto, en el fondo del émbolo, el que va a ser el hueso de la biela principal, mover su cola al extremo visible de la biela principal y allí agregar otro hueso que se llamará “Biela-Principal-Target”.
    Dividir en dos al hueso de la biela principal, mover la unión de ambos huesos al comienzo de la biela principal y darle nombres a los huesos. 
  • 16:48 - En Modo Edición, emparentar (con Ctrl+P > Keep Offset):
    • el hueso más pequeño resultante de la subdivisión al primer hueso del esqueleto
    • el hueso “Biela-Principal-Target” al hueso del eje central.
  • 17:24 - En Modo Pose, asignar una restricción de cinemática inversa (con Shift+Ctrl+C > Inverse Kinematics) al hueso de la biela principal, para que se mantenga unido al hueso “Biela-Principal-Target”.
  • 18:01 - En el apartado Inverse Kinematics de la pestaña de huesos del Editor de Propiedades:
    • bloquearle los ejes Y y Z al hueso de la biela principal
    • bloquearle los tres ejes al hueso pequeño resultante de la subdivisión y convertirlo en un hueso elástico (ingresando 1 en el campo IK Stretch)
  • 18:54 - Emparentar (con Ctrl+P > Bone) el objeto “biela-principal-der” a su hueso.
  • 20:13 - Seleccionar los 5 huesos relacionados con las bielas y con Armature > Names > Auto-Name Left/Right asignarle un sufijo que indique su ubicación. Pero, como el sufijo que asigna en este caso es .L (y los huesos seleccionados se encuentran del lado derecho de la locomotora) hay que cambiarlo a .R con Armature > Names > Flip Names. Después, generar una copia de esos 5 huesos en el lado opuesto de la locomotora (con Armature > Simmetrize).
  • 22:11 - Ajustar la posición de los huesos recién copiados con relación a las bielas del lado izquierdo.
  • 24:56 - Emparentar (con Ctrl+P > Bone) el objeto “biela-lateral-izq” y el “biela-principal-izq” con sus respectivos huesos.

La música de fondo que acompaña el video es Wind of the Rainforest de Kevin MacLeod, descargada de Freepd (https://freepd.com/misc.php).

En el próximo episodio de esta serie será el turno de hacer que el esqueleto creado en esta oportunidad se desplace a lo largo de las vías del tren y, con él, también lo haga la locomotora. Además, crearé un driver para utilizar el desplazamiento a lo largo de las vías en la rotación del hueso del eje central.


viernes, 5 de agosto de 2022

Pepper & Carrot #37: “Las lágrimas del Fénix” (agosto de 2022)

Desde el miércoles está disponible un nuevo episodio de Pepper & Carrot.

En el episodio anterior Pepper se expuso a la Rea (energía) de un dragón para amplificar un hechizo y solucionar el entuerto que se había presentado en ese entonces.

Pero, esa exposición, que en principio la dejó sin poderes, podría ser letal. Así que ahora debe conseguir lágrimas de fénix para recuperarse...

Con su obra, David Revoy, artista digital francés que trabaja 100% con software libre (para esta oportunidad sobre Fedora 36 KDE Spin con Krita 5.0.5 e Inkscape 1.2), pretende “un webcomic gratuito, libre y de codigo abierto, apoyado directamente por sus patrocinadores ¡para cambiar la industria del cómic!”.

Pepper & Carrot es completamente gratuito, de código abierto y financiado gracias al patrocinio de sus lectores.
Para este episodio, gracias a 1058 mecenas.

Si quiere formar parte de la lista de patrocinadores de la obra de David Revoy, puede hacerlo de varias maneras (patreon, paypal, tipeee, liberapay).