Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Direção das Balas

Estou tendo problema com o angulo da bala. Caso o jogador esteja parado ele atira com uma inclinação levemente para cima devido o angulo de inclinação do braço na animação de segurar a arma parada, até ai tudo bem. Porém quando o player esta andando/correndo a animação faz com que ele incline significativamente o braço para baixo o que faz com que a bala seja lançada para baixo e não vai longe acaba entrando no piso proximo ao pé do player.

Ou seja pra atirar correndo e matar eu preciso esta muito perto do zumbi.

Exemplo no video abaixo:

6 respostas

Oii, Walace! Tudo bem?

Isso pode ocorrer caso tenha algum problema na direção da bala e como está sendo definida. Geralmente a direção da bala definida independentemente da animação do personagem. Isso significa que, mesmo que a animação mostre o personagem inclinando o braço para baixo, a bala ainda pode ser disparada em uma direção reta.

Como sugestão, verifique se direção da bala está sendo definida pela animação do personagem, caso esteja, será preciso ajustar a animação para que o braço do personagem não se incline tanto para baixo ou para cima. Isso pode ser feito no Unity, ajustando a animação do personagem.

Espero que a sugestão te ajude. Qualquer dúvida, conte conosco!

Oi, Walace, tudo bem? Eu acho que falei desse problema no vídeo, mas para resolve-lo ou a gente cancelaria essa rotação do braço na animação ou daria pra fazer como fiz que é tirar o objeto que marca de onde saí o tiro de dentro dos ossos do braço e jogando pro objeto principal. Assim ele não se movimenta mas da a impressão de que o tiro sai do local correto (que no fim é o mais importante não precisa ser perfeito mas sim dar a impressão de que é)

Olá Henrique sabe informar que modulo dos 4 cursos foi essa resolução? Terminei os 4 e não me recordo desse problema sendo abordado.

Obrigado Natalia, vou tentar modificar a animação

solução!

Nessa aula por volta do minuto 7-8

https://cursos.alura.com.br/course/criacao-de-jogos-com-unity/task/30399

Você nota que eu não coloquei no osso da mão mas sim no jogador, assim o tiro sempre vai sair pra frente sem influencia da rotação, já que não temos nenhuma.

Se você quiser você também pode mudar a rotação na hora de Instanciar, ao invés de usar transform.forward use:

Instantiate(Bala, CanoDaArma.transform.position, Quanternion.identity);

identity seria a função de rotação zerada, bons estudos

ahhh entendi obrigado, não estava compreendendo meu erro em relação a ter colocado no osso da mão

valeu

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software