Duvida sobra raycast 2d
3 participantes
Página 1 de 1
Duvida sobra raycast 2d
Bom galera, eu decidir estudar sobra os raycast 2d, dai eu fiz um script, erra para o script escrever no console "sim", sempre que o raycast colidir com um objeto, mas não sei porque ele esta colocando "sim" toda hora , mesmo sem colidir, oque eu estou fazendo de errado ?
Vou deixar o script aqui:
Vou deixar o script aqui:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class texte : MonoBehaviour {
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit2D hit = Physics2D.Raycast (transform.position, -Vector3.up, 5);
if (hit.collider) {
print ("sim");
}
}
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
Faz uma verificação assim:
Assim ele funfa ^-^
- Código:
if (hit.gameObject != null)
Assim ele funfa ^-^
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Duvida sobra raycast 2d
cara no meu apareceu isso, " Unexpected symbol `end-of-file' ", e também o nome gameObject ficou vermelho, como se tivesse errado.Souris escreveu:Faz uma verificação assim:
- Código:
if (hit.gameObject != null)
Assim ele funfa ^-^
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
pera, coloquei errado, oque aparece o no console é isso "Assets/Scripts/texte.cs(14,11): error CS1061: Type `UnityEngine.RaycastHit2D' does not contain a definition for `gameObject' and no extension method `gameObject' of type `UnityEngine.RaycastHit2D' could be found. Are you missing an assembly reference?".gurgelg752 escreveu:cara no meu apareceu isso, " Unexpected symbol `end-of-file' ", e também o nome gameObject ficou vermelho, como se tivesse errado.Souris escreveu:Faz uma verificação assim:
- Código:
if (hit.gameObject != null)
Assim ele funfa ^-^
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
Ah, isto foi um erro no seu código principal, faça assim:
Obs.: Tu esqueceu do }, por isso o erro.
Sobre o objeto ficar vermelho é por causa de Prefabs, assim como explicado no tópico https://forum.unity.com/threads/object-name-in-red.4135/
@EDIT:
Bota assim ent:
dentro do "if"
- Código:
if(/*Condição*/){}
Obs.: Tu esqueceu do }, por isso o erro.
Sobre o objeto ficar vermelho é por causa de Prefabs, assim como explicado no tópico https://forum.unity.com/threads/object-name-in-red.4135/
@EDIT:
Bota assim ent:
- Código:
hit.collider != null
dentro do "if"
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Duvida sobra raycast 2d
bom, eu coloquei e o script ficou assimSouris escreveu:Ah, isto foi um erro no seu código principal, faça assim:
- Código:
if(/*Condição*/){}
Obs.: Tu esqueceu do }, por isso o erro.
Sobre o objeto ficar vermelho é por causa de Prefabs, assim como explicado no tópico https://forum.unity.com/threads/object-name-in-red.4135/
@EDIT:
Bota assim ent:
- Código:
hit.collider != null
dentro do "if"
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class texte : MonoBehaviour {
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit2D hit = Physics2D.Raycast (transform.position, -Vector3.up, 5);
if (hit.collider != null) {
print ("sim");
}
}
}
mas continua a mesmo coisa, o abj não esta colidindo em nada, mas mesmo assim ele fica mandando "sim" no console.
vou deixar uma imagem do meu projeto
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
Provavelmente o raycast está colidindo com o objeto que possui o script, tente utilizar o LayerMask.
rafaelllsd- ProgramadorMaster
- PONTOS : 5244
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Duvida sobra raycast 2d
como faço para utilizar ?rafaelllsd escreveu:Provavelmente o raycast está colidindo com o objeto que possui o script, tente utilizar o LayerMask.
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
- Código:
public LayerMask LayersNaoIgnoradas;
RaycastHit2D hit = Physics2D.Raycast (transform.position, -Vector3.up, 5, LayersNaoIgnoradas);
rafaelllsd- ProgramadorMaster
- PONTOS : 5244
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Duvida sobra raycast 2d
Nossa,muito abrigado !!!! :Drafaelllsd escreveu:Crie uma layer e aplique ela a seu objeto, logo após, vai na variavel "LayersNãoIgnoradas" na aba inspector do unity e desselecione a layer que você criou!
- Código:
public LayerMask LayersNaoIgnoradas;
RaycastHit2D hit = Physics2D.Raycast (transform.position, -Vector3.up, 5, LayersNaoIgnoradas);
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
Mas eu tenho apenas outra duvida, tem como eu fazer esse ray cast seguir o meu mouse ?, se tiver, como faço ?rafaelllsd escreveu:Crie uma layer e aplique ela a seu objeto, logo após, vai na variavel "LayersNãoIgnoradas" na aba inspector do unity e desselecione a layer que você criou!
- Código:
public LayerMask LayersNaoIgnoradas;
RaycastHit2D hit = Physics2D.Raycast (transform.position, -Vector3.up, 5, LayersNaoIgnoradas);
gurgelg752- MembroAvançado
- PONTOS : 2685
REPUTAÇÃO : 19
Áreas de atuação : estudo programação c# nas horas vagas
Respeito as regras :
Re: Duvida sobra raycast 2d
De uma olhada nestes links, ambos tem exemplos:
https://answers.unity.com/questions/781674/using-2d-raycasting-for-selecting-with-mouse.html
https://www.schultzgames.com/t6623-tutorial-mover-e-rotacionar-objeto-em-relacao-a-posicao-do-mouse?highlight=movimento+mouse
https://answers.unity.com/questions/781674/using-2d-raycasting-for-selecting-with-mouse.html
https://www.schultzgames.com/t6623-tutorial-mover-e-rotacionar-objeto-em-relacao-a-posicao-do-mouse?highlight=movimento+mouse
rafaelllsd- ProgramadorMaster
- PONTOS : 5244
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Duvida sobra raycast 2d
Ps.: Caso você queira saber se ele não estiver colidindo com ele mesmo, faça assim:
Junto aos outros if's criados por você. Ou você pode usar o LayerMask mesmo como dito pelo @rafaelllsd .
- Código:
if (hit.collider.gameObject != gameObject)
Junto aos outros if's criados por você. Ou você pode usar o LayerMask mesmo como dito pelo @rafaelllsd .
NKKF- ProgramadorMaster
- PONTOS : 4820
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Tópicos semelhantes
» Duvida com RayCast
» DUVIDA : Raycast
» (Duvida) RayCast.
» (Duvida) Raycast
» [Duvida]Relacionada a RayCast
» DUVIDA : Raycast
» (Duvida) RayCast.
» (Duvida) Raycast
» [Duvida]Relacionada a RayCast
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos