Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Duda trigger

Iniciado por Mega, Febrero 27, 2017, 04:06:44 PM

Tema anterior - Siguiente tema
Hola, quiero hacer que cuando toques un trigger(Llamemoslo t1) se active una animación.Vale hasta hay se hacer pero el tema es que en el nivel hay trigger(Llamemoslo t2) ha si que al tocar t2 que no es ese pasa lo que está programado para el t1 ya que el script es para ponerlo en el personaje.
 
 

Cita de: Mega date=1488208004Hola, quiero hacer que cuando toques un trigger(Llamemoslo t1) se active una animación.Vale hasta hay se hacer pero el tema es que en el nivel hay trigger(Llamemoslo t2) ha si que al tocar t2 que no es ese pasa lo que está programado para el t1 ya que el script es para ponerlo en el personaje.
   
   
       
   


tienes que darle una condición dentro de un if para diferenciar los objetos que poseen trigger

Como ? He visto que se puede poner TAG al trigger pero no se como.Con eso valdría?

Cita de: Mega date=1488215050Como ? He visto que se puede poner TAG al trigger pero no se como.Con eso valdría?
   


SI, dentro de un if pondrias
 

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

 
la 2da opción y el tag se lo pones
 

 
puedes crear uno nuevo(tag) en el inspector se despliega una lista y clikeas en add tag y de ahí lo pones nuevamente en el inspector.

El tag se lo pongo al trigger o al objeto que quiero que entra en el trigger?
 
 
 
Por cierto uso js .
 
Sería así?
 
Lo siento pero ha salido un poco mal.
 

function OnTriggerEnter (other : o.gameObject.transform.tag=="el tag que tiene") {
   Destroy(other.gameObject);
}

Febrero 27, 2017, 07:16:51 PM #5 Ultima modificación: Febrero 27, 2017, 07:20:08 PM por ytinU
Cita de: Mega date=1488218390El tag se lo pongo al trigger o al objeto que quiero que entra en el trigger?
   
   
       
   
   
      Por cierto uso js .
   
   
      Sería así?
   
   
      Lo siento pero ha salido un poco mal.
   
   

function OnTriggerEnter (other : o.gameObject.transform.tag=="el tag que tiene") {
   Destroy(other.gameObject);
}



No se me da muy bien js, pero trataré de explicarme para que lo apliques en js...
 

function OnTriggerEnter (other : Collider)
{
   if(other.gameObject.tag=="le pones el tag del objeto que entra en el trigger")
   {
      Destroy(other.gameObject);
   }
}

 
 

Creo que no me explique bien al principio , quiero que el PLAYER pueda entrar en varios trigger pero que en cada uno pase una cosa , pero quiero que el script este en el PLAYER porque si lo pongo en el trigger eso si se hacerlo.

Cita de: Mega date=1488220722Creo que no me explique bien al principio , quiero que el PLAYER pueda entrar en varios trigger pero que en cada uno pase una cosa , pero quiero que el script este en el PLAYER porque si lo pongo en el trigger eso si se hacerlo.
   


function OnTriggerStay (other : Collider)
{
   if(other.gameObject.name=="objeto01")
   {
      //do something
   }
      if(other.gameObject.name=="objeto02")
   {
      //do something
   }
      if(other.gameObject.name=="objeto03")
   {
      //do something
   }
}

 
Lo que entiendo es que tu player va vagando por ahí y cuando entre en un trigger de otro, el player haga alguna cosa.

Cita de: ytinU date=1488221594

function OnTriggerStay (other : Collider)
{
   if(other.gameObject.name=="objeto01")
   {
      //do something
   }
      if(other.gameObject.name=="objeto02")
   {
      //do something
   }
      if(other.gameObject.name=="objeto03")
   {
      //do something
   }
}

   
      Lo que entiendo es que tu player va vagando por ahí y cuando entre en un trigger de otro, el player haga alguna cosa.
   


No , yo me refiero que haber te pongo un ejemplo.
 
T1 ->Trigger 1
 
T2 ->Trigger 2
 
Vale cuando el PLAYER toca t1 haga sol
 
Y cuando toque el t2 haga noche.
 
Ps-Pero quiero que el script este en el player.

Cita de: Mega date=1488222606No , yo me refiero que haber te pongo un ejemplo.
   
   
      T1 ->Trigger 1
   
   
      T2 ->Trigger 2
   
   
      Vale cuando el PLAYER toca t1 haga sol
   
   
      Y cuando toque el t2 haga noche.
   
   
      Ps-Pero quiero que el script este en el player.
   


Deberias dar más información como que componentes estan adjuntos al player o a los objetos 't1' o 't2'.
 
PD:Si el player no tiene un collider que sea trigger no se puede hacer desde el player, y si lo tiene y quieres que el script este en el Player lo hace el script que hice, solo que en //do something programas lo que quieres que haga el player.

Casi mejor lo pongo en el trigger pero creo que voy a tener otros fallos en eso .Muchas gracias por la ayuda.
 
Bueno haber si me explico bien y lo sacamos , 
 
El t1 es el trigger de un objeto para recoger.
 
El t2 es el trigger que cuando lo tocas se activa una animación.
 
Lo que pasa que el script de recoger objetos está en el player y lo que hace es que al tocar un trigger se suma 1 al contador de puntos lo que yo quiero es que al tocar t2 no se me sume un punto solo se reproduzca la animación.

Cita de: Mega date=1488223352Lo que pasa que el script de recoger objetos está en el player y lo que hace es que al tocar un trigger se suma 1 al contador de puntos lo que yo quiero es que al tocar t2 no se me sume un punto solo se reproduzca la animación.
   


Por lo que veo la función ontriggerenter.. esta en el player(parece ser que ya lo tenias en el player..)
 
si pones..
 

function OnTriggerStay (other : Collider)
{
   if(other.gameObject.tag =="tag del objeto t1")
   {
      //sumar un punto
   }
      if(other.gameObject.tag=="tag del objeto t2")
   {
      //reproducir animación
   }      
}

 
esto es en el script del player y los tag se los pones a los respectivos obejtos 't1' y 't2'
 
PD:Les pusiste tag diferente?

El script de recoger objetos ya lo tengo hecho en otro script el tema es que tengo puesto que al tocar un trigger(t1) se suma un punto a si que si hago otro trigger(t2) y lo toco se me suma un punto y no quiero.

Resumido que como puedo hacer que tocando t1 se reproduzca una animación y tocando t2 se sume un punto , pero todo eso en un script.

Cita de: Mega date=1488233297Resumido que como puedo hacer que tocando t1 se reproduzca una animación y tocando t2 se sume un punto , pero todo eso en un script.
   


Ya lo dije xD enserio te quiero ayudar pero no entiendo... ayudarias si pones el script de ontriggerenter y me dices si es el único,puede ser por múltiples motivos y no soy adivino :C.

Etiquetas: