U N I T Y
M O V I M E N TA R A
C Â M E R A
E C O L I S Õ E S
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
TORNAR A CÂMERA DEPENDENTE DE
UM OBJETO
• Podemos colocar a câmera principal
como dependente ou “child” do
objeto.
• O problema é que depois, se o
objeto roda, a câmera também
roda.
• No caso que temos vindo a seguir é
preocupante pois por hora o
jogador não roda, mas irá encontrar,
mais à frente, obstáculos e irá rodar.
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
PROGRAMAR A CÂMERA
ATRAVÉS DE CÓDIGO
• Primeiro temos que chegar às
propriedades da câmera que
queremos modificar: a zona de
Transform.
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
ADICIONAMOS UM
COMPONENTE PARA A
CÂMERA
• Selecionando a câmera,
escolhemos nas
propriedades, adicionar
componente/New Script.
• Hoje decidi programar no
meu editor preferido que é o
Sublime Text.
• Para mudar o editor de C#
basta ir a
Edit/Preferencies/External
Tools
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
T I P O S D E V A R I Á V E I S
• Valores
• Int (inteiro)
• Float (decimal)
• Double (decimal com capacidade
para 2x mais décimas)
• Bool (Booleano)
• Char (caracteres)
• String (conjuntos de caracteres)
• Structs
• Vector3 (posição x,y,z)
• Quarternion (rotação)
• Referências (apontador para valores)
• Classes
• Transform
• GameObject
• Rigidbody
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
FAZER A CÂMERA SEGUIR
O JOGADOR PELO SCRIPT
• Precisamos de alterar os valores x,y,z através de
uma variável que irá apontar para estes valores –
uma referência.
• Neste caso, do tipo Transform que é onde estão os
valores X,Y,Z
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
FAZER A CÂMERA SEGUIR
O JOGADOR PELO SCRIPT
• Criamos uma variável pública,
do tipo refência, transform.
• Podemos verificar o que
acontece aos valores dessa
variável à medida que o
jogador avança colocando-a a
aparecer na janela “Console”
através do código de
Debug.Log e de atribuirmos o
nosso Jogador nas
propriedades da câmera, no
script novo que chamei de
perseguir
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
FAZER A CÂMERA SEGUIR
O JOGADOR PELO SCRIPT
• Agora é atribuir a posição da
câmera à do jogador.
• Que acontece?
• Ficamos com a câmera
dentro do jogador ou seja,
em First Person View. :D
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
FAZER A
CÂMERA
SEGUIR O
JOGADOR
PELO
SCRIPT
• Para criar alguma distância, criamos uma variável do tipo
Vector3.
• Imediatamente passamos a ter na janela de propriedades os três
valores X, Y e Z para definir.
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT
• Agora é só acrescentar
valores à variável e
adicioná-la, no script à
posição do jogador.
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
DETECTAR COLISÕES ATRAVÉS DO
CÓDIGO
A função predefinida pelo Unity
para detectar colisões é
OnCollisionEnter. (Atenção que
o Unity é Case Sensitive)
Para que funcione, é preciso
que o objeto tenha “Rigidbody”
e “Box Collider” e que o
obstáculo também tenha.
Introdução do desenvolvimento de jogos em Unity 3D
Clara Ferreira
DETECTAR COLISÕES ATRAVÉS DO
CÓDIGO
• Para programarmos as colisões temos que conseguir identificar contra quais objetos
elas ocorrem.
• Para saber o nome do objeto contra qual um objeto colide usamos o código
void OnCollisionEnter(Collision informacao)
{
Debug.Log(informacao.collider.name);
}
}
Variável do tipo Collision
Da variável podemos ir buscar vários dados,
entre eles o nome.

Unity Sessão 7

  • 1.
    U N IT Y M O V I M E N TA R A C Â M E R A E C O L I S Õ E S Introdução do desenvolvimento de jogos em Unity 3D Clara Ferreira
  • 2.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira TORNAR A CÂMERA DEPENDENTE DE UM OBJETO • Podemos colocar a câmera principal como dependente ou “child” do objeto. • O problema é que depois, se o objeto roda, a câmera também roda. • No caso que temos vindo a seguir é preocupante pois por hora o jogador não roda, mas irá encontrar, mais à frente, obstáculos e irá rodar.
  • 3.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira PROGRAMAR A CÂMERA ATRAVÉS DE CÓDIGO • Primeiro temos que chegar às propriedades da câmera que queremos modificar: a zona de Transform.
  • 4.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira ADICIONAMOS UM COMPONENTE PARA A CÂMERA • Selecionando a câmera, escolhemos nas propriedades, adicionar componente/New Script. • Hoje decidi programar no meu editor preferido que é o Sublime Text. • Para mudar o editor de C# basta ir a Edit/Preferencies/External Tools
  • 5.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira T I P O S D E V A R I Á V E I S • Valores • Int (inteiro) • Float (decimal) • Double (decimal com capacidade para 2x mais décimas) • Bool (Booleano) • Char (caracteres) • String (conjuntos de caracteres) • Structs • Vector3 (posição x,y,z) • Quarternion (rotação) • Referências (apontador para valores) • Classes • Transform • GameObject • Rigidbody
  • 6.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT • Precisamos de alterar os valores x,y,z através de uma variável que irá apontar para estes valores – uma referência. • Neste caso, do tipo Transform que é onde estão os valores X,Y,Z
  • 7.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT • Criamos uma variável pública, do tipo refência, transform. • Podemos verificar o que acontece aos valores dessa variável à medida que o jogador avança colocando-a a aparecer na janela “Console” através do código de Debug.Log e de atribuirmos o nosso Jogador nas propriedades da câmera, no script novo que chamei de perseguir
  • 8.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT • Agora é atribuir a posição da câmera à do jogador. • Que acontece? • Ficamos com a câmera dentro do jogador ou seja, em First Person View. :D
  • 9.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT • Para criar alguma distância, criamos uma variável do tipo Vector3. • Imediatamente passamos a ter na janela de propriedades os três valores X, Y e Z para definir.
  • 10.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira FAZER A CÂMERA SEGUIR O JOGADOR PELO SCRIPT • Agora é só acrescentar valores à variável e adicioná-la, no script à posição do jogador.
  • 11.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira DETECTAR COLISÕES ATRAVÉS DO CÓDIGO A função predefinida pelo Unity para detectar colisões é OnCollisionEnter. (Atenção que o Unity é Case Sensitive) Para que funcione, é preciso que o objeto tenha “Rigidbody” e “Box Collider” e que o obstáculo também tenha.
  • 12.
    Introdução do desenvolvimentode jogos em Unity 3D Clara Ferreira DETECTAR COLISÕES ATRAVÉS DO CÓDIGO • Para programarmos as colisões temos que conseguir identificar contra quais objetos elas ocorrem. • Para saber o nome do objeto contra qual um objeto colide usamos o código void OnCollisionEnter(Collision informacao) { Debug.Log(informacao.collider.name); } } Variável do tipo Collision Da variável podemos ir buscar vários dados, entre eles o nome.