Nossos cursos em promoção de férias

Como criar uma câmera top-down na Unity 3D

Como criar uma câmera top-down na Unity 3D

Com poucas linhas e usando o método Lerp da classe Vector3 conseguimos criar uma movimentação suave.

Publicado em

Câmera Top-Down é aquele clássico modelo em que o jogador vê o player de cima, como nos jogos Diablo 2 e Torchlight, por exemplo. Criar esse tipo de câmera na Unity 3D exige pouco ou quase nenhum esforço, sendo que a gente pode criar usando ou não scripts, mas é claro, com algumas linhas de programação a câmera pode ter uma movimentação bem suave.

Câmera top-down no jogo Torchlight 2
Câmera top-down no jogo Torchlight 2

 

Criando a câmera top-down na Unity

Confira a nossa videoaula completa a seguir, nela você aprende a criar o script necessário para que sua câmera acompanhe o player de cima.

Script Câmera top-down na Unity

Todo script utilizado durante as aulas estão disponíveis abaix, lembrando que, o script do player foi criado apenas para que a gente possa testar a câmera em funcionamento.

CameraTopDown.cs

using UnityEngine;

public class CameraTopDown : MonoBehaviour
{
    //Declaramos a variável que vai controlar a velocidade da câmera
    public float velocidade = 5.0f;

    //Acessa o objeto que que a câmera precisa seguir
    public Transform target;

    //Qual o distânciamento dos eixos entre a câmera e o player
    public Vector3 offset = Vector3.up;

    //Controla se a câmera deve ou não olhar para o player
    public bool lookAt = false;

    void Update()
    {
        //Faz a movimentação de forma suave
        transform.position = Vector3.Lerp(transform.position, target.position + offset, velocidade * Time.deltaTime);

        //Verifica se é para olhar para o player
        if (lookAt)
            //olha para o player
            transform.LookAt(target.position);
    }
}

PlayerCameraTopDown.cs

using UnityEngine;

public class PlayerCameraTopDown : MonoBehaviour
{
    public float velocidade = 10.0f;

    void Update()
    {
        transform.Translate(new Vector3(
            Input.GetAxis("Horizontal"),
            0,
            Input.GetAxis("Vertical")
        ) * velocidade * Time.deltaTime);
    }
}

Entendendo o script de Câmera top-down

Durante a videoaula você pode acompanhar o passo a passo de como tudo foi criado, mas agora, vamos deixar algumas explicações adicionais.

Script da câmera Top-down na Unity 3d
Script da câmera Top-down na Unity 3d

 

Confira a tabela com os parâmetros do componente CameraTopDown.

Velocidade    Controla o tempo que a movimentação da câmera vai durar
Target    Deve-se definir o GameObject que a câmera deve acompanhar
Offset    Define a distância entre a câmera e o GameObject em casa eixo
LookAt    Quando ativado a câmera passa a olhar para o GameObject

Por hora é isso, espero que tenha aprendido.

Até a próxima.

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Deixe um comentário
Aguarde...