Jump to content
Sign in to follow this  
xzl

Activar animación trigger

Recommended Posts

Hola, me gustaría crear un script que activara la animación (Animator) de un objeto al pulsar una tecla dentro de un trigger. He escrito esto y funciona perfectamente, el problema me viene al intentar insertar un

If (input.GetKeyDown(keycode.Space). No me da ningún error, simplemente ya no se activa la animación, el script esta dentro del trigger así que supongo que entenderá el programa que quien tiene que presionar la tecla es el objeto y no el personaje. Seria posible hacer que el tag del personaje cambiase al estar dentro del trigger y presionar una tecla?. Gracias de antemano.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class animador2 : MonoBehaviour
{
    [SerializeField] private Animator myAnimatorController;


   

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
            

        {
           myAnimatorController.SetBool("transicion", true);
               
        }

    }

    private void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            myAnimatorController.SetBool("transicion", false);

        }
    }


}  
 

Share this post


Link to post
Share on other sites

No deberías detectar la pulsación de una tecla dentro del callback del colisionador. Te recomiendo crees una variable booleana y la asignes detectando el input desde la función update. Luego usa ese valor como flag para el callback del colisionador. 

Share this post


Link to post
Share on other sites

onColliderEnter solo se activa durante un frame. el frame en el que justo entra en contacto.

puedes probar a hacerlo en onColliderStay o sino hace lo que dice @francoe1

Edited by Igor
  • Like 1

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...