Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: xCarras en Febrero 27, 2017, 02:33:27 AM

Título: Diferenciar Triggers
Publicado por: xCarras en Febrero 27, 2017, 02:33:27 AM
Hola, como puedo diferenciar un OnTriggerStay(){lo que sea} de un trigger a otro? Por ejemplo si estas en un trigger de "x" nombre haz esto y si estas en el otro trigger de nombre "x" haz esto otro.
Título: Diferenciar Triggers
Publicado por: ytinU en Febrero 27, 2017, 03:07:20 AM
Vale.. creo que lo que haces es poner solamente el método..
 
para diferenciar los trigger se hace esto..
 

private void OnTriggerStay(Collider o)
    {
        if (o.gameObject.name=="el nombre que tiene el otro trigger" || o.gameObject.transform.tag=="el tag que tiene"|| o.gameObject.layer == 4)
        {
            // do something
        }
    }

 
el parametro de tipo Collider( ' o ' )(no es una carita xD) detecta todos los colliders de los objetos con los que colisione y el método detecta si son triggers, si cumple eso entra..  al ser un componente puedes acceder a su gameobject(que te da el GO) y puedes acceder a él con su nombre, tag o layer
 

o.gameObject.name=="el nombre que tiene el otro trigger"
o.gameObject.transform.tag=="el tag que tiene"
o.gameObject.layer == 4

 
si cumple por su nombre entra en el if y le puedes decir que haga cualquier cosa cuando colisione con un objeto que cumpla las especificaciones que le das dentro del if.
Título: Diferenciar Triggers
Publicado por: xCarras en Febrero 28, 2017, 08:47:58 AM
Perfecto!!!! muchísimas gracias.