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ú
- 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.
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.
Tipos de Padre¶
Blender soporta muchos tipos distintos de emparentado, listados abajo:
Object (Objeto)
Bone (Hueso)
Vertex (Vértice)
Vertex (Triangle) (Triángulo de Vértices)
Configuraciones
A parte de emparentar los objetos seleccionados, se puede añadir un Modificador o Restricción a los objetos hijo, con el padre como objetivo, o activar la propiedad de padre, como por ejemplo en Follow Path.
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.
Hay tres operadores que permiten establecer un objeto padre. Estos difieren en la forma de calcular la matriz Parent Inverse y la transformación local del objeto.
- Set Parent to Object (Emparentar a Objeto)
Si el objeto tiene un padre preexistente, se despeja primero. Esto mueve el objeto a su propia localización/rotación/escala, sin la influencia de su padre. Independientemente de si tenía un padre antes, Blender procede a hacer a continuación lo mismo que Keep Transform abajo.
- Set Parent to Object (Keep Transform) (Emparentar a Objeto Manteniendo las Transformaciones)
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.
- Set Parent to Object (Without Inverse) (Emparentar a Objeto Sin Inversa)
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.
Ejemplo: Emparentado Object (Keep Transform)¶
El emparentado Object (Keep Transform) funciona de una manera muy similar al emparentado a Object. La mayor diferencia está en si los objetos hijo mantendrán las transformaciones previas aplicadas en ellos a partir del anterior objeto padre.
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.
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.
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.
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.
Con frecuencia este es el comportamiento deseado, pero a veces es útil que al cambiar de objeto padre el objeto hijo conserve las transformaciones previas que obtuvo del antiguo objeto padre. Si en lugar de ello hubiésemos elegido Object (Keep Transform) al cambiar de objeto padre de «EmptyA» a «EmptyB», el mono habría mantenido la información de las transformaciones que había obtenido del antiguo padre «EmptyA» en el momento de ser asignado al nuevo padre «EmptyB».
Para seguir la explicación de arriba paso a paso, aquí está el archivo blend utilizado para describir el método de emparentado Object (Keep Transform):
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.
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.
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.
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.
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».
Opciones¶
Mover un Hijo¶
Se puede mover un objeto hijo a la posición de su objeto padre limpiando su origen. La relación entre el padre y el hijo se ve afectada. Seleccione el objeto hijo y presione Alt-O. Al confirmar, el objeto hijo saltará a la ubicación del padre. Use la vista del Outliner para verificar que el objeto hijo aún está emparentado.
Clear Parent (Limpiar Padre)¶
Referencia
- Modo
Modo Objeto
- Menú
- 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.
Consejo
Utilice el Outliner
Existe otro modo de ver las relaciones padre-hijo en grupos, y es mediante la vista Outliner del editor Outliner.
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.