Menu
CoddyTech

Posicione o cubo

Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 9 de 85.

Todo GameObject tem um Transform: sua posição, rotação e escala. Um script acessa o Transform do próprio objeto como transform, e transform.position indica onde está o centro do objeto, como um Vector3: três números para x (direita), y (cima) e z (para frente, afastando-se da câmera). Uma unidade equivale a um metro.

Para colocar um objeto em algum lugar, atribua a ele uma nova posição em Start(). Esta lâmpada tem 2 unidades de altura e deve ficar sobre uma mesa cujo tampo está em y = 2, centralizada em x = -2, z = 4. O centro da lâmpada fica a metade da sua altura acima do tampo da mesa, então seu y é 2 + 1 = 3:

void Start()
{
    transform.position = new Vector3(-2, 3, 4);
}

Enquanto o jogo estiver em execução, selecione a lâmpada na Hierarchy: o Transform do Inspector mostra os mesmos três números que sua Position.

challenge icon

Desafio

Fácil

Coloque o cubo azul no centro da plataforma laranja.

  1. Em Start(), defina transform.position como new Vector3(x, y, z).
  2. x e z são o centro da plataforma: 3 e 2.
  3. y é o topo da plataforma (1.5) mais metade da altura do cubo: 1.5f + 0.5f.

Pressione “Jogar”: o cubo fica sobre a plataforma. Depois, pressione “Verificar”.

Experimente você mesmo

using UnityEngine;

public class PlaceCube : MonoBehaviour
{
    void Start()
    {
        // x, y, z: altere estes três números
        transform.position = new Vector3(0f, 1f, 0f);
    }
}

Todas as lições de Fundamentos de Scripting no Unity

Pratique por conta própria: Playground de Unity