GOOGLE ADS

lunes, 25 de abril de 2022

Inspección de activación de animación de Unity

Al configurar un disparador en Unity Animator, y la máquina de estado no está en un estado en el que pueda invocar el disparador, el disparador se "carga" y se activará en el momento en que pueda hacerlo. ¿Cómo puedo verificar si el disparador está configurado y cómo puedo desmarcarlo?


Solución del problema

Verificar si un activador determinado está configurado actualmente es más difícil de lo que pensaba ^^

Sin embargo, puede restablecer un disparador usando Animator.ResetTrigger.

Exactamente para evitar su problema, una vez creé un script que simplemente restablece todos los desencadenantes cada vez que ingresa a un nuevo estado.

using System.Linq;
using UnityEngine;
public class ResetAllTriggers: StateMachineBehaviour
{
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (var parameter in animator.parameters.Where(parameter => parameter.type == AnimatorControllerParameterType.Trigger))
{
animator.ResetTrigger(parameter.name);
}
}
}

Esto asegura que al comienzo de cada estado todos los disparadores se restablecen => Solo los disparadores establecidos durante el estado actual se manejan y nunca se almacenan para más adelante.

¡Para no tener que adjuntarlo a todos y cada uno de los estados, simplemente puede poner este comportamiento en la capa correspondiente de la máquina de estado! Entonces simplemente se invoca cada vez que llama cualquier estado OnStateEnter.

Haga clic en la capa correspondiente en su AnimatorController, por ejemplo, elBaseLayer

ingrese la descripción de la imagen aquí

Luego haga clic en Add Behavioury agregue el comportamiento de reinicio

ingrese la descripción de la imagen aquí

Como puede ver, el disparador ahora se restablece cada vez que se ingresa un nuevo estado

ingrese la descripción de la imagen aquí

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...