Estoy buscando una manera de conectar dos objetos separados, de modo que cuando mueva el primer objeto, el segundo también se mueva. El término parent se utiliza, pero ¿cómo puedo parentalizar un objeto?
Respuesta
Para obtener una respuesta rápida y sencilla, seleccione el objeto que se conectará (objeto secundario) primero, luego seleccione el objeto que transferirá los datos de transformación al objeto secundario (objeto principal). El orden de selección es importante, el objeto principal debe seleccionarse en último lugar para que sea el objeto activo . Ahora presione Ctrl P > Objeto .
Hay muchas formas de padres objetos en Blender. Puede padres objetos desde cinco ventanas diferentes: Vista 3D, Editor de propiedades, Esquema, Editor de texto y Consola; además, hay una lista desalentadora de diferentes tipos de padres.
Parece que la crianza de los hijos es una experiencia compleja, así que permítanme intentar simplificarlo.
Fuera de esa gran lista, en realidad solo hay tres tipos de crianza. Esos son Objeto , Armadura y Vertex .
Las diferencias en los muchos tipos de crianza
-
Objeto Es, con mucho, el tipo de padre más común. Se utiliza en ocho de los trece tipos de crianza.
Cada vez que se seleccionan dos o más objetos, el tipo de crianza de objetos está disponible. Cualquier traducción (rotación de escala y ubicación) al objeto padre afectará al hijo. -
Deformación de la armadura Este es posiblemente el grupo más complicado de crianza de los hijos. tipos. Armature Deform solo está disponible cuando el objeto activo es un Armature. Establece un Objeto padre, con el objeto seleccionado como hijo y el objeto activo (la armadura) como padre. Agrega un modificador Armature al objeto hijo, con el armature ya establecido como el Objeto objetivo del modificador. En este punto, no hará nada más que un objeto padre regular. Las tres subopciones Grupos vacíos , pesos automáticos y pesos envolventes se utilizan en el proceso de manipulación.
-
Hueso Solo está disponible cuando el objeto activo es una Armadura. Es exactamente igual que un objeto padre, pero aquí el hijo se transforma de un solo hueso.
En la imagen de abajo coloqué el anillo alrededor el dedo, luego Shift seleccionó la armadura. Con la armadura ahora como el objeto activo, puede ir al modo Pose y seleccionar el hueso adecuado. Finalmente, parear el objeto al hueso, con Ctrl P > Bone . -
Relativo óseo Es igual que el hueso con la diferencia de que cualquier cambio hecho en modo de edición en el hueso padre no afectará al objeto hijo.
-
Curve Deform Solo está disponible cuando el objeto activo es un objeto de curva ( Curva de Bézier o de Nurbs). Establece un Objeto padre, con el objeto seleccionado como hijo y el objeto activo (la curva) como padre. Agrega un modificador Curva al objeto secundario con la curva ya establecida como el objeto objetivo del modificador.
-
Seguir ruta nuevamente solo está disponible cuando el objeto activo es un objeto de curva. Establece un Objeto padre, al igual que lo hace Curve Deform. También anima el Tiempo de evaluación para el Animación de ruta en el objeto de curva.
-
Restricción de ruta Es la última opción solo disponible para objetos de curva. No establece ningún padre, sino que agrega una restricción de Seguir ruta al objeto seleccionado con la de la restricción como el objeto activo (la curva).
-
Lattice Deform Es una opción especial que solo está disponible cuando el objeto activo es un enrejado. Establece el enrejado como padre y el objeto seleccionado como hijo, además agrega un modificador de enrejado al objeto seleccionado.
-
Vértice Esto es uno de los tres tipos principales de crianza. Se diferencia de un objeto padre en que solo se le da al hijo información de ubicación. Es la ubicación del vértice que es el padre. El objeto padre no tiene que moverse, pero un modificador puede cambiar la posición del vértice, el objeto hijo se moverá.
-
Vertex (Triangle) A primera vista, puede parecer lo mismo que un padre de objeto, pero es exactamente lo mismo que un padre de vértice, excepto que ahora hay 3 vértices. A partir de tres vértices, el niño obtiene ahora la ubicación, la escala y la rotación de la misma forma que en un objeto principal; con el beneficio de rastrear los vértices.
La vista 3D
La forma más común de crear objetos padres es en la vista 3D con dos o más objetos seleccionados, presione Crtl P > Objeto . Tenga en cuenta que el padre es el objeto activo y el hijo es el objeto seleccionado. Esto es lo mismo que Usar el menú en el encabezado de la vista 3D Objeto > Padre > Objeto . Las relaciones con los padres secundarios se representan en la vista 3D mediante una pequeña línea discontinua que conecta los orígenes de los objetos.
Aquí, el cubo y el mono ya han sido objeto de padres. El cubo es el padre (objeto activo) y el mono es el hijo.
El delineador
El delineador es genial porque no hay confusión con el objeto activo, o en qué dirección padre va a ir. Simplemente arrastre el icono del objeto secundario deseado y colóquelo encima del objeto principal deseado. Si hay más de una opción para la crianza de los hijos, blender le preguntará cuál le gustaría usar.
La ventana Propiedades
Simplemente puede elegir el objeto que será el padre. Con este método, el objeto activo es siempre el objeto secundario .
Sin embargo, los objetos parentales que utilizan este método dan como resultado resultados muy diferentes de la vista 3D o delineador.
En la imagen de abajo, tanto el cubo como el cono están exactamente en el mismo lugar y no tienen rotación ni escala. El lado izquierdo es cómo se veían ambos antes de ser padres. Emparejé el cubo al cono en el centro y en el lado derecho. El centro es parental a través de la vista 3D, y a la derecha usé el campo en la ventana de propiedades.
La diferencia proviene de los diferentes comandos de Python (más sobre eso en la sección de Python). Lo importante es que cuando se usa el campo en la ventana de propiedades, la distancia del objeto secundario desde el origen del mundo (0,0,0) se convierte en el desplazamiento del padre. Eso se muestra en la imagen de arriba por el cubo de 4 unidades a lo largo del eje X del cono.
Python
Los dos últimos lugares en los que puede padres de objetos son el Editor de texto y la Consola . Ambos dan acceso a la crianza de los hijos directamente a través de Python. Los dos comandos de crianza son
bpy.ops.object.parent_set()
y bpy.data.objects["child"].parent = bpy.data.objects["parent"]
Este script será padre como la vista 3D.
import bpy bpy.data.objects["child"].select = True bpy.data.objects["parent"].select = True bpy.context.scene.objects.active = bpy.data.objects["parent"] bpy.ops.object.parent_set()
Sin embargo, esta línea de código
bpy.data.objects["child"].parent = bpy.data.objects["parent"]
será parental de la misma manera que cuando se usa la ventana de propiedades. La razón es que la ventana de propiedades ejecuta bpy.context.object.parent = bpy.data.objects["parent"]
, pero en todos los demás sitios blender usa parent_set()
.
Sin embargo, puede evitar usar bpy.ops.object.parent_set()
y hacer que el objeto hijo permanezca en su posición después de parentin gramo. Para hacer eso, tendrá que establecer explícitamente el hijo «s matrix_parent_inverse
en la matriz del mundo inverso del padre. Consulte el código a continuación:
parent = bpy.data.objects.get("parent") child = bpy.data.objects.get("child") if child: child.parent = parent if parent: child.matrix_parent_inverse = parent.matrix_world.inverted()
Otras opciones
Hay otras dos formas de obtener el mismo tipo de relación que un objeto padre, esas dos son Hijo de restricción y el Actuador principal .
Hijo de restricción
El Child Of Constraint funciona de la misma manera que un objeto principal, con el beneficio adicional de ser una restricción: animatible, múltiples padres en el mismo objeto, que afectan solo a ciertas transformaciones y afectan solo a ciertos ejes.
Como se indica en el manual después de especificar el objeto de destino, probablemente desee presionar el botón " Establecer inverso " en el restricción (esto se remonta a lo mismo que la diferencia en el padre de la ventana de propiedades frente a la vista 3D) . Ahora tiene un objeto que se comportará como el objeto hijo en un objeto padre.
Una peculiaridad con la restricción es que si selecciona los objetos hijo y padre y los mueve, el movimiento en el hijo ser compuesto, lo que significa que se moverá dos veces más rápido que el padre. Después del movimiento, simplemente presione el botón " Establecer inverso " nuevamente, para que el niño vuelva a la ubicación correcta.
Mi característica favorita del hijo de restricción es que puedes influir solo en ciertas transformaciones. Eso se demuestra en el gif anterior.
Actuador principal
El actuador principal, al ser un bloque lógico, solo funciona en el motor del juego.Hace exactamente lo mismo que un objeto padre normal. Si bien la paternidad regular funciona en el motor del juego (hay algunas peculiaridades ). El actuador principal ofrece la ventaja de que el padre puede controlarse dinámicamente en el juego, a través de bloques lógicos o Python.
Comentarios
- Buena lista completa para re -dirigir a la gente.
- ¡Muy agradable! Para la vista 3D, ¿cuál es la diferencia entre " Object " y " Object ( Keep transform) "?
- Anson Savage, en Keep Transform, el objeto conservará exactamente la misma ubicación en la que organizó el objeto en la vista 3D.