Emparentado de Objetos

Al modelar un objeto complejo, tal como un reloj, pueden modelarse las distintas partes como objetos separados. Para hacer que todas las partes se muevan como un todo («el reloj»), se puede designar un objeto como padre de todas las demás partes. Estas otras partes se convierten en sus hijos, y cualquier traslación, rotación o escalado del padre afectará también a sus hijos.

Al contrario que la mayoría de formas de vida biológica, cada Objeto o hueso en Blender tiene como mucho un padre. Si un objeto tiene ya un objeto padre y se le da otro padre, Blender eliminará la relación parental anterior. Cuando se utilice el plural «padres» en este capítulo, hará referencia a la jerarquía de padres, es decir, el padre, abuelo, bisabuelo, etc. de un objeto.

Make Parent (Emparentar)

Referencia

Modo

Modo Objeto

Menú

Object ‣ Parent

Atajo

Ctrl-P

Para emparentar objetos, hay que seleccionar al menos dos objetos (primero los objetos hijo y por último el objeto padre), y presionar Ctrl-P. Aparecerá el menú emergente Set Parent To (Emparentar A) que permitirá seleccionar entre distintos tipos de emparentado posibles. Seleccionar alguna de las entradas de Set Parent To confirma la acción, y se crea la relación hijo(s) a padre. Los objetos seleccionados tendrán como nuevo «padre» al objeto activo, y en consecuencia serán «hermanos».

El menú emergente Set Parent To es sensible al contexto, lo cual significa que la cantidad de entradas que muestra puede cambiar dependiendo de qué objetos están seleccionados cuando se usa el atajo Ctrl-P.

Mover, rotar o escalar el padre transformará también el hijo (o hijos) normalmente. Pero transformar el hijo (o hijos) no afectará al padre. En otras palabras, la dirección de influencia es de padre a hijo y no de hijo a padre.

Truco

You can «move» a child object back to its parent by clearing its origin.

Type

Blender supports many different types of parenting, listed below. Besides parenting the selected objects, some types add a Modifier or Constraint to the child objects, with the parent as the target object or activates a parent property i.e. Follow Path.

Keep Transform

Se calculan las transformaciones globales actuales del objeto (o sea sus localización/rotación/escala absolutas en el mundo). Se establece el nuevo padre, y entonces la Parent Inverse se calcula de tal modo que tras establecerse el nuevo padre, el objeto permanece en su transformación global previa.

Consejo

Utilice el Outliner

Existe otro modo de ver las relaciones padre-hijo en grupos, y es mediante la vista Outliner del editor Outliner.

Parent Inverse (Inversa del Padre)

Blender puede asignar un padre sin mover el objeto hijo. Esto se consigue a través de una matriz oculta llamada Parent Inverse, que se coloca entre la transformación del padre y la del hijo.

Cuando se emparentan objetos con Ctrl-P, la matriz Parent Inverse se actualiza. Dependiendo de la elección en el menú Set Parent, también se actualiza la localización, rotación y escala del objeto. Para más detalles, véase Emparentado a Objeto.

La matriz Parent Inverse puede ser limpiada usando Clear Parent Inverse.

Nota

Al emparentar a través del panel Object Properties, la matriz Parent Inverse es siempre restaurada (limpiada). Esto puede causar un salto inesperado en la posición del objeto. Para evitarlo, se debe usar Ctrl-P para establecer un nuevo padre.

Emparentado a Objeto

Un Padre Objeto es la forma de emparentado más general que soporta Blender. Esto toma los objetos seleccionados y convierte al objeto activo en el objeto padre de todos los objetos seleccionados. Cada objeto hijo heredará las transformaciones del padre. El objeto padre puede ser de cualquier tipo.

If the object has a pre-existing parent, that is cleared first. This moves the object to its own location, rotation and scale, without its parent’s influence.

There are three operators that allow you to set an object parent. They differ in the way they compute the Parent Inverse matrix and the local Transform of the object.

Example: Object Parent (Keep Transform)

Object Parent with Keep Transform will keep any previous transformations applied to them from the previous parent object.

Asumamos que tenemos una escena que consta de tres objetos, siendo estos dos objetos empty llamados «EmptyA» y «EmptyB», y un objeto Mono. La figura Escena sin emparentado. muestra los tres objetos sin relaciones de emparentado activas en ellos.

../../../_images/scene-layout_object_editing_parent_keep-transform-a.png

Escena sin emparentado.

Seleccionamos el objeto Mono mediante clic con LMB y luego clic con Shift-LMB en «EmptyA»; luego presionamos Ctrl-P y seleccionamos Object del menú emergente Set Parent To. Esto resultará en el objeto «EmptyA» siendo el objeto padre del objeto Mono. Con únicamente «EmptyA» seleccionado, rotarlo, escalarlo o moverlo causará que el objeto Mono se vea alterado en consecuencia.

Escalamos el objeto «EmptyA», de tal manera que el Mono se vuelva más pequeño y se mueva a la izquierda un poco.

../../../_images/scene-layout_object_editing_parent_keep-transform-b.png

El mono es el objeto hijo de «EmptyA».

Si seleccionamos solo el objeto mono con clic LMB, luego clic Shift-LMB en «EmptyB», presionamos Ctrl-P y seleccionamos Object en el menú emergente Set Parent To, resultará en el objeto «EmptyB» siendo el objeto padre del objeto mono. Nótese que cuando cambiamos de padre al mono, la escala del mono cambia.

../../../_images/scene-layout_object_editing_parent_keep-transform-c.png

El mono es el objeto hijo de «EmptyB».

Esto sucede porque el objeto Mono nunca ha alterado su escala directamente, el cambio venía del hecho de ser hijo de «EmptyA» el cual tenía su escala alterada. Cambiar el padre del Mono a «EmptyB» resultó en la desaparición de aquellos cambios indirectos en la escala, ya que «EmptyB» no ha sufrido alteración alguna en su escala.

This is often the required behavior, but it is also sometimes useful that if you change your parent object that the child object keep any previous transformations it got from the old parent object; If instead when changing the parent object of the Monkey from «EmptyA» to «EmptyB» we had chosen parenting type Object and enable Keep Transform, the Monkey would keep its scale information it obtained from the old parent «EmptyA» when it is assigned to the new parent «EmptyB».

../../../_images/scene-layout_object_editing_parent_keep-transform-d.png

The Object parent with Keep Transform.

If you want to follow along with the above description here is the blend-file:

Archivo Parent_-_Object_(Keep_Transform)_(Demo_File).blend.

Emparentado a Hueso

El emparentado a Hueso permite hacer que un cierto hueso de un esqueleto sea el objeto padre de otro objeto. Esto significa que al transformar un esqueleto, el objeto hijo solamente se moverá si el hueso específico del que es hijo se mueve.

../../../_images/scene-layout_object_editing_parent_bone1.png

Tres imágenes de esqueletos con cuatro Huesos.

Véase la figura Tres imágenes de esqueletos con cuatro Huesos., con el segundo hueso siendo el padre hueso del objeto cubo hijo. El cubo solo se transforma cuando el primer o segundo hueso lo hacen. Nótese que alterar el tercer y cuarto hueso no tiene ningún efecto sobre el cubo.

Para usar el emparentado a hueso, primero hay que seleccionar todos los objeto hijo que deseen emparentarse a un hueso específico de esqueleto, luego seleccionar el objeto esqueleto con Shift-LMB y pasar a Modo Pose; luego seleccionar el hueso específico que se desea que se convierta en el hueso padre, mediante LMB. Una vez hecho esto, se debe presionar Ctrl-P y seleccionar Bone del menú emergente Set Parent To.

Ahora transformar ese hueso en el Modo Pose resultará en la transformación de los objetos hijo.

Emparentado Relativo

El emparentado relativo a hueso es una opción que se puede activar para cada hueso. Esto funciona igual que el emparentado a hueso con una diferencia.

Con emparentado a hueso, si se ha emparentado un hueso a algún objeto hijo, se selecciona ese hueso, luego se cambia a Modo Edición y se mueve ese hueso, al volver a Modo Pose, el objeto hijo que estaba emparentado al hueso saltará a la nueva posición definida por el hueso en Modo Pose.

../../../_images/scene-layout_object_editing_parent_bone2.png

Esqueleto con un solo hueso que tiene un objeto hijo cubo emparentado a él usando emparentado a hueso.

En la figura Esqueleto con un solo hueso que tiene un objeto hijo cubo emparentado a él usando emparentado a hueso., la primera imagen muestra la posición del cubo y el esqueleto antes de que el hueso sea movido en Modo Edición. La segunda imagen muestra la posición del cubo y el esqueleto después de que el hueso fuera seleccionado en Modo Edición, movido y vuelto al Modo Pose. Nótese que el objeto hijo se mueve a la nueva localización que marca el hueso.

El emparentado relativo a hueso funciona de forma diferente. Si se mueve un hueso padre en Modo Edición, al volver a Modo Pose, los objetos hijo no se moverán a la nueva ubicación del Modo Pose.

../../../_images/scene-layout_object_editing_parent_bone3.png

Hueso único con emparentado relativo a hueso sobre un cubo.

En la figura Hueso único con emparentado relativo a hueso sobre un cubo. la primera imagen muestra la posición del cubo y el esqueleto antes de que el hueso sea movido en Modo Edición. La segunda imagen muestra la posición del cubo y el esqueleto después de que el hueso haya sido seleccionado en Modo Edición, movido y vuelto a Modo Pose. Nótese que el objeto hijo no se mueve a la nueva ubicación de la pose del hueso.

Nota

Al usar Ctrl-P para establecer padres, seleccionar Bone o Bone Relative desactivará y activará respectivamente la opción Relative Parenting (Emparentado Relativo) del hueso. Puesto que el emparentado relativo es una opción establecida para cada hueso, esto influencia a todos los objetos hijo de ese hueso a la vez.

Emparentado a Vértice

En objetos de tipo curva, superficie, malla o enrejado (lattice), existe la posibilidad de usar uno de sus vértices o puntos como padres de otros objetos. Se puede emparentar un objeto a un simple vértice o también a un grupo de tres vértices; de ese modo, el hijo (o hijos) se moverá(n) cuando la malla padre sea deformada.

Emparentado a Vértice en Modo Edición

En Modo Objeto, se seleccionan los objetos hijo y luego el objeto padre. Mediante Tab se ingresa a Modo Edición, y en el objeto padre se selecciona un vértice que defina un punto, o tres vértices que definan un área (los tres vértices no necesitan conformar una cara completa; pueden ser tres vértices cualesquiera del objeto padre). Luego hay que presionar Ctrl-P y confirmar.

En este punto, si se ha seleccionado un único vértice, se dibujará una línea de relación/emparentado desde el vértice hasta el objeto (u objetos) hijo. Si se han seleccionado tres vértices, entonces se dibujará una línea de relación/emparentado desde el centro promedio de los tres puntos (del objeto padre) hasta el objeto (u objetos) hijo. Ahora, a medida que se deforma la malla padre y los vértices padre elegidos se mueven, el objeto (u objetos) hijo también se moverá(n).

Emparentado a Vértice en Modo Objeto

El emparentado a vértice se puede realizar desde Modo Objeto. Esto se hace como los demás emparentados, usando Ctrl-P en el Modo Objeto y seleccionando Vertex o Vertex (Triangle).

Se usarán los vértices más cercanos de cada objeto, que es lo que normalmente se querrá que suceda.

Ejemplo de Emparentado a Vértice.
../../../_images/scene-layout_object_editing_parent_object-mode-example-1.png

Los cubos pequeños se pueden emparentar automáticamente a una tríada de vértices cercanos en el poliedro geodésico (icosphere) usando la opción Vertex (Triangle) desde el menú emergente Set Parent To.

../../../_images/scene-layout_object_editing_parent_object-mode-example-2.png

Cambiar la forma del objeto posteriormente en Modo Edición significa que cada cubo seguirá a sus vértices padre de forma independiente.

../../../_images/scene-layout_object_editing_parent_object-mode-example-3.png

Redimensionar el poliedro geodésico padre en Modo Objeto, significa que los hijos Cubo también son redimensionados como es de esperar.

El elemento del menú contextual del padre facilita que se puedan establecer rápidamente una gran cantidad de relaciones de vértices padre, y evitar el tedioso esfuerzo de establecer cada relación de vértice padre-hijo separadamente.

Nota

Es, de hecho, una especie de hook (gancho) «inverso».

Make Parent without Inverse

Referencia

Modo

Modo Objeto

Menú

Object ‣ Parent ‣ Make Parent without Inverse

Establece el padre, y luego restablece (limpia) la matriz Parent Inverse y la localización local del objeto. Como resultado, el objeto se desplazará a la localización del padre, pero mantendrá su rotación y escala.

Clear Parent (Limpiar Padre)

Referencia

Modo

Modo Objeto

Menú

Object ‣ Parent

Atajo

Alt-P

Se puede eliminar una relación padre-hijo mediante Alt-P.

Clear Parent (Limpiar Padre)

Si está seleccionado el padre del grupo no sucede nada. Si está seleccionado un hijo o hijos, estos son desvinculados del padre, o liberados, y estos vuelven a su ubicación, rotación y escala originales.

Clear and Keep Transformation (Limpiar y mantener transformación)

Libera a los hijos del padre, y mantiene la ubicación, rotación y escala que les diera su padre.

Véase Escalado No Uniforme, de aplicación aquí.

Clear Parent Inverse (Limpiar Parent Inverse)

En lugar de eliminar la relación jerárquica padre-hijo, esto limpia la matriz Parent Inverse (Inversa del Padre) de los objetos seleccionados. Con una matriz vacía, las propiedades de localización, rotación y escala de los hijos son interpretadas en el espacio de coordenadas del padre.

Limitaciones Conocidas

Escalado No Uniforme

Un padre con un escalado y rotación no uniformes en relación a su hijo puede causar un efecto de corte (shear).

Si bien esto es soportado por el emparentado, este shear se pierde al limpiar el emparentado, pues no puede representarse mediante localización, rotación y escala.

Si Clear and Keep Transformation mueve el objeto, la causa más probable es un escalado no uniforme.