Carreira Profissional em Programação de Videojogos e Realidade Virtual. Unity e Unreal Engine.
Apresentação:
Unity e Unreal Engine são dois dos motores mais utilizados na criação de videojogos, uma das principais vias de entretenimento a nível global. Com um vais criar videojogos épicos a nível gráfico e com o outro vais obter uma integração multiplataforma perfeita. Não sabes qual escolher? Então, forma-te em ambos e amplia as tuas opções de futuro.
Com a nossa Carreira vais aprender a programar do zero um videojogo com ambos os motores, e, além disso, esse trabalho será compatível com diferentes plataformas. E não apenas isso, pois também te vais familiarizar com muitos detalhes que estão incluídos no processo de criação de um videojogo, assim como com todas as opções que tens à tua disposição para tornar atrativo um videojogo sem necessidade de dominar programas complexos de design gráfico.
Objetivos:
- Aprender a desenvolver um videojogo completo em ambos os motores
- Familiarizar-se com as linguagens de programação C# y C++ e com os Blueprints
- Dominar e desenvolver o software de Realidade Virtual e de Realidade Aumentada em Unity
- Utilizar a Realidade Virtual dentro de Unreal Engine
- Otimizar os projetos para que possam ser executados sem problemas em diferentes dispositivos
- Aplicar padrões de design para que o projeto cumpra com os standards de qualidade das melhores empresas
- Conhecer as novas ferramentas e serviços de Unity 3D e Unreal Engine
Saídas profissionais:
- Programadora/a de Gameplay e Gameplay Designer
- Programador/a de aplicações de Realidade Virtual e Aumentada.
- Game Design ou responsável pelas dinámicas e mecánicas do videojogo
- Tester técnico na indústria dos videojogos
- Programador/a Freelancer num estúdio Indie
- Programador/a de Videojogos em Unreal Engine
- Programador/a de videojogos em Unity 3D
Metodologia:
Método à medida:
Os nossos cursos não têm uma data de início e de fim. Com o programa formativo 100% online de Tokio, tu decides o teu ritmo e nós acompanhamos-te. Com Tokio a aprendizagem é “feita à medida”.
Mestres digitais:
Os teus docentes são especialistas com conhecimentos reais do mercado de trabalho, que te ajudam a subir de nível nesta profissão
Tutorias personalizadas:
Os nossos assessores pedagógicos acompanham-te ao longo de toda a formação. Ajudam-te a que consigas atingir as tuas metas através de objetivos realistas. Organização e motivação para toki-sans!
Formação prática:
Questionários de autoavaliação, exames finais, exercícios, casos práticos… Learn by doing! Vais aprender fazendo. Além disso, dispões de até 300 horas de estágio profissional, em empresas de qualidade do setor.
Aulas telepresenciais:
Todos os nossos docentes transmitem as suas aulas em direto, mas se não puderes assistir a alguma, não há problema! Voltaremos a retransmitir a aula, em streaming, noutro dia da semana. Além de, a disponibilizarmos na nossa plataforma virtual.
Projeto final:
Aproxima-se o final! Para concluires a tua formação tens de demonstrar tudo o que aprendeste através de um projeto.
Línguas:
Sabemos que o nível de inglês pode ser um requisito chave na hora de conseguir uma boa oportunidade de trabalho. Por isso, ajudamos-te a preparar as certificações oficiais de Oxford e Cambridge. Este é um componente extra em todas as nossas formações, escolhas a que escolheres.
Orientação profissional:
Damos-te todas as ferramentas para que tenhas sucesso em qualquer processo de seleção.
Alertas de emprego:
Através deste serviço recebes, no teu email, ofertas de emprego relacionadas exclusivamente com a tua formação.
As tuas aulas:
Em direto
Vais poder entrar em direto nas aulas com o teu professor especialista. Nas aulas telepresenciais o professor segue o programa, coloca novas questões e adiciona informação que vai além do conteúdo teórico dos livros. No final de cada aula, podes expor as tuas dúvidas para que o professor as tire em direto.
Em streaming
Não podes assistir a alguma aula em direto? Não te preocupes! Voltaremos a retransmitir a aula, em streaming, noutro dia da semana. Além de, a disponibilizarmos na nossa plataforma virtual.
Resoluçao de dúvidas
Os mestres digitais dedicam estas aulas a solucionar as tuas dúvidas e a resolver exercícios ou casos práticos. É uma excelente oportunidade para interagir com o professor, colocar questões e aprender com as dúvidas dos restantes colegas.
Aulas complementares
Além das aulas relacionadas diretamente com a tua formação, tens aulas complementares que podes assistir em direto ou em diferido: inglês, orientação laboral, técnicas de estudo, e muito mais!
Masterclass
Podes assistir a masterclasses online de profissionais reconhecidos no setor em que colaboram com a Tokio School partilhando a sua experiência. Estas sessões são também participativas e nelas podes colocar todas as tuas questões.
Programa:
Programação de Videojogos e Realidade Virtual com Unity 3D.
Módulo 1: Primeiros passos no Unity 3D.
O que é e o que rodeia o Unity 3D?
- História do Unity
- Principais motores
- Versões do Unity
- Principais concorrentes
- Principais vantagens
O mercado de Assets
- O que são Assets?
- Asset Store
O editor do Unity 3D
- Principais painéis do Unity 3D
Cenas
- Criação de uma cena: elementos importantes
Game Objects e Components
- O que são os GameObjects?
- O que são os Components?
- Tipos de Components
Prefabs
- Uso dos prefabs
- Cromo criar prefabs
Espaço e câmaras no Unity 3D
- Espaços no Unity 3D
- Propriedades dos elementos
- Câmaras no Unity 3D
- Câmaras com perspetiva
- Câmaras ortográficas
Conceitos básicos de iluminação
- Técnicas de iluminação
O painel Lightning
- Configuração das luzes
- Propriedades
Tipos de luzes e sombras
- Tipos de luzes
- Tipos de sombras
- Configuração
Módulo 2: C# e Scripting no Unity 3D.
C# e outras linguagens de programação disponíveis no Unity
- Linguagens de programação disponíveis no Unity
- O que é C#?
O componente script
- Como criar um script no Unity?
- Funções do script
Variáveis, tipos e visualização no editor
- Propriedades das variáveis
- Declarar uma variável
- Inicializar uma variável
Arrays
- Declaração de um array
- Inicialização de um array
Funções
- Características das funções ou métodos
- Partes de uma função
- Funções com ou sem devolução
- Verificação de uma função
Estruturas de controlo
- Estrutura if/else
- Estrutura While
- Estrutura Switch
- Estrutura For
- Estrutura Foreach
Controlo de componentes e scripting
- Como alterar as propriedades dos componentes
Categoria pai Monobehaviours
- Fases do ciclo e suas funções
Gestão de GameObjects na cena mediante script
- Método Instantiate
- Método Destroy
Outros aspetos interessantes de programação na C#
- Método SetActive
- Corrotinas
Módulo 3: Físicas, Inputs e outros aspetos.
Física no Unity 3D
- Componente Rigidbody
- Componente Collider
- Character Controller
- Joints
Materiais, texturas e shaders
- O que são os materiais?
- Como criar um material?
- O que são as texturas?
- O que é um shader?
- Conservação da energia (Energy Conservation)
- Alta Gama Dinâmica (HDR)
Animation e Animator
- Mecanim
- Animations
- Keyframe
- Animator
Particle System
- O que é Particle System?
- O emission rate
- Component Particle System
Inputs
- Configuração de Inputs
- Uso de Inputs em scripts
- Inputs em dispositivos móveis
Sistema de navegação
- Utilidade do sistema de navegação
- Elementos do sistema de navegação
- Criação da área de navegação
Áudio
- Elementos dos sistemas de som no Unity
- Audio Mixer
UI e Canvas
- Rect Tool
- Rect Transform
- Pivot
- Anchors
- Canvas
- Elementos de uma interface
PlayerPrefs
- Processo de serialização?
- Métodos ou funções do PlayerPrefs
Últimas pontualizações
- OnEnable
- OnDisabla
- OnApplicationPause.
- LateUpdate
- OnDestroy
- OnApplicationQuit
- Funções ligadas a renderização
- Métodos relacionados com o mouse
- Coroutines (Corrutinas)
Módulo 4: Realidade Virtual - Realidade Aumentada - Realidade Mista.
Introdução à Realidade Virtual
- O que é Realidade Virtual?
- Componentes básicos da Realidade Virtual
Preparando o nosso projeto para VR
- Principais dispositivos de VR
- Passo a passo para preparar o projeto de VR
Câmara, movimento e interações em VR
- Posicionamento
- Ferramentas de configuração
Otimização e criação do nosso primeiro projeto
- Painel Profiler
- Geometria dos modelos 3D
- Uso de Lightmapping
- Occlusion Culling
- Texturas
- Shaders
- Quality Settings
Introdução à Realidade Aumentada
- O que é Realidade Aumentada?
- Sistemas para visualizar a Realidade Aumentada
- Âmbitos da utilização da Realidade Aumentada
Principais alternativas para o uso de AR no Unity
- Desenvolvimento e configuração de uma aplicação de AR
Preparando o nosso projeto para AR com Vuforia
- Passo a passo e configuração
Implementando a nossa primeira aplicação de AR
- Passo a passo e configuração
Introdução à Realidade Mista
- O que é Realidade Mista?
- Evolução da Realidade Mista
Preparando e implementando a Realidade Mista no Unity
- Propriedades e implementação
- Uso e funcionalidade
Módulo 5: Aspetos avançados da programação.
Introdução
- Considerações prévias
- Convenções de nomes em programação
- Idioma na hora de programar
- Tipos de erros e alertas
Introdução à Programação Orientada a Objetos (POO)
- Programação Estruturada vs Programação Orientada a Objetos
- Conceito de objeto
- Métodos construtores
- Herança
Categorias estáticas
- Definição e conceito
- Procedimentos a seguir
Constantes e enumerações
- O que são as constantes?
- O que são as enumerações?
Máquina de Estados
- O que é uma máquina de estados?
- Estrutura de uma máquina de estados
Funções matemáticas relevantes
- Categoria Math
- Variáveis e funções estáticas
Delegados
- Estrutura de um delegado
Scriptable Objects
- Definição e características
- Criação e estrutura de um Scriptable Object
Padrões de Design I
- Definições e vantagens do seu uso
- Tipos de padrões
- Padrão Singleton
Padrões de Design II
- Padrão Object Pool (Piscina de Objetos)
Módulo 6: Serviços, integração e publicação.
Audio Mixer
- Definição de Audio Mixer, uso e aplicação
Inputs avançados (telemóvel) I
- Unity Remote
- Telemóveis: Touch
Inputs avançados (telemóvel) II
- Giroscópio e acelerómetro
- Posicionamento GPS
Unity Services I
- Serviços do Unity
- Unity Ads
Unity Services II
- Unity Collaborate
- Princing com Unity Collaborate
Unity Services III
- Análise de dados em videojogos
- Unity Analytics (introdução e configuração)
- Criação de um evento a partir do Inspector do Unity
- Criação de um evento a partir de scripting
Arquitetura em jogos realizados com o Unity
- Importância da arquitetura de software nos jogos
- Namespaces
Otimização avançada
- Gráficos. Nível de detalhe (LOD)
- Gráficos. Occlussion Culling
- Físicas. Ciclos de leitura do Motor de Física
- Física. Escolha do modo de desenvolvimento
- Físicas. Raycast
- Física. Rigidbody
- Física. Capas de Colisão
- Código. Conteúdo dos loops
- Código. Uso das funções cíclicas
- Código. Piscina de Objetos
- Código. Vistoria de componentes
- Código. Uso de métodos Find…( )
- Código. Como definir funções evento
Montagem do projeto
- Build em PC e Mac
- Build em Android
- Build em iOS e consolas de jogos
Comercialização
- Portfolio
- Mercados digitais
- Publicação nos Stores
Projeto Final.
Programação de Videojogos com Unreal Engine.
Módulo 1: Primeiros passos.
O que é o Unreal Engine?
Introdução ao desenvolvimento UE4
Gestão de projetos
A interface de UE4
- Epic Launcher
- Navegação em Unreal
- Visores e janelas
- Navegação e assets
- Content Pack, Projetos e Plugins
- Templates
- Preferências, configuração e personalização
Módulo 2: Níveis.
Níveis e conteúdos
Protótipo
- BSPs
- Iluminação
- Hierarquia de níveis
- Level blueprint
- Landscape
- Foliage
- Paint
- Templates
- Câmaras
Criação de níveis
- Lanscape
- Foliage
- Carga de níveis
- Níveis procedimentais
- Blend de materiais / solos distintos
- Níveis grandes
Static Mesh
- LODs
- Escala e orientação
- Sockets
- Instanced Meshes
Colisões
- Overlap / Hit
- Trace / Object Collision
- Collision object type
- Simple Collision e Complex collision
- Collision blueprint
- Collision boxes, convex e Importação
Físicas
- Movimento e gravidade
- Força e Impulso
- Physical material
- Controlo de velocidade
- Ragdoll
Módulo 3: A estética do videojogo.
Texturas e UVs
- Imagens em Unreal (Texturas, UI…)
- Formatos e tamanhos de texturas
- Correção e adaptação de texturas
- Otimização
- Multiplexagem
- Utilização de texturas
Materiais e UV
- Materiais PBR
- Materiais básicos
- Materiais avançados
- Materiais não fotorrealistas
- Instâncias de materiais
- Parameter Collection
- Materiais procedimentais/ruído
- Decals
- Materiais em Blueprints
- Material functions
- Normal, Oclussion, Parallax…
- Video, render, texture
- Otimização
Efeitos e partículas
- Tipos de partículas
- Emissores de partículas vs sistemas de partículas
- Criação de sistemas de partículas: explosão, fogo…
- Controlo de blueprints
- Marcas
- Visão noturna e de lanterna
A iluminação
- Tipos de luzes
- Luzes estáticas e dinâmicas
- Skyphere
- Reflexos
- Importance volume
- Postprocess
- Iluminação interior e exterior
- Iluminação em tempo real vs interação em tempo real
- Dia e noite
- Lighting levels
- Ambient cubemaps
- Lightmass
- Otimização
O som
- Espacialização: som 2D e 3D
- Assets e nós de som
- Obtenção e modificação de ficheiros áudio
- Formatos de som válidos
- Efeitos
- Sonorização: fade, echo, reverb…
- Música e som ambiente
- Controlo de volume
- Galeria de sons
- Zonas de som
- Oclusão de som
- Diálogos
Sequencer
- Câmaras
- Spawning e Possessable
- Animação
- Cinemática
- Path
- Controlo de parâmetros
- Captura cinemática
Infoarquitetura
- Importação de assets
- Iluminação interior, exterior e IES
- Passeio
- Interação de objetos
- VR
- Câmara e Sequencer
Módulo 4: Programação C++ e Blueprints.
Introdução
- Fluxo de execução
- Dados
- Nós mais utilizados
- Debugeo
- Linetrace
- Timeline
- Event dispatcher
- Blueprint vs C++
Conhecer os blueprints
- Level blueprint
- Blueprints e static mesh
- Variáveis, funções e macros
- Instância e classe
- Casting
- Tipos de variáveis: simple, array, set, maps…
- Construction script
- Eventos e custom events
- Componentes
- Splines, path…
- Hierarquia
- Comunicação entre blueprints
- Padrões: factory, observer…
- Modificação de Uvs por blueprint
O Movimento
- Local, global e relativo
- Hierarquia
- Controlos
- Movimento relativamente à câmara
- Velocidade e Delta seconds
- Movimentos não lineares
- Vetores e transformações
- Interpolação
Iniciação à programação em C++
Módulo 5: Gameplay.
O Modo de jogo
- Gamemode
- Pawn
- Character e movement
- Controller e Player
- GameInstance e PlayerInstance
- Multiplayer
Gameplay
- Controlo de câmaras
- Power ups, efeitos…
- Controlo de danos
- Interação: rato drag and drop
- Níveis de dificuldade, ajudas de jogo…
- Personalização
A animação
- Skeletal Mesh vs Static Mesh
- Importação de animações
- Animation Blueprint e Animation Graph
- Blend, Montage, Offset…
- Retargeting
- Mixano
- Anim notifies
A Inteligência Artificial (IA)
- Comportamentos: perseguir, fugir, bater…
- Pawn sensing
- Navegation mesh
- Boss
- Behaviour Tree
- Parametrização
Menu e Interfaces
- Menus
- Gestão de menus e switch
- Pausa
- Status de jogador
- Marcador e tempos
- Radar e dados de objetos
- Fonts
- Carga de níveis, inventário…
Módulo 6: Realidade Virtual.
Hardware: Vive vs Oculus
Instalação e configuração
Dentro do Unreal
- Modelo de Unreal
- Posicionamento, orientação e escala
- Comandos
- Interação de objetos
- Interfaces de Realidade Virtual
- Teleport
- Realidade Virtual para o telemóvel
- Foward Rendering em Realidade Virtual
- Otimização
Módulo 7: Últimos passos.
Otimização e limpeza do projeto
Desenvolvimento móvel
Compilação e Depuração
Distribuição
Publicação
Projeto Final.