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

arrow_back Aula 07 - Jogo Polygonal Rescue - Parte 5 - Gizmos Personalizados

Gizmos Personalizados

Agora ficou bem mais fácil! O que queremos é desenhar um retângulo, e cada linha dessa tem dois pontos, de início e fim. Um retângulo é composto por quatro linhas que ligam também quatro pontos (os cantos do retângulo). Primeiramente criaremos as variáveis A,B, C e D, as quais serão cada uma delas um Vector3 para representar esses cantos do retângulo. Observe que mesmo o retângulo se tratando de uma figura 2D, precisamos de coordenadas em 3D (Vector3) para representar a posição dos seus cantos. Temos a variável centro, que representa o centro do retângulo, e também temos largura e comprimento, representando suas dimensões. Como conseguir os valores de A, B, C e D baseado nessas variáveis? Veja a Figura 13 para ficar mais claro.

Observando a Figura 13, podemos observar que as coordenadas das variáveis A, B, C e D são:

Um Vector3 novo é criado para cada variável com o comando “new” e os parâmetros de entrada são as posições x, y e z. Repare que para cada valor de x e z de cada Vector3 é passado o centro.x e centro.z adicionando ou subtraindo a metade dos valores das larguras e comprimento, fazendo com que cada um deles represente um canto do retângulo. O valor de Y (altura) sempre é mantido o mesmo do centro, já que o retângulo é um plano que ficará nessa mesma altura.

Depois de definir os valores de A, B, C e D, agora desenharemos as quatro linhas ligando esses pontos e formando um retângulo, assim:

Juntando tudo, nosso método OnDrawGizmos ficará como na Figura 14.

Salve o seu script e retorne ao Unity. Você verá que um retângulo amarelo está exatamente no centro do InstanciarPrefabs, mostrando precisamente os limites da área de geração dos prefabs sem a necessidade de executar o jogo. Veja a Figura 15.

Selecionando o InstanciarPrefabs no Hierarchy e observando o seu Inspector, altere os valores de largura e comprimento e verá que o retângulo amarelo muda em tempo real, acompanhando suas mudanças. Do mesma maneira, se você mover o GameObject InstanciarPrefabs o retângulo acompanha o movimento se posicionando no local correto.

Criamos, assim, o nosso primeiro Gizmo personalizado! Foi fácil, não é mesmo? Salve seu jogo antes de continuar.

Versão 5.3 - Todos os Direitos reservados