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

arrow_back Aula 01 - Introdução ao Unity 3D

Transform (Posição, Rotação e Escala)

No Unity cada GameObject contém um componente fixo chamado Transform. Esse componente possui três propriedades:

  • Position: Determina a posição do GameObject na cena nos eixos X, Y e Z com valores que indicam o quanto o centro do GameObject está deslocado da origem da cena em cada eixo.
  • Rotation: Determina a rotação (em graus) do GameObject em cada eixo.
  • Scale: Determina a escala do GameObject em cada eixo. Cada GameObject pode estar relacionado a um modelo 3D que chamamos de “Mesh” (ou malha). Esse modelo pode ser criado por um outro programa e naturalmente tem suas dimensões já determinadas. A propriedade Scale modifica essas dimensões antes de exibir o objeto, o “esticando” em qualquer um dos três eixos. O valor “1” determina que naquele eixo a escala do objeto é a original (100%). Se desejar escalonar o objeto em um eixo para que fique com 1,5 vezes o seu tamanho, então você deve adicionar o valor 1.5 no eixo correspondente na propriedade Scale. O valor padrão é 1, 1, 1 que exibe o Mesh relacionado ao GameObject na escala original sempre.

Quando você está posicionando um GameObject no Unity é importante ter em mente que cada unidade representa um metro, ou seja: 1 = 1 metro, 15 = 15 metros, 1000 = 1km, 0,1 = 10 cm, 0,01 = 1cm e assim por diante. Isso é importante pois as interações físicas como colisões e gravidade utilizam essa métrica para realizar seus cálculos. Então se deseja posicionar um objeto a 3 metros da origem no eixo X, 5 metros no eixo Y e 1 metro no eixo Z, o valor da propriedade Position do Transform deve ser: 3.0, 5.0, 1.0.

Translate, Rotate, and Scale

Como vimos, para modificar o Transform de um GameObject pode-se simplesmente alterar seus valores no Inspector. Porém, também é possível realizar essas mudanças utilizando as ferramentas de transformação, acessíveis por meio dos seus ícones na Toolbar. Isso permite que você manipule o GameObject diretamente na Scene View utilizando o Mouse.

São três as principais ferramentas de modificação do Transform pela Toolbar: o Translate, Rotate e Scale, cada uma modificando a posição, rotação e escala do GameObject, respectivamente. Para usá-las, basta clicar no seu ícone ou pressionar a tecla de atalho correspondente.

Ferramentas de modificação do Transform com suas teclas de atalho e Gizmos.. Captura de tela do Unity – Game Engine.

Quando ativadas, as ferramentas de modificação de Transform operam no GameObject que se encontra atualmente selecionado no Hierarchy e você observará que um Gizmo será exibido na Scene View sobre esse GameObject, indicando que você pode movê-lo, rotacioná-lo ou escaloná-lo, de acordo com a ferramenta selecionada. Também observe na Figura 27 a aparência dos Gizmos para cada operação.

Esses Gizmos são manipuláveis utilizando o mouse, ou seja, você pode interagir com eles clicando e arrastando partes de cada um. Todos eles permitem manipulações com o Mouse em cada eixo representado pela sua cor: Vermelho = X, Verde = Y, Azul = Z.

No Translate (W) você pode mover o GameObject em cada eixo de acordo com a cor simplesmente clicando na sua seta e arrastando para a posição desejada. Desse modo o GameObject se moverá somente nesse eixo escolhido. Note que no Gizmo do Translate existe um conjunto com três planos (um verde, um azul e um vermelho), próximo ponto de encontro das três setas. Esses planos também podem ser clicados e arrastados para mover o GameObject, porém nesse caso ele será movido em duas dimensões e não somente em um dos eixos. O plano verde move o GameObject nos eixos X e Z, o plano azul nos eixos X e Y, o plano vermelho nos eixos Y e Z. Pode parecer um pouco confuso, mas com prática você verá que, na verdade, trata-se de uma maneira muito eficiente de mover GameObjects na cena.

No Rotate (E) a mudança da rotação do GameObject é muito simples também. Você pode clicar e arrastar cada um dos três “aros” coloridos para rotacionar o GameObject ao redor do eixo que sua cor representa.

No Scale (R) poderá clicar e arrastar os pequenos cubos coloridos presentes nas pontas de cada uma das três barras (uma para cada eixo). Ao arrastar um deles você estará diminuindo/aumentando o seu tamanho naquele eixo. Simples assim! Note que existe um cubo cinza claro no centro do Gizmo (no ponto de encontro das três barras coloridas), podendo clicar e arrastar esse cubo cinza para ampliar/reduzir a escala do objeto nos três eixos ao mesmo tempo. Essa última forma de escalonamento (os três eixos ao mesmo tempo) é muito útil, pois modifica o tamanho do GameObject, mantendo suas proporções, como visto no Vídeo 1.

Note que ao clicar nas partes manipuláveis desses Gizmos, elas ficam temporariamente com a cor amarela, para deixar claro em qual delas vocês está clicando.

Versão 5.3 - Todos os Direitos reservados