Qué es “Mecanim”?
Mecanim fue el nombre del software de animación que nosotros integramos a Unity. Temprano en la series 4.x de Unity, sus habilidades fueron atadas a la animación de personajes humanoide y tenía muchas características que eran únicamente para ese propósito, y fue separada de nuestro viejo (ahora legacy) sistema de animación integrado.
Mecanim integraba el retargeting de animaciones humanoides, control de músculos, y el state machine system (sistema de estados de maquina). El nombre “Mecanim” viene de la palabra en Frances “Mec” significando “Guy (tipo)”. Debido a que Mecanim solo opera con personajes humanoides, nuestro sistema de animación pasado todavía era requerido para animar personajes no-humanoides y otra animaciones basadas en el keyframe de gameobjects dentro de Unity.
Desde entonces, sin embargo, nosotros hemos desarrollado y expandido Mecanim e lo hemos integrado con el resto de nuestro sistema de animación para que pueda ser utilizada para todos los aspectos de animación dentro de nuestro proyecto - por lo que hay una definición menos clara dónde “Mecanim” finaliza y el resto del sistema de animación comienza. Por esta razón, usted todavía verá referencias en nuestra documentación y a través de nuestra comunidad de “Mecanim” que ahora simplemente significa nuestro sistema de animación principal.
Cuál es la diferencia entre el componente de Animation y el componente Animator?
El componente Animation es un viejo componente utilizado para la animación en nuestro sistema de animación pasado. Se mantiene en Unity para una compatibilidad anterior pero usted no lo debería utilizar para nuevos proyectos. Utilice el componente hasta la fecha Animator más bien.
Cuál es la diferencia entre la ventana del Animation y la ventana del Animator?
La Ventana de Animation le permite a usted crear y editar clips de animación dentro de Unity. Usted lo puede utilizar para animar casi todas las propiedades que usted puede editar en el inspector, desde una posición del Game Object, un color material, un brillo de la iluminación, el volumen de sonido, e incluso valores arbitrarios en su scripts.
La Ventana del Animator le permite a usted organizar sus assets clips de animación existente a un tipo de diagrama de flujo llamado state machine (maquina de estado).
Ambas de estas ventanas son parte de nuestro sistema de animación actual, y no el sistema pasado.
Entonces el componente Animator es legacy (pasado), pero la ventana Animator es actual?
Eso es correcto.
Estamos usando el sistema de animaciones legacy para las animaciones de los personajes. ¿Deberíamos usar Mecanim en su lugar?
Por lo general, usted debería. Nuestro sistema de animación legacy solo está incluido para una compatibilidad previa con viejos proyectos, y tiene un conjunto de características muy limitado comparado con nuestro sistema de animación actual. La única razón por la cual usted lo debería utilizar es para proyectos viejos construidos en nuestro viejo sistema.
Por qué mi mesh importado tiene un componente animator adjunto?
Cuando Unity detecta que un archivo importado tiene una animación en su linea de tiempo, va a agregar un componente animation en importación. Usted puede modificar esto en los ajustes de importación del asset al configurar el “Animation Type” a None en los ajustes de importación debajo de la pestaña Rig. Si es necesario usted puede hacer con varios archivos a la vez.
¿Importa el orden de las capas?
Sí. Las capas se evalúan de arriba hacia abajo en orden. Las capas establecidas en override siempre invalidarán las capas anteriores (basadas en su mask (máscara), si estas tienen una mask(máscara)).
Debería el valor del peso de la capa basa siempre estar configurada a uno o debería el peso ser cero cuando otra synced layer (capa sincronizada)esté corriendo?
El peso de la base layer es siempre 1 pero las configuradas a override van a completamente sobre-escribir la base layer.
Hay alguna manera de obtener un valor de una variable de un controlador sin utilizar el nombre string?
Usted puede utilizar enteros para identificar los estados y parámetros. Utilice la función Animator.StringToHashpara obtener los valores enteros identificadores. Por ejemplo:
runState = Animator.StringToHash("Base Layer.Run");
animator.SetBool(runState, false);
What happens if a state on a Sync layer has a different length compared to the corresponding state in the base layer?
If layers have different lengths then they will become unsynchronized. Enable the Timing option to force the timing of the states on the current layer, on the source layer.
Hay una manera de crear AvatarIKGoals además de LeftFoot (Pie Izquierdo), RightFoot(Pie derecho), LeftHand(Mano Izquierda), RightHand(Mano Derecha)?
Sí, la knee (rodilla) y elbow IK (codo) es soportado.
Hay una manera de definir qué huesos debería ser parte de un body mask?
Yes, for Generic clips you can define which transform animation is imported or not. For Humanoid clips, all human transforms are always imported and extra transforms can de defined.
Cómo las animaciones que tiene Curvas se mezclan con aquellos que no?
Cuando usted tiene una animación con una curva y otra animación sin una curva, Unity va a utilizar el valor pre-determinado del parámetro conectado a la curva para que mezcle. Usted puede configurar valores predeterminados para sus parámetros, entonces cuando la mezcla toma lugar entre un estado que tiene un parámetro Curve y otro que no tiene, este se va a mezclar entre el valor de la curva y el valor predeterminado del parámetro. Para configurar un valor predeterminado para un Parámetro, simplemente configure su valor en la ventana del Animator Tool mientras no esté en LiveLink.