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

Canhão deformando quanto tento rotaciona-lo

Estou tentando avançar um pouco mais no projeto Tower Defence por conta própria e uma das coisas que estou tentando fazer é fazer com que o canhão da minha torre gire e mira em direção ao inimigo, porém já tentei fazer de varias formas diferentes e em todas elas quando ele gira para acompanhar o inimigo ele fica completamente deformado, como resolver isso?

7 respostas

Olá Rafael,

Posta aqui o seu código para rotacionar o canhão e se possível manda um link pra um screenshot mostrando o canhão deformado pra gente tentar entender melhor o que está acontecendo.

esse é o código que estou usando atualmente, mas ja testei outros

private void Mira()
    {
        canhao.transform.Rotate (0.0f,alvo.transform.position.y,0.0f);
    }

segue link para screenshot:

https://drive.google.com/open?id=0B-2do7ARB_I7SHlkMXVuX2xRU28

Olá Rafael,

Para esse tipo de operação existe um método mais direto no Unity e que podemos testar. Todo transform possui o método LookAt que serve para você dizer para um objeto "olhar" ou apontar para um determinado ponto. Nesse caso, estamos querendo que o nosso canhão aponte para a posição do inimigo. O código então deveria ficar assim:

canhao.transform.LookAt(alvo.transform.position);

Faça o teste e veja se corrige o problema.

usando esse método o canhão passou a mirar mais rápido no inimigo, mas continua deformando:

https://drive.google.com/open?id=0B-2do7ARB_I7SHlkMXVuX2xRU28

Percebi que ele deforma até se eu girar ele manualmente fora do jogo.

segue screenshot: https://drive.google.com/open?id=0B-2do7ARB_I7OUJMaTJibzRMSU0

E além disso o problema está relacionado a GameObject vazio que eu usei para por os objects da torre dentro, porque quando eu tirei o canhao de dentro desse gameobject vazio ele rotacionou normalmente sem deformar

Que estranho Rafael, realmente ele não deveria deformar no editor. Faz um teste: Tenta criar um outro cubo e adiciona dentro da torre. Depois tenta rotacionar e verifica se acontece o mesmo problema.

solução!

Consegui resolver criando uma nova torre e excluindo a antiga, ainda não sei o motivo mas agora ele rotaciona normal na nova torre e esta funcionando tudo direitinho

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