Version: 2021.1
Inverse Kinematics (Cinemática Inversa)
Tutorial: Scripting Root Motion para animaciones humanoide "in -place (en su lugar)"

Root Motion - Cómo funciona

Body Transform

El Body Transform es el centro de masa del personaje. Si es utilizado en el motor de retargeting de Mecanim y proporciona el modelo de desplazamiento más estable. La Body Orientation es un promedio de la orientación más baja y superior relativo a la Pose-T del Avatar.

El Body Transform y la Orientation están almacenados en el Animation Clip (utilizando el las Muscle definitions configuradas en el Avatar). Son las únicas curvas del espacio del mundo almacenadas en el Animation Clip. Todo lo demás: las curvas de los músculos y metas IK (Manos y Pies) están almacenadas relativas al body transform.

El Root Transform

El Root Transform es una proyección en el plano Y del Body Transform y es computado en el tiempo de ejecución. En cada cuadro, un cambio en el Root Transform es computado. Este cambio en el transform es luego aplicado al Game Object para hacerlo mover.

![El círculo debajo del personaje representa el root transform(../uploads/Main/MecanimRootMotionPreview.jpg)

Inspector del Clip de Animación

Los ajustes del editor del Animation Clip -Root Transform Rotation, Root Transform Position (Y) y Root Transform Position (XZ) - le permite a usted controlar la proyección del Root Transform del Body Transform. Dependiendo en estos ajustes algunas partes del Body Transform serán transferidas al Root Transform. Por ejemplo, usted puede decidir si quiere que el movimiento en la posición Y sea parte del Root Motion (trayectoria) o parte de la pose (body transform), el cual es conocido como Baked into Pose.

Root Transform Rotation

Bake into Pose: La orientación se quedará en el body transform (o Pose). La Root Orientation estará constante y la Orientación delta será identificada. Esto significa que el Game Object no será girado para nada por ese AnimationClip.

Solamente los AnimationClips que tengan un comienzo similar y un final de Root Orientation deben utilizar esta opción. Usted tendrá una Luz Verde en el UI diciéndole que un AnimationClip es un buen candidato. Un candidato ideal sería una caminada recta o una corrida.

Based Upon: Esto le permite configurar la orientación del clip. Utilizando la Body Orientation,, el clip estará orientado a seguir el vector recto del cuerpo. Estos ajustes por defecto funcionan bien para la mayoría de información Motion Capture (Mocap) como lo son las caminadas, corridas, y saltos, pero fallará con movimientos como strafing dónde el movimiento es perpendicular al vector recto del cuerpo. En esos caso, usted puede manualmente ajustar la orientación utilizando los ajustes de Offset. Finalmente usted tiene un Original que va a automáticamente agregar el autor de desplazamiento encontrado en el clip importado. Es usualmente utilizado con datos de cuadros claves para respetar la orientación que fue configurada por el artista.

Offset: utilizado para entrar el desplazamiento cuando esa opción es escogida para Based Upon.

Root Transform Position (Y)

Esto utiliza los mismos conceptos descritos en Root Transform Rotation.

Bake Into Pose: El componente Y del movimiento se mantendrá en el Body Transform (Pose). El componente Y del Root Transform será constante y el Delta Root Poisition Y será 0. Esto significa que este clip no cambiará la Height (Altura) del Game Object. Nuevamente tiene una luz verde diciéndole que un clip es adecuado para Baking el movimiento Y a una pose.

La mayoría de los AnimationClips habilitará estos ajustes. Solo clips que cambiarán la altura del GameObject debería tener esto apagado, como saltar para arriba o abajo.

Tenga en cuenta: El Animator.gravityWeight es manejado por la posición Y Bake Into Pose. Cuando está activado, gravityWeight = 1,cuándo está disabled(desactivado) = 0. El gravityWeight es mezclado para clips cuando hacen una transición entre estados.

Based Upon: De una manera similar al Root Transform Rotation usted puede escoger de un Original o Mass Center (Body). También hay una opción Feet que es muy conveniente para los AnimationClips que cambian de altura (Bake Into Pose disabled). Cuando utilice Feet la Root Transform Position Y va a coincidr con el menor foot Y para todos los cuadros. Por lo tanto el blending point (punto de mezcla) siempre se mantendrá alrededor del feet que previene problemas floating cuando se esté blending (mezclando) o en una transición.

Offset: De una manera similar a Root Transform Rotation, usted puede manualmente ajustar la altura del AnimationClip utilizando el ajuste Offset.

Root Transform Position (XZ)

Nuevamente, este utiliza los mismos conceptos descritos en Root Transform Rotation y Root Motion Position (Y).

Bake Into Pose usualmente será utilizado para “Idles (Sin actividad)” dónde usted quiere obligar la delta Position (XZ) en ser 0. Esto parará la acumulación de derivadas de pequeños deltas para muchas evaluaciones. Puede también ser utilizado un clip de un Cuadro Clave con Based Upon Original para obligar una posición de autoría que fue configurada por el artista.

Loop Pose

El Loop Pose (como Pose Blending en los Blend Trees o Transiciones) ocurre en el Root Transform referencial. Una vez el Root Transform haya sido computado, la Pose se vuelve relativa a él. La diferencia de la Pose relativa entre el cuadro de Inicio y Fin es computado y distribuido sobre el rango del clip de 0–100%.

Generic Root Motion (Un Root Motion Génerico) y Loop Pose

Esto funciona esencialmente de la misma manera que Humanoid Root Motion, pero en vez de utilizar el Body Transform para computar/proyectar un Root Transform, el conjunto de transform en Root Node es utilizado. La Pose (todos los huesos que se transforman debajo del hueso de Root Motion) es hecho relativo al Root Transform.

Inverse Kinematics (Cinemática Inversa)
Tutorial: Scripting Root Motion para animaciones humanoide "in -place (en su lugar)"
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961