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.
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.
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.
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);
}
}
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);
}
}
Durante a videoaula você pode acompanhar o passo a passo de como tudo foi criado, mas agora, vamos deixar algumas explicações adicionais.
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.