Cómo crear un controlador de animación en el script del editor de Unity
2. No entraré en detalles sobre el método automatizado de Prefab. Si todavía estás haciendo el modelo Prefab manualmente, te sugiero que cambies al método generado automáticamente. Intente mantener el arte fuera de U3D y solo permita que el artista produzca modelos, texturas y acciones originales. Planeamos proporcionar una tabla para describir cada Prefab que se genera automáticamente por esos modelos, animaciones, texturas y programas.
usando UnityEditor;
usando UnityEditorInternal;
prueba de clase pública:Editor {
[MenuItem("Prueba/Prueba")]
static void DoCreateAnimationAssets()
{
//Crea el archivo AnimationController y guárdalo en la ruta Assets
AnimatorController animatorController = AnimatorController.CreateAnimatorControllerAtPath("Assets/animation.controller");
//Obtén su capa, la capa predeterminada es base. Puedes expandirla
AnimatorControllerLayer Layer = animatorController.GetLayer(0 );
// Guarde el archivo de animación en el AnimationController que creamos
AddStateTransition("Assets/Resources/airenlieren@Idle.FBX",layer);
AddStateTransition("Activos/Recursos/ataque@attack.FBX".layer);
AddStateTransition("Activos/Recursos/aersasi@Run.FBX",capa);
}
vacío estático privado AddStateTransition (ruta de cadena, capa AnimatorControllerLayer)
{
UnityEditorInternal.StateMachine sm = Layer.stateMachine
/ / Lee el archivo de animación según el objeto AnimationClip
AnimationClip newClip = AssetDatabase.LoadAssetAtPath(path, typeof(AnimationClip)) as AnimationClip;
// Saca el nombre de la animación y agrega al estado p>
State state = sm.AddState(newClip.AddState
// Saca el nombre de la animación y agrégalo al estado
; Estado estado = sm.AddState(newClip.AddState )AddState(newClip.name);
state.SetAnimationClip(newClip,layer);
/ Agregar estado dentro de la capa
Transición trans = sm.AddAnyStateTransition (estado);
//Eliminar la condición de tiempo predeterminada
trans.RemoveCondition(0);
}
}
Haga clic en el botón Probar en el menú de navegación y su Ani
Se creará el archivo matorController.
El siguiente paso es generar un Prefab. Puede generarlo según el archivo de descripción proporcionado por el arte y vincular el AnimatorController que creamos al Prefab generado al generar.
Creo que uno de los mayores beneficios de usar animación automática es que puedes usar los huesos de múltiples modelos al mismo tiempo, reduciendo así el tamaño del paquete. Sin embargo, personalmente creo que, dado que los esqueletos se pueden reutilizar, los modelos con comportamientos similares deben reutilizarse, mientras que los modelos con personalidades más fuertes no pueden reutilizarse. Si desea utilizar animación automática, creo que lo que los planificadores y artistas deben considerar aquí es dividir los modelos en categorías y reutilizar un conjunto de huesos para cada categoría de modelos. (Si tiene una mejor experiencia, deje un mensaje a continuación, gracias)