Algunas adiciones al conocimiento de Unity

1. Entrada

        El valor de Input.GetAxis() cambia de 0 a 1 o -1, y el valor de Input.GetAxisRaw() cambia de 0 a 1 o -1, sin gradiente.

2 、 animador

        1. Al hacer referencia a un determinado parámetro o estado, es más eficiente utilizar HashID . Es decir, al cambiar el estado de la animación, no utilice el formulario SetFloat (cadena, flotante), sino el formulario SetFloat (int, flotante). Si el primer parámetro es de tipo cadena, el sistema recorrerá el Animator para encontrar la variable con este nombre, lo cual es ineficiente.

int speedHash = Animator.StringToHash("Speed"); //La velocidad es la variable declarada en el lado izquierdo de la siguiente figura

int jumpHash = Animator.StringToHash("Jump"); //Jump es la variable declarada en el lado izquierdo de la siguiente figura

int runStateHash = Animator.StringToHash("Ejecutar"); //Ejecutar es el estado de la animación definido en el lado derecho de la siguiente figura

anim = ObtenerComponmento<Animador>();

anim.SetFloat(speedHash, 1f);

//Obtener información del estado actual de la animación

AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);//El valor del índice BaseLayer de la capa predeterminada es 0

if ( info.shortNameHash == runStateHash )//El estado actual es Ejecutar animación

if ( info.IsName("Run") ) // Actualmente está en estado Ejecutar animación. StringToHash se usa internamente en IsName()

//Obtener información de transición de animación actual

AnimatorTransitionInfo info = anim.GetCurrentAnimatorTransitionInfo(0);//El valor del índice de capa predeterminado es 0

shortNameHash: nombre de la animación actual

fullPathHash: contiene el nombre de la animación actual de la ruta jerárquica

2. Guión de animación StateMechineBehaviour

Nuevas características de Unity5.0------StateMachineBehaviours animados state machine_onstateenter_Star Walking Blog-CSDN Blog

        Las versiones 5 y superiores de Unity pueden crear un script de animación StateMechineBehaviour para una determinada capa o estado de animación . Seleccione un área en blanco de la capa o seleccione un estado de animación , y el botón "AddBehaviour" aparecerá a la derecha y podrá crear un script.

        Las tres funciones más utilizadas son OnStateEnter, OnStateUpdate y OnStateExit, que representan respectivamente "entrar en animación", "actualizar animación" y "salir de animación".

        Al agregar un script de animación StateMechineBehaviour a cada capa, la animación de Animator se puede administrar en capas .

        ¿Cómo permitir que el script StateMechineBehaviour llame a los miembros del script MonoBehaviour? Por ejemplo, para el script BaseLayerSMB.cs y el script AnimatorTest.cs, realice las siguientes operaciones para llamar a las funciones en el script AnimatorTest en BaseLayerSMB.

3. Crear estado de animación

Explicación detallada del sistema de animación Unity 10: ¿Qué es una máquina de subestado? - Saber casi

        Además de crear estados de animación, también puede crear estados de subanimación, que se pueden editar haciendo doble clic en el estado de subanimación.

Supongo que te gusta

Origin blog.csdn.net/qq_34256136/article/details/133108350
Recomendado
Clasificación