Cómo codificar y configurar la animación predeterminada para la máquina de estado de animación unity5.0
capas públicas AnimatorControllerLayer[];
clip público de AnimationClip;
estado público AnimatorState;
estado público AnimatorState;
AnimatorStateTransition st;
ChildAnimatorState[] cas;
//Utilice este parámetro para la inicialización
void Start () {
layers = ac.layers; // Obtenga la capa de animación que desea manipular porque la animación se puede dividir en varias capas con diferentes configuraciones para diferentes capas
Debug.Log(layers[0] ].name );
asm = Layers[0].stateMachine; //encontrar la máquina de estado de animación para la capa correspondiente
cas = asm.states; Lista de estado de animación (animación) anterior (esta lista no cargará la animación directamente, debe obtener la animación a través del estado)
foreach (elemento var en cas)
{ p >
Debug.Log(item.state.name " "); // Unity parece no poder encontrar AnimatorState por nombre, puedes crear un nuevo AnimatorState y ponerlo directamente en esta lista
}
}
//La actualización se llama una vez por cuadro
void Update () {
if (Input .GetKeyDown ( Código clave ))
{
// state= asm.AddState("ss");
// state.motion = clip //. Usar animación Estado agregar animación
// ac.AddMotion(clip); // Agregar clip de animación a través de AnimatorController
st= cas[0].state.AddTransition(cas[3] .state );//Agregar líneas de transición de animación
//TODO establecer algunos parámetros de transición de animación
}
}
}