Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
O objeto Rigidbody do Unity é extremamente poderoso e tem vários métodos que podem ser executados para se adicionar forças físicas a objetos na cena através de scripts. Como estamos querendo iniciar uma rotação adicionando um torque, usaremos o método AddTorque().
O método AddTorque pode ser executado de várias formas nas quais você pode passar como parâmetro, por exemplo, um Vector3 com os valores de X, Y e Z correspondentes a quanto de torque você deseja adicionar em cada eixo.
No nosso caso, escolheremos que o cubo gire no eixo Z, mas poderia ser em qualquer um dos eixos, ou até em vários ao mesmo tempo. Executaremos o método AddForce utilizando sua versão que recebe como parâmetro os valores dos 3 eixos separadamente, como 3 floats. Então, o comando ficará assim:
Repare que os dois primeiros parâmetros do AddForce, chamados na referência do Rigidbody do cubo, são 0f e 0f. Eles representam quanto de torque queremos adicionar nos eixos X e Y, isto é, nenhum, portanto correspondem a 0f (adicionamos o “f” no final do zero para indicar que se trata de um float, e não de um inteiro no C#). O terceiro parâmetro é 10f e é referente ao eixo Z.
Dessa forma, o método adicionará um torque de valor 10 no eixo Z somente no início da execução da cena, já que ele está no método Start() e, a partir daí, o Rigidbody se responsabilizará por manter o objeto girando. O script IniciarRotacao deve ficar como é mostrado na Figura 30.
Volte agora ao Unity, pressione Play e veja que o cubo começará a girar no eixo Z, como exibe a Figura 31.
Como o Angular Drag por padrão vem configurado para 0.05, o cubo iniciará a rotação no eixo que escolhemos, mas aos poucos diminuirá a velocidade de rotação até parar por completo. Se você aumentar o Angular Drag, digamos para 2, ele parará mais rápido e, se você colocá-lo em zero, o cubo continuará girando indefinidamente.
Veja um vídeo no qual é demonstrado o que acontece quando mudamos a propriedade Angular Drag do Rigidbody de um objeto na cena.
Versão 5.3 - Todos os Direitos reservados