Seguir um raio no raycast a partir do ponto da tela clicado
4 participantes
Página 1 de 1
Seguir um raio no raycast a partir do ponto da tela clicado
Oi!,galera vou ser rápido e sem mais delongas,queria saber como faço no script para seguir um raio de origem do player e vá até o ponto da tela clicado, e so vlw
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
fabriciorsz34 escreveu:Oi!,galera vou ser rápido e sem mais delongas,queria saber como faço no script para seguir um raio de origem do player e vá até o ponto da tela clicado
void Update() | |
{ | |
if (Input.GetMouseButtonDown(1)) | |
{ | |
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); | |
RaycastHit hit; | |
if (Physics.Raycast(ray, out hit)) | |
{ | |
targetDestination = hit.point; | |
agent.SetDestination(targetDestination); | |
} | |
} |
PedroL123- Iniciante
- PONTOS : 2647
REPUTAÇÃO : 2
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
esqueci de dizer que tem q usar o navmeshPedroL123 escreveu:fabriciorsz34 escreveu:Oi!,galera vou ser rápido e sem mais delongas,queria saber como faço no script para seguir um raio de origem do player e vá até o ponto da tela clicadofiz de cabeça agora, n sei se vai dar certo mais ve ai kkkkk.
void Update() { if (Input.GetMouseButtonDown(1)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { targetDestination = hit.point; agent.SetDestination(targetDestination); } }
PedroL123- Iniciante
- PONTOS : 2647
REPUTAÇÃO : 2
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
Ah cara vlw vc colocou a mais mas dá pra adaptar pro meu caso sem o navmesh vlw vou testar
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
você pode fazer a movimentação com
- Código:
transform.position = Vector3.Lerp(transform.position,hit.transform.position);//você também poderia usar o hit.point
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
cara como q eu faço agr pra ele ativar uma bool de um script de um objeto clicado por exemplo?
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
primeiro a variável desse script tem que ser publica, usando o RaycastHit você pode obter dados do objeto em questão
ex:
ex:
- Código:
RaycastHit hitInfo;
Ray ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));
if (Physics.Raycast(ray, out hitInfo))
hitInfo.GetComponent<nomeDaClass>().nomeDaVariavel = true ou false;
Weslley- Moderador
- PONTOS : 5730
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
Weslley nao funcionou assim man
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
como você fez? esse exemplo ai o raio parte do centro da tela
Weslley- Moderador
- PONTOS : 5730
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
ent mas fiz isso mesm mas nao compilou o script deu erro
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
poste o script que você fez
Weslley- Moderador
- PONTOS : 5730
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
- Código:
RaycastHit hit;
Vector3 ScreenCenter = new Vector3(Screen.width / 2,Screen.height / 2,0); // pega o ponto da tela
if(Input.GetMouseButtonDown(0))
{
if(Physics.Raycast(ScreenCenter,Vector3.forward,out hit))//emite o Raycast do centro da tela na direção para frente
{
if(hit.transform.gameObject.GetComponent<ScriptName>() != null)//verifica se o objeto tem o script
{
hit.transform.gameObject.GetComponent<ScriptName>.NomeDaVariavel = true;//recebe true ou false
}
}
}
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
phph09 mas como faço para ir na direção clicada
?
?
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
Onde ele emite o Raycast é só você mudar de Vector3.forward para: Input.mousePosition * Vector3.forward e se voce quizer adicionar uma distancia vc configura o Phyics.Raycast();
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
ah cara fiz isso com adaptaçoes mas nao funcionou ele nao faz um percurso para o ponto da tela q eu clico e sim para o ponto da tela pra cima todo estranho olhao script como ta;
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class capturarobjclikado : MonoBehaviour {
public string objclickado;
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit hit;
Vector3 ScreenCenter = new Vector3(Screen.width / 2,Screen.height / 2,0);
if(Input.GetMouseButtonDown(0)) {
if(Physics.Raycast(transform.position,Input.mousePosition,out hit)) {
if(hit.transform.gameObject.GetComponent<interagir>() != null) {
objclickado = hit.transform.gameObject.name;
}
}
}
Debug.DrawLine(transform.position,Input.mousePosition);
}
}
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
fabriciorsz34 escreveu:ah cara fiz isso com adaptaçoes mas nao funcionou ele nao faz um percurso para o ponto da tela q eu clico e sim para o ponto da tela pra cima todo estranho olhao script como ta;
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class capturarobjclikado : MonoBehaviour {
public string objclickado;
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit hit;
Vector3 ScreenCenter = new Vector3(Screen.width / 2,Screen.height / 2,0);
if(Input.GetMouseButtonDown(0)) {
if(Physics.Raycast(transform.position,Input.mousePosition,out hit)) {
if(hit.transform.gameObject.GetComponent<interagir>() != null) {
objclickado = hit.transform.gameObject.name;
}
}
}
Debug.DrawLine(transform.position,Input.mousePosition);
}
}
já tentou assim;
[list=linenums]
[*]
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class capturarobjclikado : MonoBehaviour {
public string objclickado;
void Start () {
}
// Update is called once per frame
void Update () {
RaycastHit hit;
Vector3 ScreenCenter = new Vector3(Screen.width / 2,Screen.height / 2,0);
if(Input.GetMouseButtonDown(0)) {
if(Physics.Raycast(transform.position,Input.mousePosition * Vector3.forward,out hit)) {
if(hit.transform.gameObject.GetComponent<interagir>() != null) {
objclickado = hit.transform.gameObject.name;
}
}
}
Debug.DrawLine(transform.position,Input.mousePosition);
}
}
[/list]
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
qual erro?fabriciorsz34 escreveu:sim mas dá erro
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
esse:
Assets/Scripts/capturarobjclikado.cs(19,48): error CS0019: Operator `*' cannot be applied to operands of type `UnityEngine.Vector3' and `UnityEngine.Vector3'
Assets/Scripts/capturarobjclikado.cs(19,48): error CS0019: Operator `*' cannot be applied to operands of type `UnityEngine.Vector3' and `UnityEngine.Vector3'
fabriciorsz34- Avançado
- PONTOS : 3341
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: Seguir um raio no raycast a partir do ponto da tela clicado
tenta trocar o sinal de * pelo de + ou se não der certo coloca troca essa linha por essa:
- Código:
if(Physics.Raycast(transform.position,new Vector3(Input.mousePosition.x,Input.mousePosition.y,0) + Vector3.forward,out hit)) {
Phph09- Profissional
- PONTOS : 3792
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Tópicos semelhantes
» Seguir inimigo com usando o raycast
» Raycast reconhecer qualquer ponto da tela em camera fixa
» Como fazer Rigidbody 2D seguir posição do toque na tela (Arrastar objeto com toque)
» Pegar nome objeto clicado
» Trigger Raio e Trovão
» Raycast reconhecer qualquer ponto da tela em camera fixa
» Como fazer Rigidbody 2D seguir posição do toque na tela (Arrastar objeto com toque)
» Pegar nome objeto clicado
» Trigger Raio e Trovão
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos