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

Avião girando

O avi˜ão quando o jogo reinicia esta voltando girando, não ta parado

3 respostas

Oi Lucas, Eu acho que em um vídeo mais pra frente no curso eu ajusto isso, mas basicamente o que fazemos é travar os eixos de rotação do Avião no Componente Rigidody. Assim a física do jogo não atrapalha ele na hora de reiniciar o jogo. Outra coisa que vc poderia fazer é zerar o torque do avião e a Velocidade angular dele assim que reinicia o jogo.

Você tem razão. Acabei de inicial-lo e vi isso. Perdi um baita tempo rs. Mas independente disso, como curiosidade, como eu faço pra acessar a parte de rotação do objeto? No caso do position a gente usa o transform.position e mexe. No caso da rotação? Se eu quisesse que meu avião começasse com rotação 0,0,10 nos eixos x, y e z respectivamente. Eu vi em um outro curso aqui que quando envolve rotação tem que inserir Quaternion... Tó meio confuso com isso.

solução!

Então Lucas, aqui temos 2 opções, podemos mudar a rotação do objeto usando o Transform, como vc viu e para isso precisamos de um Quartenion ( é um pouco confuso no começo mas não é dificil de manipular ele não) no geral sempre vamos umas o Quartenion.Euler.

Outra opção é usarmos o sistema de física da Unity para que ele altere o Transform no nosso lugar. Ou seja, se estamos usando o RigidBody ele é o componente que representa fisicamente nosso obj e ele que irá interagir com o Transform depois de fazer os cálculos de onde nosso objeto está e para onde ele deve ir, de acordo com a física do jogo.

No caso o que vc quer fazer é mexer diretamente na Rotação, sem a interferência de forças físicas, como vc quer fazer isso no inicio do jogo o mais fácil é manipular o próprio Inspector para que ele rotacione o avião. Mas se quiser fazer em código precisa passar o retorno do método Quartenion.Euler para a propriedade Rotation do transform.

Um cuidado que temos que ter é que se a física do jogo está manipulando a rotação e translação do objeto não é uma boa prática manipularmos o transform diretamente, pq isso vai interferir nas contas que a Unity faz e vc pode ter um glitch no jogo. Mas como travamos a rotação do objeto vc pode manipula-lo sem problemas.