Version: 2017.1
Seleccionando un Root Motion Node
Guía de la ventana de animación

Importar Curvas Euler

Las rotaciones en aplicaciones 3D son representadas usualmente en una de dos maneras, Cuaterniones, o ángulos Euler. Unity en su mayor parte usa Cuaterniones como su representación interna de rotaciones. Sin embargo, es importante tener un conocimiento básico de las rotaciones y orientaciones en Unity.

Cuando se importan animaciones desde fuentes externas, estos archivos suelen contener animación de cuadros clave en formato Euler. El comportamiento por defecto de Unity es volver a muestrear esas animaciones como valores de Cuaterniones y generar un cuadro clave de Cuaternión por cada cuadro en la animación, en un intento para minimizar cualquier diferencia perceptible entre la animación fuente y cómo se ve en Unity.

Todavía existen algunas situaciones donde - incluso con el remuestreo - las representaciones de los Cuaterniones de la animación importada no coincidan con la animación original lo suficiente. Por esta razón, desde Unity 5.3 en adelante existe la opción de apagar el remuestreo de la animación, para utilizar los cuadro clave de la animación Euler original en tiempo real.

Usando el Soporte de Curvas Euler en Animaciones Importadas

Para permitir el soporte para usar los valores originales de las Curvas Euler en un archivo de animación, se debe apagar la opción de “Remuestreo de Curvas” en el Inspector de Importación de Animación.

La opción de Remuestreo de Curvas en el Inspector de Importación de Animación
La opción de Remuestreo de Curvas en el Inspector de Importación de Animación

Con esta opción habilitada, las rotaciones serán remuestreadas a Cuaterniones. Este es el comportamiento por defecto. Cuando esté deshabilitada, las curvas de rotación no serán remuestreadas, y la curva de rotación será importada con sus cuadros clave originales, en modo Euler o Cuaternion, de acuerdo al tipo de curva. Nota: Cualquier rotación en una articulación que tiene pre- o post-rotaciones serán automáticamente remuestreadas por el SDK de FBX, y serán importadas automáticamente como curvas de Cuaternion.

Para soportar la mayor variedad de tipos de archivo, y para mayor fidelidad, Unity soporta todos los órdenes de rotación Euler (sin repeticiones), y las curvas serán importadas en su orden de rotación Euler original.

La razón principal para deshabilitar el remuestreo de rotaciones y utilizar las curvas Euler originales que cuando la interpolación de cuaterniones entre cuadros genera resultados erróneos, y provoca problemas.

Los resultados durante la reproducción de la Animación

Cuando se utilizan rotaciones no-remuestreadas, no debería de existir mucha diferencia visual a la hora de reproducir la animación. sin embargo, por debajo las rotaciones que han sido importadas en representación Euler serán conservadas siempre, incluso en tiempo real.

Dado que el motor funciona con Cuaterniones, los valores de rotación deben ser convertidos a Cuaterniones en algún punto.Antes de Unity 5.3, the conversión ocurría siempre al momento de importar. En 5.3, cuando la opción de Remuestreo de Curvas está apagada en el Inspector de Importación de Animación, los valores de rotación se conservarán como valores Euler hasta que sean aplicado a un GameObject. Esto significa que el resultado final debería ser tan bueno - on incluso mejor - que antes.

En términos de memoria, para curvas de rotación que no han sido quemadas en la aplicación 3D, debería de existir una ganancia neta respecto a curvas de rotación.

Órdenes de Euler no estándar en el Inspector de Transformación.

Los ángulos Euler usado en el Inspector de Transformación de Unity son aplicados en el orden por defecto de Z,X,Y.

Cuando se reproducen o editan animaciones que poseen curvas Euler con un orden de rotación diferente al estándar de Unity, una indicación de la rotación actual será mostrada al lado de los campos de rotación.

El Inspector mostrando que una rotación no estándar está siendo usada para la animación de rotaciones de este objeto
El Inspector mostrando que una rotación no estándar está siendo usada para la animación de rotaciones de este objeto

Cuando se editan multiples transformaciones con órdenes de rotación diferentes, una advertencia será mostrada a los usuarios para indicar que la misma rotación Euler que será aplicada dará distintos resultados en curvas con diferentes órdenes de rotación.

El Inspector mostrando que una mezcla de órdenes de rotación están siendo usadas para la animación de rotaciones el el grupo de objetos seleccionado
El Inspector mostrando que una mezcla de órdenes de rotación están siendo usadas para la animación de rotaciones el el grupo de objetos seleccionado
Seleccionando un Root Motion Node
Guía de la ventana de animación
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961