Como Detectar um objeto sem ser por tag e nem por nome ???
+2
ScorpionG4mer
luiz12345
6 participantes
Página 1 de 1
Como Detectar um objeto sem ser por tag e nem por nome ???
e o seguinte. tenho vários objetos, eles tem uma tag só , mais eu queria alguns desses objetos , não detectar todos ou seja n daria para usar tag pois alguns não poderam ser afetados mais presizam da tag
teria algum modo de saber ? sem ser pelo nome pois são vários Ex: (1) , (2) , (3) etc , porem todos eles teram o mesmo script , teria como detectar os objetos com um certo script? caso sim como?
qualquer tipo de detecção e bem vinda :D
bem caso não seja possível eu tento me virar aqui, so seria melhor se tiver alguma forma
teria algum modo de saber ? sem ser pelo nome pois são vários Ex: (1) , (2) , (3) etc , porem todos eles teram o mesmo script , teria como detectar os objetos com um certo script? caso sim como?
qualquer tipo de detecção e bem vinda :D
bem caso não seja possível eu tento me virar aqui, so seria melhor se tiver alguma forma
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
Você pode criar uma string e salvar o nome do objeto que está colidindo com o player nela, assim poderia acessar sem ter que escrever um milhão de linhas.
Outra é o Physics.Raycast.
Ele é mais complicado então vale a pena estudar.
Outra é o Physics.Raycast.
Ele é mais complicado então vale a pena estudar.
ScorpionG4mer- Avançado
- PONTOS : 3445
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
Amigo, não faz sentido. Tags são pra marcar GameObjects que estão no mesmo grupo de funcionalidade. Exemplo: Tag Inimigo, significa que todos os GameObjects marcados com aquela Tag são inimigos. No seu caso, como você quer a informação de apenas alguns, faça uma Lista ou Array e coloque eles manualmente lá.
Tente deixar um pouco mais claro o que você quer, primeiro explique o motivo das Tags, segundo o motivo de querer "pegar" certos GameObjects sem a Tag.
Tente deixar um pouco mais claro o que você quer, primeiro explique o motivo das Tags, segundo o motivo de querer "pegar" certos GameObjects sem a Tag.
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
luiz12345 escreveu:e o seguinte. tenho vários objetos, eles tem uma tag só , mais eu queria alguns desses objetos , não detectar todos ou seja n daria para usar tag pois alguns não poderam ser afetados mais presizam da tag
teria algum modo de saber ? sem ser pelo nome pois são vários Ex: (1) , (2) , (3) etc , porem todos eles teram o mesmo script , teria como detectar os objetos com um certo script? caso sim como?
qualquer tipo de detecção e bem vinda :D
bem caso não seja possível eu tento me virar aqui, so seria melhor se tiver alguma forma
vamos la amigo.. vi que voce queria que eles identificasse qual deles tem certo script isto e facil..
voce pode fazer uma lista ou uma array identenficando todos os objetos com a tag Desejada
porem fazendo uma outra detecção que seria se o objeto tem certo script..
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuscarInimigos : MonoBehaviour {
public GameObject[] Inimigos // cria uma array(list) Chamada inimigos
private List<GameObject> InimigosScript1Ativo = new List<GameObject>(); // cria uma lista com todos inimigos com script ativo
public GameObject[] InimigosDesejados // cria uma array(que recebe todos os inimigos com script ativo;
// Use this for initialization
void Start () {
Inimigos = GameObject.FindWithTag("inimigos"); // busca todos os Inimigos com a tag inimigos e coloca dentro desta array
}
// Update is called once per frame
void Update () {
for (int i = 0; i < Inimigos.Length; i++) { // verifica quantos inimigos tem dentro da array
if (Inimigos[i].GetComponent<Script1>().enabled) { // verifica todos os inimigos com o script1 ativo;
InimigosScript1Ativo.Add(objec[i]); // adiciona para lista de inimigosscritpAtivo desjado;
}
}
InimigosDesejados = InimigosScript1Ativo.ToArray(); // caso deseje que ele retorne para um nova array;
}
}
se ajudou deixe o like
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
Você poderia criar um script nulo, e usar o FindObjectOfType;
Fazer um raycast que acerte todos os objetos desejados;
Criar vários colliders pra detectar a colisão;
Colocar os objetos desejados numa array;
Criar uma layer especifica para os objetos desejados;
Adicionar uma bool no script,deixar true nos objetos desejados e depois verificar.
sei que tem muitos "desejados" mas não ligue ;-;
;-; Esses são os modos que consigo pensar ;-
alguns são gambiarras, mas pode funcionar...
Fazer um raycast que acerte todos os objetos desejados;
Criar vários colliders pra detectar a colisão;
Colocar os objetos desejados numa array;
Criar uma layer especifica para os objetos desejados;
Adicionar uma bool no script,deixar true nos objetos desejados e depois verificar.
;-; Esses são os modos que consigo pensar ;-
Re: Como Detectar um objeto sem ser por tag e nem por nome ???
vlw pessoal vai ajudar mt aqui :D Obrigado a todos , porem vou usar a ideia do fecirineu :D
Tópicos semelhantes
» É possivel detectar colisão de um objeto filho pelo objeto pai?
» como verificar se um objeto com um nome especifico nao esta na cena
» Como criar um script capaz de detectar a velocidade de queda de um objeto no Unity 5 ?
» Detectar se o player estiver perto de um objeto
» Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
» como verificar se um objeto com um nome especifico nao esta na cena
» Como criar um script capaz de detectar a velocidade de queda de um objeto no Unity 5 ?
» Detectar se o player estiver perto de um objeto
» Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos