Acionamento da função OnTriggerEnter2D somente para o pai
3 participantes
Página 1 de 1
Acionamento da função OnTriggerEnter2D somente para o pai
Boa tarde galera
Vê quem conseguem me ajudar nesse dilema, tenho um gameobject que possui um filho ambos com collider2d em trigger, mas o do filho é maior que o pai, quero saber se existe alguma forma de no OnTriggerEnter2D só ativar quando entrar o trigger do pai ou alguma função que dê para validar em if que mostre em qual trigger ele acessou se foi o do pai que está o script ou do filho.
Quem puder me dar uma força nessa agradeço!
Vê quem conseguem me ajudar nesse dilema, tenho um gameobject que possui um filho ambos com collider2d em trigger, mas o do filho é maior que o pai, quero saber se existe alguma forma de no OnTriggerEnter2D só ativar quando entrar o trigger do pai ou alguma função que dê para validar em if que mostre em qual trigger ele acessou se foi o do pai que está o script ou do filho.
Quem puder me dar uma força nessa agradeço!
wanderson888888- Iniciante
- PONTOS : 1655
REPUTAÇÃO : 0
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
voce pode colocar uma tag no seu objeto Pai, indo no seu objeto Pai, tag e clica em Add Tag e crie uma com qualquer nome, mas eu vou colocar como "Pai".
E depois no seu script voce pode fazer assim:
E depois no seu script voce pode fazer assim:
- Código:
void OnTriggerEnter(Collider other)
{
if(other.tag == "Pai")
{
//FAZ A FUNÇÃO QUE VOCE COLOCAR
}
}
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Pokedlg Obrigado pelo retorno,
Mas o atributo ".tag" ele valida a tag do objeto que colidiu (other), eu precisava validar qual foi o trigger que recebeu o objeto colisor se foi o trigger do collider do pai ou o collider do objeto filho. Pois quando eu uso a função OnTriggerEnter2D mesmo tendo o script no pai ele valida os objetos que entram nos filhos também.
Mas o atributo ".tag" ele valida a tag do objeto que colidiu (other), eu precisava validar qual foi o trigger que recebeu o objeto colisor se foi o trigger do collider do pai ou o collider do objeto filho. Pois quando eu uso a função OnTriggerEnter2D mesmo tendo o script no pai ele valida os objetos que entram nos filhos também.
wanderson888888- Iniciante
- PONTOS : 1655
REPUTAÇÃO : 0
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Talvez você pode usar o Ignore Collision para não validar a colisão do objeto filho
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Seu objeto pai, possui mais de um filho ou é apenas esse?
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Respondendo o SauloeArthur :
O Ignore Collision até funciona, mas como muitos dos objetos que vão colidir são criados em tempo de execução ficaria um pouco sobre carregado ficar checando e se existe em cena um objeto X para ignorar a colisão com o filho.
Respondendo ao Pokedlg:
Ele tem outros filhos, mas somente um com um collider.
O Ignore Collision até funciona, mas como muitos dos objetos que vão colidir são criados em tempo de execução ficaria um pouco sobre carregado ficar checando e se existe em cena um objeto X para ignorar a colisão com o filho.
Respondendo ao Pokedlg:
Ele tem outros filhos, mas somente um com um collider.
wanderson888888- Iniciante
- PONTOS : 1655
REPUTAÇÃO : 0
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
wanderson888888 escreveu:Respondendo o SauloeArthur :
O Ignore Collision até funciona, mas como muitos dos objetos que vão colidir são criados em tempo de execução ficaria um pouco sobrecarregado ficar checando e se existe em cena um objeto X para ignorar a colisão com o filho.
Respondendo ao Pokedlg:
Ele tem outros filhos, mas somente um com um collider.
wanderson888888- Iniciante
- PONTOS : 1655
REPUTAÇÃO : 0
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Nao sei se isso vai ajudar, talvez a sua melhor opção seja o ignore collision mesmo.
olha, no index do Get Child voce tem que colocar o index do objeto filho em relação ao pai, exemplo:
Pai
Filho0
Filho1
Filho2
Filho3
lembrando que começa sempre no index 0. Exemplo, se voce quiser pegar o objeto Filho0, seria GetChild(0)
Se nao entendeu me avise.
- Código:
public bool colidiuPai;
void OnTriggerEnter(Collider other)
{
transform.GetChild(index).gameObject.GetComponent<BoxCollider>().isTrigger = false;
StartCoroutine(Atualizar());
if(transform.GetChild(index).gameObject.GetComponent<BoxCollider>().isTrigger == false && colidiuPai == true)
{
Debug.Log("ColidiuPai");
}
}
IEnumerator Atualizar()
{
yield return new WaitForSeconds(0.001f);
colidiuPai = true;
}
olha, no index do Get Child voce tem que colocar o index do objeto filho em relação ao pai, exemplo:
Pai
Filho0
Filho1
Filho2
Filho3
lembrando que começa sempre no index 0. Exemplo, se voce quiser pegar o objeto Filho0, seria GetChild(0)
Se nao entendeu me avise.
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Acionamento da função OnTriggerEnter2D somente para o pai
Certo funcionou aqui, muito obrigado a todos que ajudaram respondendo!
wanderson888888- Iniciante
- PONTOS : 1655
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO]Correr Somente para frente!
» Como faço para luz acender somente quando esta anoite?
» Alguem sabe se existe uma função parecida a OnMouseEnter para Touch
» -Multiplayer- Parametros para funcao [Command]
» Função para rotacionar a câmera via Script
» Como faço para luz acender somente quando esta anoite?
» Alguem sabe se existe uma função parecida a OnMouseEnter para Touch
» -Multiplayer- Parametros para funcao [Command]
» Função para rotacionar a câmera via Script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos