O documento discute o controle total de câmeras em jogos, incluindo como câmeras capturam perspectivas do mundo, podem ser posicionadas em qualquer lugar e desenhadas em qualquer ordem, e como propriedades como projeção, planos de recorte, viewport, profundidade e caminhos de renderização afetam o que é renderizado.
2. Quem sou eu
• Desde os 15 fazendo jogos
• Quase 10 anos programando
• Na indústria desde 2009
• Diretor Técnico da Victory Island
• Professor no Vasco Coutinho (Vila Velha)
3. Camera
• Objetos que capturam uma perspectiva do
mundo
• Número ilimitado
• Desenhados em qualquer ordem
• Em qualquer lugar
5. Projection
• A perspectiva é mantida
• Pode alterar a abertura da camera: o valor é dado
em graus
• Exemplo prático da utilidade
6. Projection
• A perspectiva é mantida
• “ponto de fuga” no infinito
• Pode alterar o tamanho da camera: quanto maior,
mais objetos serão desenhados.
7. Clipping Planes
• Define a “zona” que a camera irá desenhar
• Near define o ponto mais próximo da camera que
será desenhado
• Far o mais afastado
8. Viewport
• Viewport: retangulo de “visualização”
• X,Y: posição na tela
• W,H: largura e altura, respectivamente
• São valores proporcionais, indo de 0 a 1.
• 70% da tela, portanto, o valor é 0.7
9. Profundidade
• As cameras são desenhadas por camadas
• Indica em qual camada está
• Exemplo de Utilidade prática: GUI
10. Clear Flags
• Resumidamente, o que colocar nos pixels não
desenhados
• Importante quando se tem uma camera em
cima da outra
11. Culling Mask
• Indica quais camadas serão desenhadas
• Exemplos de Utilidade prática: Minimapa, GUI
12. Render Path
• Indica como se deve desenhar na viewport
• Tem aplicação na iluminação
• Razão principal para não vermos sombras
16. Dicas
• Cameras podem ser instanciadas e acessadas por
script como qualquer gameObject
• Cameras podem ganhar um RigidBody para efeitos de
física
• Visão ortográfica é excelente para fazer interface
• Se você estiver vendo objetos próximos da camera
“flickar”, tente aumentar o Near Plane
• Unity tem muitos scripts de cameras prontos,
experimente em Components->Camera Control