duvida de como juntar esses dois scripts
2 participantes
Página 1 de 1
duvida de como juntar esses dois scripts
como posso unir esses dois scripts para que o ponto de colisao e a mira fique no mesmo lugar
- Código:
private int numDeItens;
void Start()
{
numDeItens = 0;
}
void Update()
{
// raycast
RaycastHit PontoDeColisao;
if (Physics.Raycast(transform.position, transform.forward, out PontoDeColisao, 10))
{
if (Vector3.Distance(transform.position, PontoDeColisao.point) <= DistanciaMaxima && PontoDeColisao.transform.gameObject.tag == TagObjetos)
{
mensagem = true;
if (Input.GetMouseButtonDown(0))
{
Destroy(PontoDeColisao.transform.gameObject);
numDeItens++;
}
}
else
{
mensagem = false;
}
}
else
{
mensagem = false;
}
// load
if (numDeItens >= QuantidadeDeItens)
{
UnityEngine.SceneManagement.SceneManager.LoadScene(CenaLoad);
}
}
void OnGUI()
{
GUI.Label(new Rect(20, 20, 180, 50), "ITENS: " + numDeItens);
if (mensagem == true)
{
GUI.Label(new Rect(Screen.width / 2 - 90, Screen.height / 2 - 25, 180, 50), "Pressione o botao esquerdo do mouse para pegar");
}
}
}
- Código:
using UnityEngine;
using System.Collections;
public class MIRA : MonoBehaviour
{
public Texture2D mira;
void OnGUI()
{
GUI.DrawTexture(new Rect(Screen.width / 2 - mira.width / 2, Screen.height / 2 - mira.height / 2, mira.width, mira.height), mira);
}
void Update()
{
Cursor.visible = false;
}
}
Eduardo CS1- Iniciante
- PONTOS : 2959
REPUTAÇÃO : 0
Respeito as regras :
Re: duvida de como juntar esses dois scripts
Bom dia brow! é simples, acrescente ao primeiro script as variáveis: public Texture2D mira; na função OnGUI acrescente os parâmetros correspondentes, e no update o parâmetro para ocultar o cursor, isso tudo dentro do primeiro script, dentro das funções correspondentes, ou seja, o que é no Update, dentro dele e o que é no OnGUI dentro dele.
Abraço!
Abraço!
Re: duvida de como juntar esses dois scripts
vlw mano mais n ta dando certo n
Eduardo CS1- Iniciante
- PONTOS : 2959
REPUTAÇÃO : 0
Respeito as regras :
Re: duvida de como juntar esses dois scripts
Bom dia brow! olha só, havia alguns erros de sintaxe no seu script, e como não colou ele inteiro, eu adaptei aqui, está funcionando aqui perfeitamente, segue:Eduardo CS1 escreveu:vlw mano mais n ta dando certo n
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class TESTE1 : MonoBehaviour {
private int numDeItens;
private int QuantidadeDeItens;
public bool mensagem = false;
public float DistanciaMaxima;
public Texture2D mira;
void Start()
{
numDeItens = 0;
QuantidadeDeItens = 5;
}
void Update()
{
Cursor.visible = false;
// raycast
RaycastHit PontoDeColisao;
if (Physics.Raycast(transform.position, transform.forward, out PontoDeColisao, 10))
{
if (Vector3.Distance(transform.position, PontoDeColisao.point) <= DistanciaMaxima && PontoDeColisao.transform.gameObject.tag == "TagObjetos")
{
mensagem = true;
if (Input.GetMouseButtonDown(0))
{
Destroy(PontoDeColisao.transform.gameObject);
numDeItens++;
}
}
else
{
mensagem = false;
}
}
else
{
mensagem = false;
}
// load
if (numDeItens >= QuantidadeDeItens)
{
SceneManager.LoadScene("teste2");
}
}
void OnGUI()
{
GUI.Label(new Rect(20, 20, 180, 50), "ITENS: " + numDeItens);
if (mensagem == true)
{
GUI.Label(new Rect(Screen.width / 2 - 90, Screen.height / 2 - 25, 180, 50), "Pressione o botao esquerdo do mouse para pegar");
}
GUI.DrawTexture(new Rect(Screen.width / 2 - mira.width / 2, Screen.height / 2 - mira.height / 2, mira.width, mira.height), mira);
}
}
Não esqueça que o nome do script tem que ser TESTE1, não esqueça de setar a distancia máxima no inspector, anexar também a textura da mira, e setar os "inimigos" como com a tag "TagObjetos", o script foi anexado a camera do player FPS, pois dela é disparado o raycast. Mude também o nome da cena que irá carregar quando ele atingir um número x de itens. Aproveite e compare esse script com o seu, e veja os erros, estude para aprendizagem.
Abraço!
Re: duvida de como juntar esses dois scripts
mto obrigado brow!lhe agradesso mto
Eduardo CS1- Iniciante
- PONTOS : 2959
REPUTAÇÃO : 0
Respeito as regras :
Re: duvida de como juntar esses dois scripts
testei com o meu modelo 3d e com o cubo com o cubo funcionou perfeitamente, mais ja com o meu modelo ficoumeio bulgado so funciona a uma certa distacia se chegar perto n funciona,testei da distancia zero ate a 20 mais mesmo sendo 0 ela so da certo quando estar distante certeza q o problema e o meu modelo mais o q posso mudar para ajustar isso
Eduardo CS1- Iniciante
- PONTOS : 2959
REPUTAÇÃO : 0
Respeito as regras :
Re: duvida de como juntar esses dois scripts
verifica o seguinte cara, acontece isso com muita gente. O raycast sai da câmera, certo, o que acontece é que no player de fps do unity, a câmera fica dentro da colisão (capsule collider) e faz com que o raio colida com ele e gera problemas, verifica se não é isso que ta acontecendo.Eduardo CS1 escreveu:testei com o meu modelo 3d e com o cubo com o cubo funcionou perfeitamente, mais ja com o meu modelo ficoumeio bulgado so funciona a uma certa distacia se chegar perto n funciona,testei da distancia zero ate a 20 mais mesmo sendo 0 ela so da certo quando estar distante certeza q o problema e o meu modelo mais o q posso mudar para ajustar isso
Abraço!
Re: duvida de como juntar esses dois scripts
MANO TINHA FUNCIONADO SEM PRECISAR MEXER NA POSIÇAO DA CAMERA, MAIS QUANDO EU MOVIA O OJETO DE LUGAR PARAVA DE FUNCIONAR,DAI COLOQUEI A CAMERA MAIS PRAFENTE DO GEITO QUE VC FALO SO QUE AGR N FUNCIONA MAIS DE NENHUM JEITO
Eduardo CS1- Iniciante
- PONTOS : 2959
REPUTAÇÃO : 0
Respeito as regras :
Re: duvida de como juntar esses dois scripts
Bom dia Eduardo! Volte para a posição que estava funcionando, verifique o valor da distância no inspector no script, sete outro valor e vai testando, mude a posição da câmera e vai testando até achar a melhor posição, e não esqueça que os alvos tem que ter a tag, sem ela o raycast não fará efeito.Eduardo CS1 escreveu:MANO TINHA FUNCIONADO SEM PRECISAR MEXER NA POSIÇAO DA CAMERA, MAIS QUANDO EU MOVIA O OJETO DE LUGAR PARAVA DE FUNCIONAR,DAI COLOQUEI A CAMERA MAIS PRAFENTE DO GEITO QUE VC FALO SO QUE AGR N FUNCIONA MAIS DE NENHUM JEITO
Abraço!
Tópicos semelhantes
» Tem alguma diferença entre os dois scripts?
» Como colocar dois backgrounds diferentes para dois canvas diferentes?
» Como juntar animações do mixamo
» Juntar Vários terrenos como um so
» Como se utiliza esses símbolos "<<" e "~"
» Como colocar dois backgrounds diferentes para dois canvas diferentes?
» Como juntar animações do mixamo
» Juntar Vários terrenos como um so
» Como se utiliza esses símbolos "<<" e "~"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos