Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
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:
Vector3 A = new Vector3 (centro.x - largura/2, centro.y, centro.z - comprimento/2);
Vector3 B = new Vector3 (centro.x + largura/2, centro.y, centro.z - comprimento/2);
Vector3 C = new Vector3 (centro.x + largura/2, centro.y, centro.z + comprimento/2);
Vector3 D = new Vector3 (centro.x - largura/2, centro.y, centro.z + comprimento/2);
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:
Gizmos.DrawLine (A, B);
Gizmos.DrawLine (B, C);
Gizmos.DrawLine (C, D);
Gizmos.DrawLine (D, A);
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