Jerarquías de objetos¶
Al modelar un objeto complejo, como un reloj, será posible elegir modelar las diferentes partes como objetos separados. Para hacer que todas las partes se muevan como una sola («el reloj»), será posible designar un objeto como el superior de todas las demás partes. Estas otras partes se convertirán en sus subordinados y cualquier traslación, rotación o escala del superior también afectará a sus subordinados.
Cada objeto o hueso en Blender podrá tener como máximo un superior. Si un objeto ya tuviera un superior y se le asignara otro, Blender eliminará la relación jerárquica con su superior anterior. Cuando se use el plural «superiores» en este capítulo, se estará haciendo siempre referencia a una jerarquía de superiores (es decir, de primer grado, de segundo grado, de tercer grado, etc.) de un objeto.
Asignar superior¶
Referencia
- Modo:
Modo Objeto
- Menú:
- Atajo:
Ctrl-P
Para establecer una relación jerárquica entre objetos, se deberán seleccionar al menos dos objetos (primero los que serán subordinados y finalmente que se convertirá en el superior de la jerarquía) y presionar Ctrl-P. Aparecerá el menú Asignar superior, esto permitirá seleccionar uno de entre varios tipos posibles de asignación de superior. Al seleccionar una de las opciones se confirmará la acción y se creará la relación jerárquica entre los subordinados y el superior. Los objetos seleccionados quedarán subordinados al objeto activo, que se transformará en su “superior” y como resultado de la operación, estarán entre ellos “al mismo nivel” dentro de la jerarquía.
El menú emergente Asignar superior es sensible al contexto, lo que significa que la cantidad de opciones que mostrará podrá cambiar según los objetos que se tengan seleccionados al momento de usar el atajo Ctrl-P.
Mover, rotar o escalar el superior generalmente también transformará a los subordinados. Sin embargo, transformar a los subordinados no afectará al superior. En otras palabras, la dirección de la influencia es del superior hacia los subordinados, pero no en sentido contrario.
Truco
Será posible desplazar un objeto subordinado de regreso a la posición de su elemento superior restableciendo su origen.
- Tipo
Blender soporta muchos tipos diferentes de asignación de superiores, que se listan a continuación. Además de subordinar los objetos seleccionados, algunos tipos agregarán un modificador o una restricción a los objetos subordinados, con el superior como su objetivo, o activarán una propiedad que implique una subordinación, como en el caso de Seguir trayectoria.
Objeto
Hueso
Vértice
Vértice (triángulo)
- Mantener transformaciones
Se calculará la transformación global actual del objeto (su posición, rotación y escala absolutas en el universo). Se asignará el nuevo superior, y luego se calculará la matriz de compensación jerárquica, de modo que después de asignar el nuevo superior, el objeto aún se encuentre en sus coordenadas de transformación absolutas previas.
Consejo
Uso del Listado
Existe otra manera de visualizar la relación jerárquica en una forma más amplia y es mediante el uso del Listado.
Compensación jerárquica¶
Blender es capaz de asignar un superior sin mover al objeto subordinado. Esto se logra a través de una matriz oculta llamada matriz de compensación jerárquica, que se encuentra ubicada entre la transformación del superior y del subordinado.
Cuando se cree una jerarquía de objetos mediante Ctrl-P, se actualizará la matriz de compensación jerárquica. Dependiendo de la elección realizada en el menú Asignar superior se actualizarán también la posición, rotación y escala locales del objeto. Para obtener más detalles, ver Objeto como superior.
Será posible restablecer la matriz de compensación jerárquica usando el operador Eliminar compensación jerárquica.
Nota
Al asignar el superior usando el panel de Propiedades del objeto, la matriz de compensación jerárquica siempre será restablecida. Esto podrá provocar un salto inesperado en la posición del objeto. Para evitar esto, usar Ctrl-P para asignar el nuevo superior.
Objeto como superior¶
Asignar un Objeto como superior es la forma más general de jerarquía soportada por Blender. Tomará la selección de objetos y hará que el objeto activo se transforme en superior de todos los demás objetos seleccionados. Cada objeto subordinado heredará las transformaciones del superior. El objeto superior podrá ser de cualquier tipo.
Si el objeto a ser subordinado ya tuviera un superior preexistente, esa relación será previamente anulada. Esto moverá el objeto hasta su propia posición, rotación y escala, sin la influencia de su antiguo superior.
Existen tres operadores que permiten asignar un superior a un objeto. Difieren en la forma en que calculan la matriz de compensación jerárquica y la transformación local del objeto.
Ejemplo: Objeto como superior (mantener transformaciones)¶
Asignar superior > Objeto con la opción Mantener transformaciones activa, preservará cualquier transformación previa aplicada a los objetos, desde el antiguo objeto superior.
Supongamos que tenemos una escena que consta de tres objetos, dos objetos Vacíos llamados «EmptyA» y «EmptyB», y un objeto de tipo Mona. La figura Escena sin jerarquías. muestra los tres objetos sin relaciones jerárquicas activas en ellos.
Si se selecciona el objeto Mona haciendo clic con LMB y luego se hace clic con Mayús-LMB en el objeto «EmptyA» y se presiona Ctrl-P y finalmente se selecciona la opción Objeto del menú emergente Asignar superior. Esto dará como resultado que el objeto «EmptyA» se transformará en el objeto superior del objeto Mona. Si ahora se seleccionara únicamente el objeto «EmptyA» y se moviera/rotara/escalara, el objeto Mona se modificará en consecuencia.
Escalar el objeto «EmptyA», de modo que Mona se vuelva más pequeño y se mueva un poco hacia la izquierda.
Si se selecciona sólo el objeto Mona haciendo clic con LMB y luego se hace clic con Shift-LMB en el objeto «EmptyB», se presiona Ctrl-P y se selecciona Objeto desde el menú emergente Asignar superior. Esto dará como resultado que el objeto «EmptyB» sea ahora el nuevo objeto superior del Mona. Notar cómo cuando se cambia el superior de Mona, la escala de Mona cambia.
Esto sucede porque el objeto Mona nunca tuvo su escala alterada directamente, el cambio se produjo porque anteriormente estuvo subordinado a «EmptyA», el cual tuvo su escala alterada. El cambio de superior de Mona a «EmptyB» resultó en la eliminación de esos cambios indirectos en la escala, dado que «EmptyB» no ha tuvo su escala alterada.
Este es a menudo el comportamiento requerido, pero a veces también será útil que si se cambia de objeto superior, el objeto subordinado mantenga las transformaciones anteriores, que obtuvo del objeto superior antiguo. Si, en cambio, al cambiar el objeto superior de Mona de «EmptyA» a «EmptyB» hubiéramos elegido el tipo de subordinación Objeto y habilitado la opción Mantener transformaciones, Mona hubiera mantenido la información de escala obtenida de su superior anterior «EmptyA», en el momento de asignársele un nuevo superior («EmptyB»).
Si se desea seguir el ejercicio anterior, aquí está el archivo .blend:
Hueso como superior¶
Asignar un Hueso como superior permitirá hacer que un determinado hueso de un esqueleto sea el superior de otro objeto. Esto significa que al transformar un esqueleto, el objeto subordinado se transformará, sólo si el hueso específico del cual es subordinado también se transforma.
En la imagen de arriba, con el segundo hueso siendo el superior del objeto subordinado (el cubo). El cubo sólo se transformará cuando el primer o segundo hueso lo hagan. Observar que la alteración del tercer y cuarto huesos no tiene efecto en el cubo.
Para asignar un hueso como superior, primero se deberán seleccionar todos los objetos que se deseen subordinar al mismo, luego seleccionar con Mayús-LMB el esqueleto e ingresar al modo Pose, para luego seleccionar el hueso específico que se desee asignar como superior, con LMB. Una vez hecho esto, presionar Ctrl-P y seleccionar Hueso en el menú emergente Asignar superior.
Ahora, al transformar ese hueso en el modo Pose los objetos subordinados también se transformarán.
Asignación de superior relativo¶
La asignación de un hueso como superior relativo es una opción que es posible alternar para cada hueso. Esto funcionará de la misma manera que la subordinación normal a un hueso, con una diferencia.
Al asignar un hueso como superior de algunos objetos, de forma normal, si posteriormente se seleccionara ese hueso y se ingresara al modo Edición para moverlo; cuando se regresara al modo Pose, los objetos subordinados al mismo saltarían de regreso hasta la ubicación del hueso en el modo Pose.
En la imagen de arriba, la primera figura presenta la posición del cubo y el esqueleto antes de que el hueso sea movido en el modo Edición. La segunda figura muestra la posición del cubo y el esqueleto después de que el hueso haya sido seleccionado y movido en el modo Edición, y se hubiera ingresado nuevamente al modo Pose. Obsérvese cómo el objeto subordinado se mueve a la nueva ubicación del hueso en la pose.
La asignación relativa de un hueso como superior funciona de manera diferente; si un hueso superior fuera movido en el modo Edición, cuando se regrese al modo Pose, los objetos subordinados no se moverán a la nueva ubicación del hueso en la pose.
En la imagen de arriba, la primera figura muestra la posición del cubo y el esqueleto antes de que el hueso sea movido en modo Edición. La segunda figura muestra la posición del cubo y el esqueleto después de seleccionar y mover el hueso en modo Edición, ingresando nuevamente al modo Pose. Obsérvese que el objeto subordinado no se mueve a la nueva ubicación del hueso en la pose.
Nota
Al usar Ctrl-P para asignar superiores, cuando se elija «Hueso» o «Hueso (relativo)» se estará desactivando o activando respectivamente la opción «Jerarquía relativa» del hueso. Dado que «Jerarquía relativa» es una opción que se establece en las Propiedades del hueso, esto influirá al mismo tiempo a todos los objetos subordinados a ese hueso.
Vértices como superior¶
Para objetos de tipo curva, superficie, malla y jaula, existirá la posibilidad de utilizar uno de sus vértices o puntos de control como superior de otros objetos. Además, será posible subordinar un objeto a un vértice individual o a un grupo de tres vértices; de esa manera, el o los subordinados se moverán cuando la malla del superior se vea deformada.
Vértices como superior, desde el modo Edición¶
En modo Objeto, seleccionar el o los objetos a ser subordinados y luego el objeto que se asignará como superior. Ingresar al modo Edición usando Tab, seleccionar uno o tres vértices del objeto superior que definan un área (los tres vértices no tienen por qué formar una cara completa, se puede tratar de cualquier vértice del objeto superior), luego presionar Ctrl-P y confirmar.
En este punto, si se hubiera seleccionado un único vértice, se dibujará una línea de relación/jerarquía desde ese vértice hasta el o los objetos subordinados. En caso de haber seleccionado tres vértices, se dibujará una línea de relación/jerarquía desde el centro promediado de los tres vértices (del objeto superior) hasta el o los objetos subordinados. Ahora, a medida que la malla del superior se vea deformada y el o los vértices superiores se muevan, los objetos subordinados también lo harán.
Vértices como superior, desde modo Objeto¶
Es posible realizar una subordinación a vértices desde el modo Objeto, esto se hará de igual manera que la subordinación normal de objetos, presionando Ctrl-P en el modo Objeto y seleccionando Vértice o Vértice (triángulo).
En este caso, se usarán los vértices (del superior) más cercanos a cada objeto, que es lo que se presume como más útil.
El menú contextual Asignar superior permite que los usuarios puedan establecer rápidamente una gran cantidad de relaciones jerárquicas de asignación de vértices como superior, evitando el tedioso esfuerzo de establecer cada relación por separado.
Nota
Se trata, de hecho, de una especie de Gancho a la inversa.
Asignar superior (sin compensar)¶
Referencia
- Modo:
Modo Objeto
- Menú:
Esto asignará un superior y luego restablecerá la matriz de compensación jerárquica, así como la posición local del objeto. Como resultado, el objeto se desplazará a la posición del superior, manteniendo su rotación y escala.
- Mantener transformaciones
Se calculará la transformación global actual del objeto (su posición, rotación y escala absolutas en el universo). Se asignará el nuevo superior y, luego, se establecerán los valores locales de transformación, de modo que después de asignar el nuevo superior el objeto aún se encuentre en sus coordenadas de transformación absolutas previas.
Quitar superior¶
Referencia
- Modo:
Modo Objeto
- Menú:
- Atajo:
Alt-P
Será posible quitar una relación jerárquica mediante el atajo Alt-P.
- Quitar superior
Si el superior del grupo se encontrara seleccionado, no sucederá nada. Si se seleccionara uno o varios subordinados, éstos serán desvinculados de su superior y regresarán a su posición, rotación y escala originales.
- Quitar y mantener transformación
Desvinculará a los subordinados de su superior, manteniendo la posición, rotación y escala visual que les otorgaba ese superior.
Ver Escala no uniforme, la cual podría ser relevante aquí.
- Eliminar compensación jerárquica
En lugar de eliminar la relación jerárquica, esta opción restablecerá la matriz de Compensación jerárquica de los objetos seleccionados. Con una matriz vacía, las propiedades de posición, rotación y escala de los subordinados se interpretarán en el espacio de coordenadas de su superior.
Limitaciones conocidas¶
Escala no uniforme¶
Un superior que tenga una escala y una rotación no uniformes, podrá llegar a causar un efecto de sesgo en sus subordinados.
Si bien esto es soportado por las jerarquías, el sesgo se perderá en caso de que se quite el superior, ya que no será posible representar este estado tan sólo mediante los valores de posición, rotación y escala de un objeto.
En caso de que al aplicar Quitar y mantener transformación el objeto se moviera, la causa más probable es que exista una escala no uniforme en algún nivel superior de la jerarquía.