No mundos dos jogos existem diversos tipos de câmera e na criação de jogos na Unity não é diferente.
Todos esses modos podem ser reproduzidos facilmente na Unity e você pode personalizar do jeito que quiser.
Aqui nesse artigo eu irei te passar alguns deles para você conseguir seguir o personagem com a câmera.
Modo 1 – Câmera filha do jogador
O primeiro modo é o mais simples, você pode colocar a câmera dentro do personagem, assim quando ele se mover, a câmera move junto.

Não esqueça de ajustar a posição da câmera para perto do jogador
Modo 2 – Câmera em 3ª pessoa simples
O 2º modo é um aprimoramento do primeiro.
Ainda com a câmera dentro do personagem você irá criar um script para a câmera se afastar e aproximar do personagem.
public GameObject Personagem;
public float Max;
public float Min;
public float Altura;
void Update(){
Vector3 Ponto = new Vector3(Personagem.transform.position.x, Altura, Personagem.transform.position.z);
transform.LookAt(Ponto);
}
void Afastar(){
if(transform.localPosition.z < Max){
transform.Translate(0, 0, 1 * Time.deltaTime);
}
}
void Aproximar(){
if (transform.localPosition.z > Min){
transform.Translate(0, 0, -1 * Time.deltaTime);
}
}
Coloque esse script dentro da câmera.
Essas funções podem ser ativadas por botões, analógicos ou mouse.
Modo 3 – Câmera em 3ª pessoa completo
Ainda dessa forma temos o jeito mais completo de fazer, que é a câmera em 3ª pessoa padrão, usada nas franquias GTA.
Para isso você irá criar um empty dentro do personagem e colocar a câmera dentro desse objeto.

public GameObject Eixo;
public float Max;
public float Min;
void Afastar(){
if(transform.localPosition.z < Max){
transform.Translate(0, 0, 1 * Time.deltaTime);
}
}
void Aproximar(){
if (transform.localPosition.z > Min){
transform.Translate(0, 0, -1 * Time.deltaTime);
}
}
void GirarEixoParaDireita(){
Eixo.transform.Rotate(0, 360 * Time.deltaTime, 0);
}
void GirarEixoParaEsquerda(){
Eixo.transform.Rotate(0, 360 * Time.deltaTime, 0);
}
void GirarCameraParaCima(){
transform.Rotate( 360 * Time.deltaTime, 0, 0);
}
void GirarCameraParaBaixo(){
transform.Rotate(360 * Time.deltaTime, 0, 0);
}
Coloque o script dentro da câmera.
Essas funções podem ser ativadas por botões, analógicos ou mouse.
Modo 4 – Câmera seguindo largura e profundidade
Na Unity, a largura e profundidade são os eixos x e z, nós iremos fazer a câmera se mover somente nesses eixos.
Você também pode adaptar para a câmera seguir somente em um dos eixos.
Nesse caso nós iremos deixar a câmera e personagens separados e colocaremos um script na câmera:
public GameObject Personagem;
public float altura;
void Update(){
float x = Personagem.transform.position.x;
float z = Personagem.transform.position.z - 10.0f;
transform.position = new Vector3(x, altura, z);
}
Para esse modo existe também um script que deixa a movimentação da câmera mais suave:
public GameObject Personagem;
public float altura;
void Update()
{
float x = Personagem.transform.position.x - transform.position.x;
float z = Personagem.transform.position.z - 10.0f - transform.position.z;
transform.Translate(x * Time.deltaTime, 0, z * Time.deltaTime);
}
Gostou desse artigo? Temos mais em nosso blog: www.crieseusjogos.com.br
Também temos vídeos toda semana em nosso canal do Youtube: Crie seus jogos – Youtube

Baixe gratuitamente: os passos para desenvolver jogos de sucesso
Seja o primeiro a comentar.