SlideShare una empresa de Scribd logo
1 de 21
Projeto de jogos RAD: 
Câmeras 
Augusto Bülow
Unity3D 
• Câmera = nossos olhos no game 
• Game: Mostra o que a câmera aponta 
• Câmeras variadas = tipo de jogo 
• 1a pessoa, 3a pessoa, fixa, top / side view 
• Entender câmera como objeto 3D 
• Posição : onde está no mundo 
• Ângulo : para onde aponta (o que focaliza)
Unity3D 
• Em todos os momentos do jogo 
• Câmera em uma posição (X,Y,Z) 
• Câmera com uma rotação (X,Y,Z) 
• resultado = cena do jogo 
• Câmera mostra a ação do jogo 
• Câmera essencial gameplay *
Unity3D 
• Câmeras prontas : Unity 
• Standard Assets -> Camera Scripts 
• Mouse Look: 
• movimento mouse = ângulos da câmera 
• Limites básicos de ângulos 
• Normal 1a pessoa
Unity3D 
• Código básico para Mouse Look 
function Update () { 
forca_angulo.y = Input.GetAxis("Mouse X"); 
forca_angulo.x = -Input.GetAxis("Mouse Y"); 
forca_angulo.z = 0; 
//adiciono a forca aos angulos atuais da camera 
angulo_camera += forca_angulo; 
//limites nos angulo_camera 
angulo_camera.x = Mathf.Clamp(angulo_camera.x, -30, 30); 
//rotar a camera diretamente - uso eulerAngles facilita a rot 
transform.eulerAngles = angulo_camera; 
}
Unity3D 
• Smooth Look at 
• Olhando para o player (alvo) 
• Fazer apontar para posição do foco 
• Saber posição do alvo 
• Ajustar ângulos para visualizar alvo 
• + Separar modos de câmera = var
Unity3D 
• Código para Smooth Look at 
var foco : Transform; 
function Update () { 
if (Input.GetKeyDown("1")) { modo_camera = 1; } 
if (Input.GetKeyDown("2")) { modo_camera = 2; } 
if (modo_camera == 2) { 
transform.LookAt(foco); 
}
Unity3D 
• Câmera em posição fixa, olhando o alvo 
var foco : Transform; 
function Update () { 
if (Input.GetKeyDown(“3")) { modo_camera = 3; } 
if (modo_camera == 3) { 
transform.position.x = 0; 
transform.position.y = 10; 
transform.position.x = 2; 
transform.LookAt(foco); 
}
Unity3D 
• Câmera em posição fixa, com ângulo fixo 
• Top View / Side View 
• Planejar e setar posição e ângulos (fixos) 
function Update () { 
if (Input.GetKeyDown(“4")) { modo_camera = 4; } 
if (modo_camera == 4) { 
transform.position.x = 0; 
transform.position.y = 20; 
transform.position.z = -20; 
transform.eulerAngles(30, 0, 0); 
}
Unity3D 
• Adicionalmente câmera pode ser 
Ortográfica (sem perspectiva) 
• Específica para algumas visões / jogos 
if (modo_camera == 4) { 
transform.position.x = 0; 
transform.position.y = 20; 
transform.position.z = -20; 
transform.eulerAngles = Vector3(30, 0, 0); 
camera.orthographic = enabled; 
camera.orthographicSize = 10; 
}
Unity3D 
• Câmera 1a Pessoa 
• Segue posição do player 
• Segue rotação do player 
• + ângulos adicionais : Mouse Look 
• Não movem o player – apenas a câmera 
• Altura adicional + posição dos olhos
Unity3D 
• Camera 1a Pessoa : Código Básico 
var jogador : Transform; 
var altura_olhos = 0.5; 
if (modo_camera == 5) { 
transform.position = jogador.position; 
transform.position.y += altura_olhos; 
transform.rotation = jogador.rotation; 
}
Unity3D 
• Camera 1a Pessoa : Código Básico + 
Ângulo adicional (cima / baixo) 
if (modo_camera == 5) { 
transform.position = jogador.position; 
transform.position.y += altura_olhos; 
//rotação basica X inclinação (TILT) move mouse 
aux_x += -Input.GetAxis("Mouse Y"); 
angulo_camera.x = jogador.rotation.x + aux_x; 
angulo_camera.y = jogador.eulerAngles.y; 
angulo_camera.z = jogador.eulerAngles.z; 
transform.eulerAngles = angulo_camera; 
}
Unity3D 
• Câmera 3a pessoa, seguir em posição 
relativa ao player 
• Atrás, X distancia 
• Acima, Y distancia 
• + Olhar para o player 
• Calcular posição relativa 
• Em relação ao ângulo do player 
• Trigonometria
Unity3D 
• Posição relativa (em relação ao ângulo) 
• Trigonometria básica (Seno e Coseno) 
• Classe Mathf. 
• Sin e Cos = usam medidas em RAD 
• Converter Rad em Degrees 
• Rad = ângulo * Mathf.Deg2Rad; 
• Grau = ângulo * Mathf.Rad2Deg;
Unity3D 
var dist_segue = -2; 
var altura_segue = 2; 
if (modo_camera == 6) { 
var angulo = jogador.eulerAngles.y * Mathf.Deg2Rad; 
transform.position.x = jogador.position.x + dist_segue * 
Mathf.Sin(angulo); 
transform.position.y = jogador.position.y + altura_segue; 
transform.position.z = jogador.position.z + dist_segue * 
Mathf.Cos(angulo); 
transform.LookAt(jogador); 
}
Unity3D 
• Orbitar player = posição relativa (ao 
ângulo) + ângulo adicional variável 
• Câmera Estilo Matrix 
if (modo_camera == 7) { 
angulo_matrix += 1; 
transform.position.x = jogador.position.x + dist_segue * 
Mathf.Sin(angulo_matrix * Mathf.Deg2Rad); 
transform.position.y = jogador.position.y + altura_segue; 
transform.position.z = jogador.position.z + dist_segue * 
Mathf.Cos(angulo_matrix * Mathf.Deg2Rad); 
transform.LookAt(jogador); 
}
Unity3D 
• Field of View (FOV) campo de visão 
• Abertura da lente (Câmera) 
• Funciona como 
• Zoom (sniper, binóculo...) 
• Perspectiva maior (distância e velocidade) 
if (Input.GetKey("i")) { 
camera.fieldOfView += 5 * Time.deltaTime; 
} 
if (Input.GetKey("o")) { 
camera.fieldOfView -= 5 * Time.deltaTime; 
}
Unity3D 
• Render Port (view) 
• Definição de tamanho 
• Definição de posição na tela 
• Valores de 0..1 (porcentagem da tela) 
• Exemplo:
Unity3D 
• Possibilidade de inserir mais câmeras de jogo 
(independentes) 
• Cada câmera com suas definições de tamanho e posição 
• Cada câmera com sua posição e ângulos
Unity3D 
• Definição de Corte (Clip) 
• Distancia da camera objetos não são renderizados 
• Próximos e distantes 
• = performance 
• + necessidade de distancia por cenário e tipo de jogo 
• Manter menor distancia possível (far) 
• Near – próximos a câmera 
• Far – distantes da câmera

Más contenido relacionado

Destacado

Captação, Edição e Divulgação de Video Escolar
Captação, Edição e Divulgação de Video EscolarCaptação, Edição e Divulgação de Video Escolar
Captação, Edição e Divulgação de Video EscolarFabio Rogerio Nepomuceno
 
Formatos de áudio e vídeo
Formatos de áudio e vídeoFormatos de áudio e vídeo
Formatos de áudio e vídeokamylaoliveira15
 
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...Jean Rodrigo Dalbon Cunha
 
Introdução à Projeção de cameras
Introdução à Projeção de camerasIntrodução à Projeção de cameras
Introdução à Projeção de camerasLeonardo Pereira
 
Correspondência oficial e pessoal
Correspondência oficial e pessoalCorrespondência oficial e pessoal
Correspondência oficial e pessoalvinivs
 
Slide share curso_edit_video+premiere_pro
Slide share curso_edit_video+premiere_proSlide share curso_edit_video+premiere_pro
Slide share curso_edit_video+premiere_proFernando Magaldi
 
Apostila redação oficial
Apostila redação oficialApostila redação oficial
Apostila redação oficialJeferson S. J.
 
Uma introdução ao multimédia: conceitos básicos
Uma introdução ao multimédia: conceitos básicosUma introdução ao multimédia: conceitos básicos
Uma introdução ao multimédia: conceitos básicosLuis Borges Gouveia
 
Gestão da Criatividade e Inovação
Gestão da Criatividade e InovaçãoGestão da Criatividade e Inovação
Gestão da Criatividade e InovaçãoRoberto Moschetta
 
Investeducar - Curso finanças pessoais - como organizar sua vida financeira
Investeducar - Curso finanças pessoais - como organizar sua vida financeiraInvesteducar - Curso finanças pessoais - como organizar sua vida financeira
Investeducar - Curso finanças pessoais - como organizar sua vida financeirainvesteducar Educacao Financeira
 
Técnicas para geração de ideias
Técnicas para geração de ideiasTécnicas para geração de ideias
Técnicas para geração de ideiasJosé Henrique Lopes
 
Mapeamento e Modelagem de Processos de Negócio com BPMN
Mapeamento e Modelagem de Processos de Negócio com BPMNMapeamento e Modelagem de Processos de Negócio com BPMN
Mapeamento e Modelagem de Processos de Negócio com BPMNRildo (@rildosan) Santos
 

Destacado (17)

Captação, Edição e Divulgação de Video Escolar
Captação, Edição e Divulgação de Video EscolarCaptação, Edição e Divulgação de Video Escolar
Captação, Edição e Divulgação de Video Escolar
 
Formatos de áudio e vídeo
Formatos de áudio e vídeoFormatos de áudio e vídeo
Formatos de áudio e vídeo
 
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...
Apresentação TCC - Engenharia com Habilitação da Computação, Monitoramento de...
 
Introdução à Projeção de cameras
Introdução à Projeção de camerasIntrodução à Projeção de cameras
Introdução à Projeção de cameras
 
Curso de Fotografia da VPR
Curso de Fotografia da VPRCurso de Fotografia da VPR
Curso de Fotografia da VPR
 
Correspondência oficial e pessoal
Correspondência oficial e pessoalCorrespondência oficial e pessoal
Correspondência oficial e pessoal
 
Cameras Video Digital
Cameras Video DigitalCameras Video Digital
Cameras Video Digital
 
Slide share curso_edit_video+premiere_pro
Slide share curso_edit_video+premiere_proSlide share curso_edit_video+premiere_pro
Slide share curso_edit_video+premiere_pro
 
Apostila redação oficial
Apostila redação oficialApostila redação oficial
Apostila redação oficial
 
Uma introdução ao multimédia: conceitos básicos
Uma introdução ao multimédia: conceitos básicosUma introdução ao multimédia: conceitos básicos
Uma introdução ao multimédia: conceitos básicos
 
Como criar um mapa de processos da sua empresa
Como criar um mapa de processos da sua empresaComo criar um mapa de processos da sua empresa
Como criar um mapa de processos da sua empresa
 
Gestão da Criatividade e Inovação
Gestão da Criatividade e InovaçãoGestão da Criatividade e Inovação
Gestão da Criatividade e Inovação
 
Investeducar - Curso finanças pessoais - como organizar sua vida financeira
Investeducar - Curso finanças pessoais - como organizar sua vida financeiraInvesteducar - Curso finanças pessoais - como organizar sua vida financeira
Investeducar - Curso finanças pessoais - como organizar sua vida financeira
 
Mapeamento de Processos
Mapeamento de ProcessosMapeamento de Processos
Mapeamento de Processos
 
Técnicas para geração de ideias
Técnicas para geração de ideiasTécnicas para geração de ideias
Técnicas para geração de ideias
 
Mapeamento e Modelagem de Processos de Negócio com BPMN
Mapeamento e Modelagem de Processos de Negócio com BPMNMapeamento e Modelagem de Processos de Negócio com BPMN
Mapeamento e Modelagem de Processos de Negócio com BPMN
 
Gestão por Processo
Gestão por ProcessoGestão por Processo
Gestão por Processo
 

Similar a Aula cameras

Similar a Aula cameras (8)

Aula disparos
Aula disparosAula disparos
Aula disparos
 
Aula disparos
Aula disparosAula disparos
Aula disparos
 
Aula anima1
Aula anima1Aula anima1
Aula anima1
 
Aula1 intro
Aula1  introAula1  intro
Aula1 intro
 
Sessao 5 - Formação Unity
Sessao 5 - Formação UnitySessao 5 - Formação Unity
Sessao 5 - Formação Unity
 
Unity Sessão 7
Unity  Sessão 7Unity  Sessão 7
Unity Sessão 7
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
 
Aula anima-modelos
Aula anima-modelosAula anima-modelos
Aula anima-modelos
 

Más de Marcos Batista (17)

Aula terrain
Aula terrainAula terrain
Aula terrain
 
Aula som
Aula somAula som
Aula som
 
Aula sky
Aula skyAula sky
Aula sky
 
Aula particulas
Aula particulasAula particulas
Aula particulas
 
Aula modelos
Aula modelosAula modelos
Aula modelos
 
Aula menus
Aula menusAula menus
Aula menus
 
Aula maps
Aula mapsAula maps
Aula maps
 
Aula ia2
Aula ia2Aula ia2
Aula ia2
 
Aula gui
Aula guiAula gui
Aula gui
 
Aula9 material
Aula9 materialAula9 material
Aula9 material
 
Aula8 instancias
Aula8 instanciasAula8 instancias
Aula8 instancias
 
Aula7 velocidade
Aula7 velocidadeAula7 velocidade
Aula7 velocidade
 
Aula6 colisao2
Aula6 colisao2Aula6 colisao2
Aula6 colisao2
 
Aula5 colisao1
Aula5 colisao1Aula5 colisao1
Aula5 colisao1
 
Aula4 debug
Aula4   debugAula4   debug
Aula4 debug
 
Aula3 input
Aula3   inputAula3   input
Aula3 input
 
Aula2 intro2
Aula2   intro2Aula2   intro2
Aula2 intro2
 

Último

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 

Último (20)

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 

Aula cameras

  • 1. Projeto de jogos RAD: Câmeras Augusto Bülow
  • 2. Unity3D • Câmera = nossos olhos no game • Game: Mostra o que a câmera aponta • Câmeras variadas = tipo de jogo • 1a pessoa, 3a pessoa, fixa, top / side view • Entender câmera como objeto 3D • Posição : onde está no mundo • Ângulo : para onde aponta (o que focaliza)
  • 3. Unity3D • Em todos os momentos do jogo • Câmera em uma posição (X,Y,Z) • Câmera com uma rotação (X,Y,Z) • resultado = cena do jogo • Câmera mostra a ação do jogo • Câmera essencial gameplay *
  • 4. Unity3D • Câmeras prontas : Unity • Standard Assets -> Camera Scripts • Mouse Look: • movimento mouse = ângulos da câmera • Limites básicos de ângulos • Normal 1a pessoa
  • 5. Unity3D • Código básico para Mouse Look function Update () { forca_angulo.y = Input.GetAxis("Mouse X"); forca_angulo.x = -Input.GetAxis("Mouse Y"); forca_angulo.z = 0; //adiciono a forca aos angulos atuais da camera angulo_camera += forca_angulo; //limites nos angulo_camera angulo_camera.x = Mathf.Clamp(angulo_camera.x, -30, 30); //rotar a camera diretamente - uso eulerAngles facilita a rot transform.eulerAngles = angulo_camera; }
  • 6. Unity3D • Smooth Look at • Olhando para o player (alvo) • Fazer apontar para posição do foco • Saber posição do alvo • Ajustar ângulos para visualizar alvo • + Separar modos de câmera = var
  • 7. Unity3D • Código para Smooth Look at var foco : Transform; function Update () { if (Input.GetKeyDown("1")) { modo_camera = 1; } if (Input.GetKeyDown("2")) { modo_camera = 2; } if (modo_camera == 2) { transform.LookAt(foco); }
  • 8. Unity3D • Câmera em posição fixa, olhando o alvo var foco : Transform; function Update () { if (Input.GetKeyDown(“3")) { modo_camera = 3; } if (modo_camera == 3) { transform.position.x = 0; transform.position.y = 10; transform.position.x = 2; transform.LookAt(foco); }
  • 9. Unity3D • Câmera em posição fixa, com ângulo fixo • Top View / Side View • Planejar e setar posição e ângulos (fixos) function Update () { if (Input.GetKeyDown(“4")) { modo_camera = 4; } if (modo_camera == 4) { transform.position.x = 0; transform.position.y = 20; transform.position.z = -20; transform.eulerAngles(30, 0, 0); }
  • 10. Unity3D • Adicionalmente câmera pode ser Ortográfica (sem perspectiva) • Específica para algumas visões / jogos if (modo_camera == 4) { transform.position.x = 0; transform.position.y = 20; transform.position.z = -20; transform.eulerAngles = Vector3(30, 0, 0); camera.orthographic = enabled; camera.orthographicSize = 10; }
  • 11. Unity3D • Câmera 1a Pessoa • Segue posição do player • Segue rotação do player • + ângulos adicionais : Mouse Look • Não movem o player – apenas a câmera • Altura adicional + posição dos olhos
  • 12. Unity3D • Camera 1a Pessoa : Código Básico var jogador : Transform; var altura_olhos = 0.5; if (modo_camera == 5) { transform.position = jogador.position; transform.position.y += altura_olhos; transform.rotation = jogador.rotation; }
  • 13. Unity3D • Camera 1a Pessoa : Código Básico + Ângulo adicional (cima / baixo) if (modo_camera == 5) { transform.position = jogador.position; transform.position.y += altura_olhos; //rotação basica X inclinação (TILT) move mouse aux_x += -Input.GetAxis("Mouse Y"); angulo_camera.x = jogador.rotation.x + aux_x; angulo_camera.y = jogador.eulerAngles.y; angulo_camera.z = jogador.eulerAngles.z; transform.eulerAngles = angulo_camera; }
  • 14. Unity3D • Câmera 3a pessoa, seguir em posição relativa ao player • Atrás, X distancia • Acima, Y distancia • + Olhar para o player • Calcular posição relativa • Em relação ao ângulo do player • Trigonometria
  • 15. Unity3D • Posição relativa (em relação ao ângulo) • Trigonometria básica (Seno e Coseno) • Classe Mathf. • Sin e Cos = usam medidas em RAD • Converter Rad em Degrees • Rad = ângulo * Mathf.Deg2Rad; • Grau = ângulo * Mathf.Rad2Deg;
  • 16. Unity3D var dist_segue = -2; var altura_segue = 2; if (modo_camera == 6) { var angulo = jogador.eulerAngles.y * Mathf.Deg2Rad; transform.position.x = jogador.position.x + dist_segue * Mathf.Sin(angulo); transform.position.y = jogador.position.y + altura_segue; transform.position.z = jogador.position.z + dist_segue * Mathf.Cos(angulo); transform.LookAt(jogador); }
  • 17. Unity3D • Orbitar player = posição relativa (ao ângulo) + ângulo adicional variável • Câmera Estilo Matrix if (modo_camera == 7) { angulo_matrix += 1; transform.position.x = jogador.position.x + dist_segue * Mathf.Sin(angulo_matrix * Mathf.Deg2Rad); transform.position.y = jogador.position.y + altura_segue; transform.position.z = jogador.position.z + dist_segue * Mathf.Cos(angulo_matrix * Mathf.Deg2Rad); transform.LookAt(jogador); }
  • 18. Unity3D • Field of View (FOV) campo de visão • Abertura da lente (Câmera) • Funciona como • Zoom (sniper, binóculo...) • Perspectiva maior (distância e velocidade) if (Input.GetKey("i")) { camera.fieldOfView += 5 * Time.deltaTime; } if (Input.GetKey("o")) { camera.fieldOfView -= 5 * Time.deltaTime; }
  • 19. Unity3D • Render Port (view) • Definição de tamanho • Definição de posição na tela • Valores de 0..1 (porcentagem da tela) • Exemplo:
  • 20. Unity3D • Possibilidade de inserir mais câmeras de jogo (independentes) • Cada câmera com suas definições de tamanho e posição • Cada câmera com sua posição e ângulos
  • 21. Unity3D • Definição de Corte (Clip) • Distancia da camera objetos não são renderizados • Próximos e distantes • = performance • + necessidade de distancia por cenário e tipo de jogo • Manter menor distancia possível (far) • Near – próximos a câmera • Far – distantes da câmera