Menu
CoddyTech

Observe as Coisas

Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 26 de 67.

transform.LookAt(point) gira um objeto para que seu eixo para frente, a seta azul do eixo z, aponte para uma posição no mundo. Ele gira o objeto, mas não o move. Este holofote fica em uma torre em (0, 6, 0) e aponta para o portão em (4, 0, 10):

void Start()
{
    transform.LookAt(new Vector3(4, 0, 10));
}

O portão fica abaixo da luz, então o holofote também se inclina para baixo ao girar: LookAt aponta diretamente para o ponto, inclusive para cima ou para baixo. Depois disso, transform.forward aponta da luz para o portão.

Chamado em Start(), LookAt aponta uma vez. Chamado em Update(), ele aponta novamente a cada quadro, então o objeto continua voltado para o ponto enquanto o objeto ou o ponto se move. Seu argumento é sempre uma posição: LookAt(Vector3.forward) aponta para o ponto do mundo (0, 0, 1), um local próximo ao centro do mundo, onde quer que o objeto esteja.

challenge icon

Desafio

Médio

O rover já se move com as setas ao longo dos eixos x e z do mundo. Faça-o ficar de frente para a direção em que se move: enquanto estiver se movendo, sua dianteira (seu eixo forward) aponta na direção do deslocamento, inclusive nas diagonais. Sem nenhuma tecla pressionada, ele fica parado e continua voltado para a direção em que se moveu por último.

Pressione Jogar, dirija por aí e depois Verificar.

Experimente você mesmo

using UnityEngine;

public class Rover : MonoBehaviour
{
    public float speed = 3f;

    void Update()
    {
        Vector3 move = Vector3.zero;
        if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
        if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
        if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
        if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
        move = move.normalized;
        transform.position += move * speed * Time.deltaTime;
        // Gire o rover para que fique voltado na direção em que está se movendo
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Noções básicas de scripting no Unity