[Unity] Colliders, triggers y Animaciones

marod

Buenos días a todos.

Un día más vengo a comentaros mis par de dudas de Unity, al final en vez de un foro de gamedev va a ser un foro de Unity con solo posts mios, pero bueno... it's free.

Hoy vengo con dos dudas, la primera de ellas trata sobre colliders y triggers. Imaginemonos que teneis un gameObject que tiene dos colliders, ambos son triggers y quieres darle una función diferente a cada uno cuando un objecto colisiona. A la hora de hacer un script, como le indico yo a que collider está entrando el objeto que tiene que colisionar, porque yo solo he visto la función OnTriggerEnter2D(Collider gameObject) y no he visto que se le puedan asignar tags o nombres a los colliders.

La segunda duda es respecto a las animaciones y las corrutinas, imaginemonos que tenemos un bucle de juego en una corrutina, y que al terminarse queremos que salte un texto GameOver y que después de ese texto nos esperemos 2 segundos y aparezca un botón de Restart. El texto de GameOver tiene una animación en la cual se escala hacia fuera para hacerlo bonito que no sabemos cuanto dura, pero que dura lo bastante para que se active el botón de restart sin antes haberse acabado la animación de GameOver. Sé que con yield return new WaitForSeconds XX es para esperar, pero ¿Como puedo decirle a la corrutina que se espere justamente hasta que se acabe la animación de GameOver para lanzar el botón Restart?

Gracias y un saludo.

YaW

En las animaciones puedes añadir eventos, básicamente su función es que cuando la animación llega a un punto determinado se llame a una función de tu script. Con esto puedes conseguir lo que dices sin tener que andar afeando el código con corutinas. También se suele usar para sincronizar audios con momentos de la animación y demás.

http://docs.unity3d.com/Manual/animeditor-AnimationEvents.html

Sobre los triggers, normalmente lo que se hace en estos casos o al menos lo que he hecho yo es crear hijos y a los hijos ponerles los colliders, si tienes los colliders en hijos diferentes puedes ponerles a estos hijos tags diferentes o nombres diferentes y comprobar eso.

1 respuesta
marod

#2 No había pensado en añadirle hijos. Al final la solución más simple es en la que menos se piensa. Respecto a lo de los eventos en las animaciones no lo sabía, así que lo usare para futuros propositos. Gracias YaW

Usuarios habituales

  • marod
  • YaW