Puedes usar las herramientas de edición de esqueleto de Unreal Engine para editar y modificar esqueletos existentes, para realizar acciones como renombrar huesos, edición su ubicación o cambiar la jerarquía de los huesos.
También puedes crear nuevos recursos de esqueleto para cualquier malla estática sin necesidad de importar un archivo FBX con herramientas como la creación de huesos y el pintado del peso de la piel. Conjuntamente con herramientas como el rig de control y el Sequencer, puedes usar Unreal Engine para hacer personajes articulables y animarlos por completo dentro del editor.
Requisitos previos
Habilita el complemento Herramientas de edición de mallas esqueléticas. En la barra del menú, ve a Edición > Complementos y busca Herramientas de edición de mallas esqueléticas en la sección animación, o usa la barra de búsqueda. Habilita el complemento y reinicia el editor.
Tu Proyecto contiene un objeto de malla estática para el que puedes crear un esqueleto o un personaje de malla esquelética que quieras editar en el recurso de esqueleto.
Crear una malla esquelética
Haz clic derecho en cualquier objeto de malla estática en el explorador de contenido y selecciona la opción Convertir a malla esquelética en el menú contextual.
Después de seleccionar la opción Convertir en malla esquelética, aparecerá un menú que te permitirá seleccionar un recurso de esqueleto existente que se vinculará a la malla estática. También puedes seleccionar Crear nuevo para crear un nuevo recurso de esqueleto.
Al crear un nuevo recurso de esqueleto, se creará un único hueso raíz en el punto de origen de la malla estática.
Editar un activo de esqueleto
Después de crear un nuevo recurso de esqueleto o de seleccionar un recurso existente que quieras editar, abre el esqueleto en el editor de esqueleto. Después de abrir el editor, selecciona el botón de edición en la barra de herramientas para empezar a editar el esqueleto.
Aquí puedes consultar un resumen de las herramientas y los paneles del editor de esqueleto.
Panel de herramientas
Árbol del esqueleto
Detalles/recurso Detalles/previsualización
Crear y editar huesos
Para empezar a crear huesos, selecciona el modo esqueleto en el panel de herramientas.
Si usas la herramienta Editar esqueleto, podrás colocar huesos dentro de la malla en el visor.
Activa el modo Añadir (N), selecciona un hueso en el visor y arrastra el nuevo hueso para que tenga la longitud y la posición correctas en el personaje. El primer hueso seleccionado actuará como principal del nuevo hueso.
Después de crear nuevos huesos, selecciona Aceptar para confirmar el nuevo hueso y su ubicación.
Usa el Longitud del eje y el Grosor del eje para ver en qué dirección apuntan los nuevos huesos.
Cuando se activa, la propiedad Actualizar subordinados moverá cualquier hueso subordinado del hueso seleccionado cuando se edite. Esto es útil para ajustar cadenas enteras.
Emparentar huesos
Los huesos se pueden reorganizar en la jerarquía del esqueleto seleccionando huesos en el panel Árbol del esqueleto y arrastrándolos y hueso en un nuevo elemento principal.
Cambiar nombre de los huesos
Se puede cambiar el nombre de los huesos (F2) haciendo clic derecho sobre elhueso y seleccionando la opción renombrar hueso en el menú contextual.
También puedes renombrar huesos en bloque haciendo una selección múltiple de una cadena. Además, puedes usar un operador de etiqueta (#) al final del nombre para renombrar muchos huesos usando un número sucesivo. Por ejemplo, puedes hacer una selección múltiple de una cadena y renombrar el primer hueso como tail_##1. Después de introducir el cambio, el primer hueso se convertiría en tail_001 y sus sucesivos huesos se convertirían en tail_002 y tail_003.
Modo de edición
Puedes editar huesos existentes en el esqueleto seleccionando Editar modo y usando herramientas como Orientar huesos y Reflejar huesos.
Orientar huesos
Los huesos deben apuntar en la dirección correcta para rotar de la forma deseada. Esto se denomina Orientación del hueso. Para orientar los huesos, selecciona la cadena que quieras orientar y expande la sección Orientar.
Aquí puedes consultar una lista de las propiedades de orientación de los huesos y una descripción de su función:
| Propiedad | Descripción |
|---|---|
Principal | Establece la dirección a la que mirarán los huesos, que suele ser el eje X. |
Secundario | Establece el eje que representará la dirección hacia arriba de los huesos |
Usar plano como secundario | Cuando se activa, esta propiedad construirá un plano a través de los huesos para ayudarte a orientarte. |
Objetivo secundario | Establece la posición que se usará para el eje secundario. |
Orientar hijos | Al activarse, esta propiedad orientará a todos los subordinados por debajo del hueso seleccionado. |
También puedes orientar manualmente los huesos seleccionando el hueso y usando el gizmo de rotación (R) o especificando explícitamente un valor de transformar en cada eje (X, Y y Z).
Huesos de reflexión
Para acelerar el proceso de creación del esqueleto, puedes usar la herramienta Reflejar huesos para reflejar una cadena de huesos y copiar las extremidades u otras estructuras óseas reflejadas. Para reflejar una cadena de huesos, selecciona la cadena o los huesos que quieras reflejar y usa el botón Reflejar en el modo de edición.
Aquí puedes consultar una lista de las propiedades de Reflejar huesos y una descripción de su función:
| Propiedad | Descripción |
|---|---|
Eje de reflexión | Establecer el plano del eje para reflejar a través del mismo. |
Reflejar rotación | Con esta opción activada, se invertirá la rotación sobre el plano. Esto suele ser necesario para la animación. |
Cadena izquierda | Define los nombres que se usarán para buscar en el lado izquierdo |
Cadena derecha | Define los nombres que se usarán para buscar en la parte derecha |
Reflejar hijos | Cuando está activa, los huesos reflejados también reflejarán todos sus hijos dentro de la cadena de hueso seleccionada. |
Pesos de piel
Al añadir nuevos huesos a la malla esquelética, la herramienta Vincular piel te ayudará a añadir pesos de piel a esos huesos para que influyan en la geometría de la malla. Los pesos de la piel son valores asignados a cada vértice de la geometría de las mallas esqueléticas que representan la influencia que tiene un hueso para deformar el vértice cuando el hueso se mueve. Cada vértice puede verse afectado por varios huesos del esqueleto. Como usuario, tienes que asignar un peso a cada vértice de cada hueso para saber a qué huesos debe vincularse. Cada vértice contiene un valor de 0,0 a 1,0 para cada hueso. Un valor de 0 significa que el vértice no se ve afectado por el hueso y un valor de 1 significa que el vértice está completamente asociado al hueso. Los valores entre 0 y 1 permiten que un vértice se vea parcialmente afectado por un hueso. No es práctico establecer el peso de la piel para cada vértice individualmente, así que pintar mapas de peso proporciona una mejor solución para crear deformaciones elegantes en todo un personaje.
Los valores del peso de la piel para cada vértice están normalizados, lo que significa que el peso total en cada vértice debe ser igual a 1. Esto garantiza que, cuando se traslade el esqueleto en su conjunto, los vértices de la malla se muevan con él. Si el peso total de un vértice fuera inferior a 1, el movimiento del vértice parecería retrasado con respecto al movimiento del esqueleto. Por el contrario, si el valor total fuera superior a 1, el vértice se movería más que el esqueleto. Por este motivo, Unreal Engine aplica un valor total de 1 al normalizar los valores de peso de la piel en cada vértice de la malla.
Por ejemplo, si un vértice del codo tiene un valor de 0,7 en el hueso del antebrazo, el peso restante de 0,3 se asignará a uno o más huesos. En este caso, es probable que pertenezca a la parte superior del brazo.
Cuando edites el peso de un vértice, Unreal Engine normalizará automáticamente los otros pesos para garantizar que el valor total siempre sea 1, lo que puede provocar que Unreal Engine ajuste automáticamente los valores de los pesos de la piel.
En el caso de que el vértice solo tenga 1 influencia, solo 1 hueso con un peso mayor que cero, no podrás modificar de forma significativa el peso de ese hueso. Si el valor del peso es distinto de 1,0, se provocará el procedimiento de normalización, que establecerá el valor en 1,0, independientemente del valor que asignes. Una vez que un vértice tenga un peso distinto de cero asignado a varios huesos, el procedimiento de normalización descargará peso adicional en las otras influencias según sea necesario para alcanzar el peso establecido por el usuario.
Fíjate en el ejemplo anterior con un vértice con un peso de 0,7 en el antebrazo y de 0,3 en la parte superior. Si el usuario intenta eliminar el peso del antebrazo, por ejemplo ajustando un valor inferior a 0,6, el procedimiento de normalización cambiará automáticamente el valor de la parte superior del brazo de 0,3 a 0,4 para mantener el valor total en 1.
Es mejor añadir únicamente pesos de vértice de forma explícita para que el procedimiento de normalización elimine pesos según sea necesario para conseguir el valor deseado.
Si quieres que un hueso tenga menos influencia, es mejor añadir peso adicional a otro hueso. Esto te permite ser explícito sobre dónde pertenece la influencia, en lugar de depender de la normalización para dividirla equitativamente entre el resto de influencias.
Vinculación de pesos de piel
Para empezar a pintar los pesos de la piel, selecciona el modo Piel en el panel Herramientas y, a continuación, selecciona la herramienta Vincular piel para establecer los ajustes de la línea de base de tus recursos.
Aquí puedes consultar una lista de las propiedades de la herramienta Vincular piel y una descripción de su funcionalidad:
| Propiedad | Descripción |
|---|---|
Tipo de vinculación | Seleccione el método que se utilizará para la vinculación. Puedes seleccionar entre los siguientes métodos.
|
Rigidez | Establece la rigidez de la vinculación. Los valores más bajos permiten que los huesos más distantes contribuyan a la unión. |
Influencias máximas | Establece el número máximo de huesos que influirán en cada vértice. |
Resolución en vóxelesResolución en vóxeles | Cuando el tipo de vinculación está establecido como vóxel geodésico, puedes usar esta propiedad para establecer la resolución de la cuadrícula. Los valores altos pueden afectar al rendimiento, pero pueden ayudar a resolver detalles más sutiles. |
Pintar Pesos
Una vez que tengas un conjunto de pesos base, podrás pintar los mapas de peso de la piel para establecer el área de la malla sobre la que tiene influencia cada hueso. Para empezar a pintar mapas de peso de la piel, selecciona el botón Editar pesos dentro del modo Piel .
A continuación, podrás seleccionar la herramienta que quieres usar para pintar los mapas de peso de la piel en la malla. Hay dos modos de edición de pesos:
Pincel: usa la herramienta Pincel para pintar pesos por toda la malla. Este modo se usa principalmente para pintar pesos en áreas grandes o estructuras simples.
Vértices: usa una herramienta de selección con la que seleccionar vértices individuales para editar los pesos de la piel. Este modo se usa principalmente para edición y enmascaramiento de pesos de forma detallada.
Modo de pincel
Para empezar a pintar pesos con el modo Pincel, selecciona un hueso de la jerarquía en el panel Árbol del esqueleto. Se mostrarán los pesos asignados a ese hueso en la malla.
El modo Pincel contiene un conjunto de Operaciones de pincel para ayudarte a editar pesos:
| Operación | Descripción |
|---|---|
Añadir | Este modo es el pincel predeterminado que añadirá peso a los valores de peso actuales hasta alcanzar el valor máximo de |
Reemplazar | Este modo sustituye los pesos actuales menos el valor de intensidad. |
Multiplicar | Este modo multiplica los pesos actuales por el valor de intensidad. |
Relájate | Este modo aplica la media de los pesos de los vértice conectados, por aristas, a los pesos actuales. Este modo funciona de forma similar al suavizado. |
También puedes elegir entre dos tipos de pinceles:
| Pincel | Descripción |
|---|---|
Superficie | El Pincel de superficie afecta a los vértices de forma proporcional a la distancia a lo largo de la superficie de la malla, lo que se conoce como distancia geodésica. Esto es útil al pintar en lugares estrechos con una curvatura alta, como los labios. El Pincel para superficies no afectará al labio superior al pintar el inferior, y viceversa. |
Volumen | El pincel volumétrico afecta a los vértices proporcionalmente a la distancia en línea recta desde el centro del pincel hasta el vértice. Independientemente de la conectividad o la distancia a lo largo de la malla. |
Cada pincel se puede modificar con los siguientes ajustes:
| Ajuste | Descripción |
|---|---|
Radio | Establecer el tamaño del pincel. |
Intensidad | Establecer la fuerza del Pincel que influye en el resultado de las operaciones del Pincel. |
Caída | Establece la caída exponencial del pincel, es decir, cómo las fluencias del pincel apuntan alrededor del centro del pincel. |
Después de seleccionar el pincel y el modo, puedes empezar a pintar el mapa de peso de la piel para el hueso seleccionado haciendo clic y arrastrando la herramienta Pincel sobre la malla del visor.
Puedes usar el atajo de teclado de la tecla B para editar visualmente el tamaño y la Intensidad del pincel.
Mantén pulsado B y arrastra de izquierda a derecha para editar el radio del pincel.
Mantén pulsado B y arrastra hacia arriba y hacia abajo para editar la fuerza del pincel.
Cuando hayas terminado de editar los pesos, pulsa Aceptarpara finalizar los nuevos pesos y salir de la herramienta.
Si no estás satisfecho con el resultado, puedes deshacer fácilmente las modificaciones incluso después de aceptar las ponderaciones pulsando Ctrl+Z.
Modo vértices
Con el modo vértices , puedes seleccionar vértices específicos en los que quieras editar el peso con la herramienta de selección con marco.
Aquí puedes consultar una lista de las operaciones del modo Vértices y una descripción de su funcionalidad:
| Operación | Descripción |
|---|---|
Reflejo | Refleja los huesos y los pesos de vértices seleccionados actualmente hacia el otro lado en función de la dirección del plano de simetría. |
Sobrecarga de pesos | Inunda los pesos seleccionados usando las operaciones de Pincel. Puedes desbordar pesos seleccionando vértices y huesos y usando la operación de Añadir. Si los pesos de un hueso se inundan hasta |
Eliminar pesos | Se eliminarán los pesos por debajo del valor umbral dado. Esto es particularmente útil para mejorar el rendimiento. |
Para suavizar los perímetros duros de los mapas de pesos, selecciona los vértices, un hueso y usa la operación de relajación.
Reflejar pesos
Para acelerar el proceso de trabajo de pintado del peso de la piel, puedes crear reflejos de estructuras simétricas, como extremidades u otras estructuras reflejadas, con el botón Reflejar. Para reflejar una estructura, selecciona el hueso, la cadena de huesos o los vértices que quieras reflejar, y a continuación selecciona el botón Reflejar en el panel Herramientas de la pestaña Editar pesos.
Al usar el modo vértice, si no se han seleccionado vértices, las operaciones se ejecutarán en todos los vértices afectados por el hueso seleccionado. Esto puede ser útil para reflejar los pesos de todo el lado izquierdo de un personaje con el lado derecho
Pintar mapas de atributos
Los mapas de atributos son mapas de peso por vértice que pueden pintarse para envío como datos a otro lugar de Unreal Engine, como el grafo de deformador. Para crear un nuevo mapa de atributos sobre el que empezar a pintar, dirígete a la pestaña Editar atributos , dale un nuevo nombre al mapa y ejecuta Añadir capa de mapa de peso.
Ahora, este nuevo mapa se mostrará en la sección Atributos de vértice del Inspector de atributos.
Después de crear un nuevo mapa de atributos, puedes pintar el mapa seleccionando la pestaña Pintar mapas del panel de herramientas. Puedes elegir el tipo de mapa que pintarás bajo el Atributo seleccionado y empezar a pintar la malla haciendo clic y arrastrando el Visor.
Referencia de teclas de acceso rápido
Aquí puedes consultar una lista de los atajos de teclado disponibles para cada uno de los modos de creación de esqueleto.
Edición de peso
| Atajo de teclado | Descripción |
|---|---|
B (mantener) (arrastrar + izquierda + derecha) | Cambiar de tamaño del radio del pincel |
B (mantener pulsado) (arrastrar hacia arriba y hacia abajo) | Cambiar la intensidad del pincel |
Mayús | Pincel de relajación |
Ctrl | Invertir pincel actual |
Clic con el botón medio del ratón (en un hueso) | Seleccionar visualmente la influencia que pintar |
F | Encuadra la cámara en los vértices o huesos seleccionados |
Edición de huesos
| Atajo de teclado | Descripción |
|---|---|
N | Crear nuevo hueso |
ESC | Editar hueso |
B | Cambiar de principal |
Mayús + P | Desconectar (desvincular) |
Eliminar | Eliminar el hueso |
API de Python
Aquí puedes consultar la API de Python para las herramientas de edición del esqueleto, que puedes usar para escribir secuencias de comandos para automatizar tu proceso de trabajo.
Acceso a Huesos y pesos
mesh_path = "/Game/Characters/Mannequins/Meshes/SKM_Quinn_Simple"
asset_editor = unreal.EditorAssetLibrary()
skel_mesh = asset_editor.load_asset(mesh_path)Cargar las bibliotecas de modificadores
# load the weight modifier
weight_modifier = unreal.SkinWeightModifier()
# load the skeleton modifier
skeleton_modifier = unreal.SkeletonModifier()Creando huesos nuevos
# Create two bones, a and b
skeleton_modifier.set_skeletal_mesh(skel_mesh)
skeleton_modifier.add_bones(["a", "b"],["root", "root"], [unreal.Transform(), unreal.Transform()])Emparentar huesos
# Parent bone b to bone a
skeleton_modifier.parent_bone("b", "a")Guardar cambios
# Commit the changes
skeleton_modifier.commit_skeleton_to_skeletal_mesh()