[DÚVIDA] Como fazer uma mira angular no Unity?
5 participantes
Página 1 de 1
[DÚVIDA] Como fazer uma mira angular no Unity?
Bom, supondo que eu quisesse fazer um jogo de futebol, e pra cobrar uma falta ou pênalti o jogador teria uma mira angular pra ele ter noção de onde a bola vai, junto com uma barra de força, que sobe enquanto o botão do mouse está pressionado e volta pro 0 quando passa da força máxima, ficando nesse loop até o jogador soltar o click e a bola ser lançada. Como eu faria isso?
Se possível também queria, que quando a mira chegasse em um possível alvo, ela trocasse pra cor vermelha.
Se possível também queria, que quando a mira chegasse em um possível alvo, ela trocasse pra cor vermelha.
ScorpionG4mer- Avançado
- PONTOS : 3447
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
ScorpionG4mer- Avançado
- PONTOS : 3447
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
Certo o que voce ja tentou? poste aki pra tentarmos continuar sua ideia...
Na teoria bastaria alguns eventos de mouse para poder verificar se o player esta segurando o botão ou se ele ja soltou, enquanto ele estiver segurando a barra vai aumentar, voce pode almenta-la a cada frame usando Time.deltatime dentro de uma variavel float por exemplo, e se o valor desse float passar de um valor maximo(100 por exemplo) ele é setado pra 0, a parte da mira angular voce pode tentar usar algusn calculos com seno e cosseno ou mesmo metodos de Vector3 pra calcular o angulo ...
Na teoria bastaria alguns eventos de mouse para poder verificar se o player esta segurando o botão ou se ele ja soltou, enquanto ele estiver segurando a barra vai aumentar, voce pode almenta-la a cada frame usando Time.deltatime dentro de uma variavel float por exemplo, e se o valor desse float passar de um valor maximo(100 por exemplo) ele é setado pra 0, a parte da mira angular voce pode tentar usar algusn calculos com seno e cosseno ou mesmo metodos de Vector3 pra calcular o angulo ...
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
Bom fazendo alguns testes eu já consegui fazer a parte da barra, isso não é mais problema, porém não tenho nenhuma ideia de como vou fazer a mira angular, se puder me dar uma luz ai, tô voltando agora a programar em C# e tô meio enferrujado.Manawydan escreveu:Certo o que voce ja tentou? poste aki pra tentarmos continuar sua ideia...
Na teoria bastaria alguns eventos de mouse para poder verificar se o player esta segurando o botão ou se ele ja soltou, enquanto ele estiver segurando a barra vai aumentar, voce pode almenta-la a cada frame usando Time.deltatime dentro de uma variavel float por exemplo, e se o valor desse float passar de um valor maximo(100 por exemplo) ele é setado pra 0, a parte da mira angular voce pode tentar usar algusn calculos com seno e cosseno ou mesmo metodos de Vector3 pra calcular o angulo ...
ScorpionG4mer- Avançado
- PONTOS : 3447
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
Tenta utilizar o componente Constante Force na bola, crie uma variável que irá mudar o X do Force enquanto o mouse estiver pressionado, por exemplo irá mudar esse valor de -90 para 90, e quando o player soltar o botão irá setar o valor dessa variável para o atributo X do campo Force, assim a bola irá fazer curva para a esquerda ou direita, esquerda -90 e direita 90 por exemplo.
lantreco63- Iniciante
- PONTOS : 2975
REPUTAÇÃO : 6
Idade : 33
Áreas de atuação : Modelagem, Programação, Design.
Respeito as regras :
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
Tudo fácil, mas a questão é que isto é um "sistema completo".
Procure seguir a regra 6 do nosso fórum.
O que você já fez?
Enfim, vamos ao passo a passo.
A parte de desenhar uma trajetória é um pouco complicada dependendo do quão exato você quer que fique, pois depende se você vai usar a física da Unity ou simplesmente vai trabalhar com equações. Então você tem que decidir.
A barra que fica crescendo e decrescendo é a coisa mais fácil do mundo de se fazer... alguns if's, uma variável booleana, um pouco de +=Time.deltaTime já resolvem.
Quanto a mira chegar a um alvo e trocar de cor, um Raycast já mata o problema. Mas precisamos de algo que você já tenha tentado fazer, para poder montar todo esse sistema em cima disso.
Procure seguir a regra 6 do nosso fórum.
O que você já fez?
Enfim, vamos ao passo a passo.
A parte de desenhar uma trajetória é um pouco complicada dependendo do quão exato você quer que fique, pois depende se você vai usar a física da Unity ou simplesmente vai trabalhar com equações. Então você tem que decidir.
A barra que fica crescendo e decrescendo é a coisa mais fácil do mundo de se fazer... alguns if's, uma variável booleana, um pouco de +=Time.deltaTime já resolvem.
Quanto a mira chegar a um alvo e trocar de cor, um Raycast já mata o problema. Mas precisamos de algo que você já tenha tentado fazer, para poder montar todo esse sistema em cima disso.
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
- Código:
public RawImage ponteiro;
public Image barra;
public int bolas;
public float forca;
private float decaimento = 0.1f;
void Start () {
forca = -40;
barra.enabled = false;
ponteiro.enabled = false;
}
void Update () {
Arremessando();
if(Input.GetKeyDown(KeyCode.J)){
bolas += 2;
}
}
void Arremessando(){
if (Input.GetKey (KeyCode.E) && bolas > 0 && forca <= 25) {
barra.enabled = true;
ponteiro.enabled = true;
forca += 30*Time.deltaTime;
ponteiro.rectTransform.localPosition = new Vector3 (forca, ponteiro.rectTransform.localPosition.y, ponteiro.rectTransform.localPosition.z);
} else {
forca = -40;
barra.enabled = false;
ponteiro.enabled = false;
}
}
Esse script faz com que o ponteiro se mecha de acordo com o tempo em que o E é pressionado.
Até ai funciona tudo corretamente, mas, não tô com nenhuma ideia de como fazer a mira angular, se alguém puder me dar uma luz, algum tutorial que possa me ajudar eu agradeço.
De preferência com Raycast, mas qualquer um tá valendo :v
ScorpionG4mer- Avançado
- PONTOS : 3447
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
ScorpionG4mer- Avançado
- PONTOS : 3447
REPUTAÇÃO : 45
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
Ta, mas primeiro, que idade você tem, e em qual série está (escola ou faculdade, sei lah)?
Fazer uma trajetória usando Raycast vai envolver equações de segundo grau.
Fazer uma trajetória usando Raycast vai envolver equações de segundo grau.
Re: [DÚVIDA] Como fazer uma mira angular no Unity?
essas parada ai e tenso de fazer
Weslley- Moderador
- PONTOS : 5728
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» [Dúvida] Como fazer um sistema de mira 2D?
» [RESOLVIDO] Como Fazer uma Mira ( Com zoom ) Unity 5
» [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
» Como fazer uma mira de referencia (que fica no centro da tela)
» Como fazer um sistema de mira para jogo em terceira pessoa?
» [RESOLVIDO] Como Fazer uma Mira ( Com zoom ) Unity 5
» [DUVIDA]Como fazer uma Mira tipo a de Snipers que fica ocilando?
» Como fazer uma mira de referencia (que fica no centro da tela)
» Como fazer um sistema de mira para jogo em terceira pessoa?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos