Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula

arrow_back Aula 04 - Detecção de colisão e o Motor de Física

Os Componentes do Motor de Física 2D

Trabalhando com Joints 2D

O Unity também apresenta, em seu motor de física 2D, um conjunto de tipos de Joints - ou juntas, em português - que podem ser utilizados para criar sistemas complexos, ao conectar-se umas às outras, o tanto quanto se queira. Pense nas juntas como sendo um objeto que exerce a função de um conector entre dois outros objetos, por exemplo a dobradiça de uma porta, permitindo que ela se mova no arco, ou os amortecedores de um carro, permitindo que os pneus e o chassi trabalhem de maneira um pouco mais independente. É possível criar desde interações simples, como uma porta que abre e fecha, até algo mais complexo, como uma corrente balançando (com as juntas agindo como os elos) ou uma máquina em funcionamento.

Esses componentes possuem diversas especificidades e tomariam duas ou três aulas para que pudéssemos discuti-los detalhadamente. Mais uma vez, como fizemos com os atuadores, listaremos todos os que estão disponíveis dentro do motor de física 2D, juntamente às suas utilizações, e então deixaremos a vocês, à medida que forem necessitando no desenvolvimento de seus jogos, a tarefa de se aprofundar em cada um. O mais importante nessa parte da aula é que aprendam a escolher seguramente, dentre os diversos tipos de juntas disponíveis, qual será a capaz de resolver o problema que vocês estão enfrentando no desenvolvimento. Vejamos a Tabela 2 com todos os Joints 2D disponíveis no Unity.

Joints 2D     Funcionamento
Distance Joint 2D     Liga dois objetos que possuam Rigidbody 2D e os mantêm a uma distância fixa, definida no componente.
Fixed Joint 2D     Une dois objetos de maneira fixa, como uma barra de ferro. Os dois objetos se mantêm sempre a uma mesma distância e ângulo.
Friction Joint 2D     Reduz a velocidade dos dois objetos conectados a zero.
Hinge Joint 2D     Cria um ponto ao redor do qual um objeto com Rigidbody 2D pode rotacionar ao redor. Pense nisso como o pivô de um alicate, por exemplo, o qual permite que as duas partes abram e fechem ao redor dele.
Relative Joint 2D     Mantém um objeto com Rigidbody 2D distante do outro com uma distância fixa. Imagine isso como se um objeto seguisse o outro. Os dois estarão sempre a uma distância fixa um do outro.
Slider Joint 2D     Permite que objetos possam deslizar em torno de uma linha, como portas automáticas em um shopping center.
Target Joint 2D     Liga um objeto com Rigidbody 2D a um alvo. Pode ser utilizado para pegar objetos, por exemplo.
Spring Joint 2D     Conecta dois objetos através de uma mola.
Wheel Joint 2D     Simula o comportamento de uma roda com molas.
Tabela 2 - Diversas juntas disponíveis no motor de física 2D do Unity.
Fonte - Elaborada pelo autor.

Perceba que a grande maioria das juntas é utilizada para ligar dois objetos que possuem Rigidbody 2D, com poucas exceções. A conexão muitas vezes vai trabalhar com objetos do tipo Static, mas que necessitam de um Rigidbody 2D para que haja a conexão. A partir da utilização desses nove tipos de Joints é possível gerar comportamentos diversos para suprir as necessidades do desenvolvedor. Lembrando sempre que é possível combinar mais de uma junta para montar a sua máquina maléfica de dominação do planeta em seu jogo, com diversas partes móveis, conectadas e trabalhando!

Versão 5.3 - Todos os Direitos reservados