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

Gunnar CorreaGunnar Correa17/03/2021 às 18:44:19 - 273 acessos

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.


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
 

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
 

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.


unity unity 3d camera tutorial programação jogos iniciantes camera unit top down camera top down unity top down unity camera programação criar camera criar camera top down na unity

Compartilhe nas redes sociais



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. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.


Fórum

Ficou com alguma dúvida? utilize nosso fórum de perguntas e respostas, lá nossa comunidade poderá te ajudar.

https://forum.satellasoft.com