rigging de bípedos.
Veremos cómo crear y configurar un armature para animar un personaje bípedo. La primer parte muestra cómo crear el armature, y la segunda cómo configurarlo agregando constraints para hacerlo completamente funcional, rigging parte 1: creando el armature.
Rigging parte 2: añadiendo restricciones.
Rigging parte 3: ajustando límites de rotación.
Parte 1: creando el armature.
introducción.
Hemos visto las propiedades básicas de un armature, ahora utilizaremos los conceptos aprendidos para crear un personaje bípedo tradicional que son la mayoría de los personajes, durante este capítulo utilizaremos el modelo Maléfico, disponible para descarga.
Comenzando.
Cargaremos el modelo de nuestro personaje en la vista frontal. Si bien podríamos crear el armature completamente sin la ayuda de ningún personaje modelado, el tenerlo allí como referencia será útil a los fines didácticos, colocaremos el personaje en el centro de coordenadas, y allí ubicaremos el cursor. Vamos a crear un armature de tres huesos verticales como hemos visto en el capítulo anterior. Los 3 huesos harán las veces de cadera, abdomen y pecho por lo que les daremos dimensiones apropiadas. Crearemos los tres huesos haciendo click en la pantalla con Control pulsado. Una vez terminados, los ajustaremos para que queden perfectamente verticales. Les daremos nombres apropiados a cada uno.
Ahora duplicaremos esta cadena y la usaremos para crear un brazo, también en la vista frontal. Solo haremos el brazo derecho. Nombraremos los 3 huesos de la siguiente manera: b1. R, b2. R y b3. R, ya hemos visto el significado del. R final, crearemos ahora la pierna derecha del personaje, moviendo el cursor a la zona derecha de la cadera, y usando el Toolbox -> add bone. Crearemos una cadena de dos huesos solamente, con la articulación en la rodilla del personaje. Nombraremos los huesos como p1. R y p2. L, saldremos momentáneamente del modo edición y ubicaremos el cursor en el centro del armature.
Sin cambiar el cursor de lugar, entraremos otra vez a modo edición y seleccionaremos las cadenas del brazo y pierna (pulsar l sobre un hueso de cada cadena para seleccionarla entera). Las duplicaremos (ambas a la vez) usando.
Shift+d y presionando la barra espaciadora sin mover los huesos nuevos. Ahora activaremos la referencia cursor, y pulsaremos para entrar al menú mirror axis. Elegiremos la opción x global y pulsaremos la barra espaciadora para confirmar el comando. Quizás notemos algún tipo de rotación axial de los huesos al hacer el mirror, si esto ocurre, lo corregiremos con Control + N (recalc roll Bones angle) las veces que haga falta.
Tenemos ahora las dos cadenas en la posición opuesta, pero con nombres inútiles para nuestros fines. Seleccionaremos únicamente estas dos cadenas, y pulsaremos w y la opción flip left-right names. Ya está, tenemos ahora un armature básico listo.
Modelado simétrico.
Activaremos la opción x-axis mirror edit en los botones de edición. Con esta opción activada y habiendo nombrado los huesos siguiendo la convención. R/. L, al editar una mitad del armature se actualizaran los cambios en la otra mitad, hasta ahora habíamos trabajado exclusivamente en la vista frontal, no tenemos idea del aspecto de nuestro armature en la vista lateral, pero les aseguro que no está nada bien, teniendo activado el x-axis mirror edit solo deberemos preocuparnos de editar una mitad del armature. Haremos entonces los ajustes necesarios en la vista lateral. Sera de suma utilidad emplear los controles de traslación (widgets) accesibles a través del icono de la palma en la cabecera de la ventana 3d, la idea es que los huesos queden totalmente cubierto por la malla del personaje, como lo estarían los huesos cubiertos por carne en una persona real.
Seleccionaremos la cola del hueso p2. R y extrudiremos una vez hacia atrás en la vista lateral (fácilmente pulsando la tecla y luego de la e de extrudir), veremos que al mismo tiempo un hueso homólogo se crea en la otra mitad del armature, volveremos a seleccionar la cola del hueso p2. R y otra vez extrudiremos, pero esta vez hacia adelante hasta la punta del pie (otra vez usaremos la tecla y para restringir a esa coordenada). Seleccionaremos este hueso entero, y los subdividiremos.
Una vez (w -> subdivide).
Los huesos que van hacia atrás los llamaremos IKpie. R e IKpie. L respectivamente, haremos algo similar en los brazos. Seleccionaremos la cola del hueso b3. R y lo extrudiremos hacia abajo, luego volveremos a extruirlo hacia adelante para crear un hueso que abarque totalmente el largo de la mano.
Los huesos que hicimos hacia abajo los llamaremos IKmano. R e IKmano. L respectivamente, por ahora no crearemos más huesos en la mano, eso lo veremos en un capítulo más adelante.
Jerarquías y emparentados.
Seleccionaremos el hueso p1. R y sin deseleccionarlo, seleccionaremos también el hueso cadera (en ese orden). Emparentaremos ambos huesos pulsando Control +, elegiremos la opción kep offset. Una línea punteada se dibujara uniendo ambos huesos. Emparentaremos a la cadera el hueso p1. L también (de la misma manera), al emparentar estamos creando una jerarquía de huesos, significa que si movemos el hueso cadera (en modo pose) también se moverán los huesos p1. L y.
P1. R, que a su vez moverán al resto de los huesos de las piernas del personaje, podemos distinguir entonces dos tipos de emparentado, aquel que une el hueso.
P1. R y al hueso p2. R por ejemplo, que sería un emparentado conectado ya que no media entre ambos huesos ninguna distancia o separación, y aquel que une al hueso cadera al hueso p1. R, o un emparentado manteniendo la distancia, que se indica con una línea punteada, emparentaremos ahora los brazos (huesos b1. R y b1. L) al hueso pecho, básicamente hemos terminado, tenemos un armature humanoide, como último paso de la creación de este armature nos aseguraremos que la orientación de los ejes de cada hueso sea coherente, de modo que cuando hablemos del eje Z del hueso x, estemos seguros que ese eje apunta en la misma dirección.
Que en los otros huesos, para ello nos pondremos en la vista frontal, seleccionaremos todos los huesos en modo edición (pulsar tecla a) y luego pulsaremos Control + N, lo que nos preguntara recalc bone roll angle? Haremos clic con el ratón para afirmar, si somos observadores, veremos que algunos huesos se realinean a la vista de manera que, ahora todo se ve más regular, ahora es el momento de empezar a añadir constraints para que el armature se porte como es debido.
Parte 2: constraints.
Introducción.
En la parte 1 hemos creado una serie de huesos, los hemos nombrado y aplicado jerarquías. En esta parte terminaremos el rigging básico aplicando restricciones o constraints que automatizaran el comportamiento del armature completo dándole funcionalidades muy útiles para animar, las constraints son entidades que restringen el movimiento de los huesos y nos permiten controlar un armature y animarlo de manera más realista y natural. Las aplicaremos siempre en modo pose, y muchas veces será importante el orden de selección de los huesos por lo que se recomienda seguir las instrucciones al pie de la letra, cinematicainversaoik.
Cuando creamos los huesos de manos y pies, usamos nombres que, a priori pueden parecer arbitrarios, en particular llamamos a algunos huesos IKmano o IKpie. El prefijo IK que usamos esta relacionado con Inverse Kinematics o cinemática inversa que es un mecanismo muy útil que pasaremos a explicar, cuando tenemos una cadena de huesos cómo se vio en jerarquías y emparentados, al mover el hueso raíz de la cadena, toda la cadena se mueve. Esto se llama cinemática directa o forward Kinematics (FK) en inglés. Imaginemos el caso de un brazo. Esto significaría que estando la raíz de la cadena en el hombro, si yo quisiera mover la mano (por ejemplo, llevarla al pecho del personaje), debería primero rotar el hombro, luego rotar el bíceps, y por último rotar la mano hasta la posición deseada, con el uso de IK en cambio, lo único que deberíamos hacer es tomar la mano y llevarla hasta el pecho del personaje. El hombro y el bíceps rotarían automáticamente haciendo pivote en la raíz de la cadena, está claro que este tipo de sistemas son muchísimo más cómodos y prácticos para animar extremidades, que el sistema FK, vamos a ver cómo implementamos esta solución a nuestro armature en Blender, primero vamos a hacer unos ajustes a nuestro armature. El sistema de IK funciona con lo que se llama un target o blanco. Es decir, un hueso que al moverse indica la posición que deberá resolverse mediante rotaciones de los componentes de la cadena. Estos targets serán los huesos que hemos llamado IKmano o IKpie, para que puedan funcionar como targets, no deben estar emparentados a ningún hueso de la cadena que se quiere resolver por IK.
Por ello entraremos en modo edición, seleccionaremos el hueso IKmano. R y en los botones de edición, dejaremos en blanco el campo child of (hijo de), haremos lo mismo para todos los huesos IK. Listo, ya podemos proseguir, restringiendo.
Seleccionaremos el armature y entraremos en modo pose. Vamos a crear una restricción llamada IK Solver en las extremidades de nuestro personaje que es la manera de aplicar en Blender la teoría explicada antes, seleccionaremos el hueso IKmano. R, y luego el hueso b3. R. Ahora pulsaremos Control + i y elegiremos la opción todo selected bone. La lógica de selección sería, primero el target, luego el hueso que alojara la restricción, si bien hemos decidido usar huesos como blanco de las restricciones IK, también es posible utilizar empties. Usar uno u otro dependerá de la situación, a veces es más sencillo utilizar empties, otras veces convendrá utilizar huesos.
El hueso b3. R se pondrá de color amarillo indicando que postura ahora una restricción de tipo IK Solver. Al mismo tiempo, aparecerá una línea punteada amarilla que va desde el pivote de la cadena, hasta el final de la misma. Los parámetros de esta restricción los podremos ver en los botones de objeto, en el panel constraints, siempre que tengamos el hueso amarillo seleccionado en modo pose. Vemos que tiene activado el botón use tip. Esto simplifica la configuración, ya veremos otros.
Casos donde no se usara así, si ahora (siempre en modo pose) tomamos el hueso IKmano. R y lo movemos (no rotarlo) veremos cómo la cadena del brazo se acomoda para seguir a este hueso, no solo eso, otros huesos rotaran también, por ejemplo, los huesos de la espina del personaje.
Esto se debe a que por defecto, la cadena IK se propaga siguiendo todas las relaciones jerárquicas que existan, para limitar el efecto, deberemos indicar un valor distinto de cero en la casilla chainlen (longitud de cadena) de la restricción IK, en este caso usaremos un valor igual a 3, puesto que la cadena se compone de 3 huesos, seguiremos poniendo restricciones IK para los huesos b3. L (apuntando a IKmano. L), el hueso p2. R (usando como target a IKpie. R), y p2. L (usando como target a IKpie. L), podemos probar la configuración moviendo estos huesos en modo pose. Los brazos y piernas deberían moverse en consonancia con los blancos.
También podemos agregarle una restricción IK, a la columna. Probemos seleccionando el hueso cabeza y luego el hueso pecho y pulsando Control + i. Ahora al mover el hueso cabeza, la columna se moverá haciendo pivote en el hueso cadera.
Algunas bisagras.
Observemos por un momento el pie del personaje. De la manera que hemos configurado los IK de pies y manos, si tomamos el hueso cadera en modo pose y lo movemos hacia abajo, veremos que ocurre algo curioso, en efecto, los pies del personaje rotan haciendo pivote en el talón. Esto por supuesto es algo extraño y complicara la animación pues deberemos rotar los pies para mantenerlos horizontales (es decir, apoyados en el suelo), hay una manera muy sencilla de evitar este comportamiento y es mediante el uso de.
Bisagras (hinges en inglés), cualquier hueso puede ser configurado como una bisagra con lo cual, la rotación del hueso precedente, no lo afectara de ninguna manera. En este caso lo que deseamos es que la rotación del hueso p2 no afecte a la orientación de los huesos p3, o lo que es lo mismo, queremos que p3 sea un hueso bisagra, para ello seleccionaremos el hueso p3 en modo edición y pulsaremos el botón.
Hinge en los botones de edición. Eso es todo.
Si ahora volvemos a mover el hueso cadera en modo pose, veremos cómo el pie se mantiene horizontal, independientemente de lo que ocurra con el resto de la pierna.
Parte 3: límites de rotación.
Introducción.
En la parte 2 hemos empezado a configurar nuestro armature añadiéndole algunas restricciones IK Solver. Si bien todo parece funcionar maravillosamente, hay aún algunos detalles que deberemos ajustar, cuando movemos el blanco de una cadena IK, por ejemplo, para animar el brazo de un personaje, puede ocurrir que la cadena adopte rotaciones o ángulos anti naturales. Rotaciones que normalmente serían imposibles en un personaje real, las rotaciones posibles de un hueso se conocen como sus grados de libertad o degre of Freedom (abreviado Dof, no confundir con Depth of Field, que también se abrevia Dof y que se refiere al bien conocido efecto de profundidad de campo). Así.
Si un hueso tiene Dof=1 significa que solo puede rotar en un eje, si fuera Dof=2, podría rotar alrededor de 2 de sus ejes, etc, para evitar estos resultados desagradables, disponemos de una manera efectiva de limitar o acotar las rotaciones de los huesos que forman una cadena IK, es decir limitar sus grados de libertad.
Límite spara las piernas.
Para cada hueso que forma una cadena IK podemos optar entre bloquear completamente la rotación sobre cualquier eje local, o bien restringir esta rotación entre un par de valores desde -180 a +180 grados. Estos ángulos deben entenderse como tomados desde el cero en el eje local del hueso en reposo, y teniendo valores positivos en sentido antihorario, de la misma manera que se hace normalmente.
El rango -180 a +180 aparece como un círculo rojo, ni bien activamos los botones limit x, limit y o limit z, aparecerán gráficos en modo pose fragmentos de arco indicando el rango permitido de rotación, si limitamos más de un eje, aparecerá también gráficada el área elipsoidal cubierta por estos rangos, si seleccionamos el hueso p1. R de la pierna derecha de nuestro armature en modo pose y vamos a los botones de edición, veremos en el panel armature Bones, los botones de límites de rotación.
Para el muslo del personaje, podemos pensar que lo natural sería limitar las rotaciones en x (hacia adelante y atrás) y en z (hacia izquierda y derecha). La rotación alrededor del eje y (longitudinal) podemos anularla completamente pulsando el botón lok y. Le daremos a limit x un valor límite de modo que al levantar el muslo, no supere el rango entre 0 y -100 grados, de esta manera la rodilla del personaje se articulara siempre de manera natural. Para limit z usaremos un rango que límite las rotaciones laterales del hueso. En este caso opté por un rango -60 a +60 grados.
Los límites de rotación aparecen como áreas de esfera, de la misma manera, limitaremos la rotación del hueso p2. R para que la rodilla nunca se doble hacia adelante (rotación alrededor del eje x) superando el ángulo de la rodilla (-20 grados), y que nunca se doble hacia atrás tanto como para que el.
Personaje se pegue con los talones en las nalgas (70 grados). Los valores se resumen en la figura que sigue. Para las rotaciones laterales del hueso p2. R he optado por un valor conservativo de -30 a +30 que es más o menos lo que puedo mover yo mismo sin quebrarme la pierna y le he añadido un valor de stifness (rigidez) a esa articulación para hacerla menos flexible.
Valores optativos para las piernas, he añadido algo de Stif que actúa como rigidez de la articulación.
Límites para la columna.
Procederemos a aplicar límites a los huesos de la columna, de forma que la cadera no pueda rotar libremente sobre el eje longitudinal y (se vería realmente extraño si uno pudiera retorcerse 360 grados) y acotaremos las posibilidades de flexión de la cintura.
Vista frontal y lateral de la columna y sus límites de rotación.
Observar que una vez activados los botones limit, siempre se visualizaran en modo pose, los rangos de rotación permitidos de cada hueso.
Límites para los brazos.
Para el caso de los huesos del brazo, adoptaremos límites que correspondan con los giros normales de hombro, bíceps y antebrazo. Observar que si bien el bíceps no puede retorcerse, es decir, girar sobre su eje longitudinal, el antebrazo sí puede.
Hacerlo en cierto grado, al igual que la muñeca. El hombro en cambio está más limitado.
Conclusión.
Ahora que hemos aplicado algunos límites de rotación, nuestras cadenas IK se comportan de manera más realista. Por supuesto, en cada personaje serán convenientes distintos valores de límites, podemos querer que nuestros personajes se porten más o menos rígidamente según la animación, así que, estos valores que se muestran deben considerarse simplemente como ejemplos y no como leyes universales de la animación.
Tutorial creado por maléfico3d.