Buscar

Sobre Unreal Engine e Arte 3D para Jogos (Slides)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CONTEÚDO DA 
DISCIPLINA
Termos Técnicos
Bake: Queimar informações do High Poly para o Low Poly, só é possível funcionar se o modelo low poly estiver com a malha aberta.
Mapeamento UV: Geralmente usado em produções de jogos e filmes. O modelo 3D para receber a textura, precisar ter uma abertura de malha, sendo ela funcional. Há diversos softwares para abrir a malha. Blender, Maya, 3Ds Max, UV Rizom, além dos plugins destes softwares.
LOD: Modelo com diversos níveis de detalhe. Muito comum para deixar cenas mais leves, imagine um objeto como uma árvore, se ela estiver distante não precisar ver minimamente os detalhes como os veios da madeira, então é reduzido a quantidade de polígonos e até da resolução da textura. Quando o jogador se aproxima da árvore, ela vai surgindo com mais detalhes, aumentando a quantidade de polígonos e da resolução de sua textura, ou seja, recebendo mais pixel, quanto mais pixels mais informação.
High Poly: Modelo 3D com uma densidade enorme de polígonos, utilizado quando está modelando um prop e/ou personagem. Esse arquivo servirá para criar o bake, informando acima.
Low Poly: Modelo 3D com poucos polígonos e com uma boa topologia para que seja utilizado em animação. Usado dentro dos jogos até mesmo das atuais cutscenes.
Termos Técnicos
Cutscene: Cena para contar melhor a narrativa do jogo. Atualmente está sendo mais usado as cutscenes com o modelo original do game, otimizando mais o tempo da produção. Diferente das cinematics que são grandes produções com um grande realismo.
Cinematic: Cinematic foi usado por muitos anos para abertura de games, mostrando o melhor gráfico possível das cenas de jogos e os personagens. Hoje em dia, ela é aplicada mais para vender o produto (jogo).
Compilar: É completar todas as informações que foram adicionadas ao projeto, como luz, sombra e objetos para ao final ser visualizado, conforme você configurou o projeto. Na Unreal, por exemplo, selecione um objeto do Third Person e mova, perceberá que a sombra do objeto ainda consta no chão, você precisa compilar para que a engine atualize a informação e tire a sombra.
GUI: Interface, Menu e ícones do jogo. 
Engine: Motor gráfico para desenvolver jogos, segue alguns nomes de engines – Unreal Engine, Unity, Cry Engine.
Game Design
Game Design: Trata-se do profissional que está focado na criação do jogo. Sendo então a figura que fica por trás dos projetos que darão vida ao jogo. Não é necessariamente quem produz, mas sim quem cria todo o conceito e dinâmicas do jogo. Profissional que elabora o jogo por inteiro. O trabalho pode ser realizado individualmente ou com uma equipe, tudo depende do tamanho do jogo e da verba.
É essencial, se você tem interesse em trabalhar com desenvolvimento de jogos ou produção saiba que precisará de pelo menos um Game Designer. É uma função necessária em estúdios de jogos. O profissional também pode trabalhar como freelancer, cobrando por projetos. Há também espaço em agências de publicidade, por exemplo, onde se tem um foco em gamificação.
O principal foco do Game Designer é pensar no jogo. Seu Storyline, o visual, como se comunica e interage com o jogador. Elaborar a experiência completa do gamer com o título e toda a mecânica do jogo, além do seu balanceamento.
Podemos dizer que ele deve estar com três pilares na cabeça: o jogador, a comunicação e o appeal do jogo. Tudo isso objetivando a experiência do público final e em como ele vai interagir e levar o game. Praticamente tudo do game deve ter um propósito e motivo para estar daquele jeito. E o Game Designer é a pessoa que pensa em todos esses propósitos e motivos, amarrando as ideias para não ter ponta solta.
 
Unreal Engine x Unity x Cryengine e Engines próprias
Unreal Engine: é um motor de jogo desenvolvido pela Epic Games, usado pela primeira vez em 1998 no jogo de tiro em primeira pessoa Unreal, ele tem sido a base de muitos jogos desde então.
Link para download: https://www.unrealengine.com/pt-BR
Unity: A Unity oferece aos usuários a capacidade de criar jogos em 2D e 3D, suportando as seguintes APIs: Direct3D no Windows e Xbox 360; OpenGL no MacOS,e Linux; OpenGL ES no Android e iOS; WebGL na Internet.[6] A Unity usa o MonoDevelop para a criação dos scripts,[7] podendo os programadores usar UnityScript (uma linguagem com sintaxe inspirada pelo ECMAScript, conhecido como JavaScript),[8] C#, ou Boo (que tem uma sintaxe inspirada no Python), Em 2015 a Unity removeu o suporte a linguagem Boo, em 2017 a Unity anunciou que iria encerrar o suporte da linguagem UnityScript,[9] que estava junto do motor (Engine) desde sua criação.
Link para download: https://unity.com/
Cry Engine: CryEngine é uma engine de jogo usada no jogo de tiro em primeira pessoa Far Cry. A engine foi originalmente desenvolvida pela Crytek como uma demo tecnológica para a Nvidia, mas quando a companhia viu seu potencial, a transformou em um jogo.
Link para download: https://www.cryengine.com/
TIPOS DE PROTOTIPAGEM
A técnica de prototipação difere com o nível de fidelidade que se deseja alcançar com aquele protótipo. Se o intuito é apenas testar a usabilidade, disposição de itens na tela Mockups, wireframes seriam uma maneira rápida e fácil de validação. Legos, maquetes é uma técnica de prototipagem utilizada para testar a gameplay, apresentar o conceito do jogo para membros da equipe ou até mesmo investidores. A prototipação utilizando software, que geralmente são feitas em alguma game enginer, é utilizada quando se precisa ter algo mais fiel ao produto final ou para teste em funcionalidades especificas.
Quando comparada o método de prototipação de um game com o de um software tradicional percebe-se muitas semelhanças, em ambos os casos é uma maneira de consegui enxergar o produto final , descobrir novos requisitos e melhorar a usabilidade do sistema.
A principal diferença da prototipação em software tradicional e um game seriam as ferramentas e técnicas utilizadas. Enquanto para um software tradicional você irá utilizar muitos wireframes, programas de prototipação, como exemplo o Figma para testar a experiencia do usuário etc. Em um jogo, você utilizara de métodos mais “artesanais” como maquetes e papeis para testar os mesmos fatores.
TIPOS DE PROTOTIPAGEM
Prototipagem rápida: desenvolve novos projetos de uma maneira simples, avalia o protótipo, descarta o que não é interessante para produzir outro projeto e novo protótipo;
Prototipagem reutilizável: parte do protótipo pode ser reutilizada para o projeto final. Logo, o esforço de criar o protótipo não é descartado;
Prototipagem modular: novas partes vão sendo acrescidas de acordo com o ciclo de desenvolvimento do jogo;
Prototipagem horizontal: demonstra várias propriedades do produto sem que realmente funcionem. Bastante usado em interfaces ,com a finalidade de verificar disposição das informações;
Prototipagem vertical: foco em apenas uma funcionalidade, mas ela funciona como deveria. Por exemplo, ter só a mecânica de salto do personagem implementado do game;
Prototipagem de baixa fidelidade: é um teste de baixo custo, implementado usando papel e caneta, imitando a funcionalidade do produto.
Prototipagem de alta fidelidade: ele se parece ao máximo com o produto final em todas as características.
Link: Link: https://49educacao.com.br/mvp/prototipacao/
BSP X STATIC MESHS
BSP (Binary Space Partitioning: Utilizados para criar formas de geometrias básicas na Unreal, muito útil para blocar o seu cenário e o level design. Ela durante a execução do game, consome muita memória do que as static meshs, por isso, ela só deverá ser usar para a blocagem. Dica: Utilize para criar o protótipo do seu jogo, você também pode manipular as geometrias. 
STATIC MESHS: Pode ser modeladas em softwares externos, como blender, 3ds Max, Maya. Você cria a topologia e importa, criando assim uma malha mais leve.
O BSP, pode ser convertido para Static Mesh, sendo uma malha com muito menos consumo de memória.
MATERIAIS DA UNREAL
Recurso para criar um shader, criando assim uma aparência de todo tipo de materialpara uma peça 3D. Podendo criar materiais como plástico, metal, cromado, madeira e aplicar em uma ou diversas modelagens 3D.
Além disso, pode criar e editar as cores, incluir texturas e materiais especias para criar um shader muito específicos.
Texturas como: Base Color, Metallic, Rougness, Opacity, Normal Map e dentre outros.
Iluminação
Static Light Mode: praticamente sem limites; você pode colocar quantos quiser, eles não afetarão o desempenho do jogo - eles afetarão apenas os tempos de renderização, o que é aceitável, pois isso é feito durante o desenvolvimento de melhores luzes a serem usadas para obter o melhor desempenho e taxa de quadros do seu jogo (portanto, se você deseja um multijogador online de 60 FPS, as luzes estáticas serão a melhor opção) muito pouco para gerenciar (ou seja, sem limite de sobreposição de ângulos de cone, sem estresse sobre ter muitos deles projetando sombras dentro da linha de visão do jogador) não precisa se preocupar com ressalvas técnicas, então um artista júnior sem se preocupar em destruir todo o nível porque há 1.000 luzes dinâmicas em um corredor. 
Stationary Light Mode: São ótimas luzes porque projetam mapas de sombra dinâmicos na cena, eles podem ser equipados com funções de materiais e perfis de luz IES. estes são efeitos especiais que podem adicionar muita profundidade artística e realismo à sua cena como eles são dinâmicos, você pode alterar seus parâmetros visuais em tempo de execução (ou seja, você pode alterar sua cor e intensidade) uma vez que não são apenas dinâmicos, eles podem lançar iluminação indireta, ou seja, iluminação global como uma luz estática, dando a eles o melhor dos dois mundos, mais “barata” de renderizar do que luzes fracamente dinâmicas, tornando-as melhores para uso para desempenho. Contras: não podem ser movidos em tempo de execução como luzes totalmente dinâmicas; você não pode movê-los ou girá-los ou seja, você não pode ter mais de 4 luzes estacionárias sobrepostas e tocar a mesma malha, se o fizer, o mecanismo automaticamente pegará as luzes ofensivas e as converterá em luzes totalmente dinâmicas - matando seu desempenho. Muito mais caro para renderizar do que luzes estáticasrequerem mais conhecimento técnico para usar do que luzes estáticas. 
Dynamic Light Mode: iluminação totalmente dinâmica; o que significa que você pode fazer qualquer coisa no tempo de execução - mover, girar, mudar de cor, intensidade, raio, etc. Isso os torna perfeitos para usar como lanterna de um jogador em um jogo de terror, criar sombras dinâmicas. Pode usar funções materiais. A visualização que você vê no editor é a aparência da iluminação final, sem necessidade de compilar, e obter resultados diferentes, com luzes estáticas não.
Orientação de objetos – Classe, Objeto, Herança e Cast To
Classe: As classes são projetos de um objeto com características e comportamentos, blueprint é uma classe. Quando criamos uma nova blueprint, estamos criando uma classe, que é uma espécie de modelo que define as características e comportamento dos objetos que são criados a partir desta classe. Essa classe quando arrastada para a viewport na Unreal se torna um objeto e ela pode ser arrastada diversas vezes, se tornando uma instancia deste objeto. Classes são como plantas baixas ou protótipos, a partir das quais, os objetos são criados.
Objeto: Um objeto é uma instancia de uma classe. Por exemplo, existe apenas uma classe “Actor” mas um nível possui diversos atores. Cada um desses atores é uma instancia da classe “Actor”. Cada objeto possui o seu próprio conjunto de variáveis baseado na classe de origem mas com valores independente em relação aos outros objetos.
Classe e seus objetos: Uma classe é como um “molde” que gera instancias de um certo tipo. Um objeto é algo que existe fisicamente e que foi “Moldado” na classe. Instanciar significa criar.
Herança: O reuso “reutilização, é uma das grandes vantagens da programação orientada a objetos. Muito disso se dá por uma questão que é conhecida como herança. Quando um novo blueprin é criado, é preciso definir qual é a classe Pai. Todas as variáveis e ações da classe Pai farão parte da classe filha, que também é conhecia como subclasse. Este conceito é chamado de herança. A herança permite criar uma nova classe a partir de uma já existente. Esta nova classe é chamada de subclasse pai e irá conter o conteúdo herdado de sua classe Pai.
Casto To: Ao usar um node Cast, coloque simplesmente, você está perguntando ao objeto “você é uma versão especial desse objeto” e, se assim for, permita-me acessá-lo, se não, desconsidere minha solicitação. 
TIPOS DE CLASSES
Actor: É uma classe genérica que suporta transformações em 3D, como movimentação, rotação e escala. Podem ser criadas (Spawn) ou Destruídos (Destroy), através de nodes dessas opções.
Pawn: Subclasse da classe Actor, qualquer coisa pode ser controlada. Pode ser um veículo, um personagem, animal. A classe “Pawn” representa os atores que podem ser controlados pelos jogadores ou pela inteligência artificial.
Character: A classe Character (personagem) é uma subclasse de Pawn. Logo a classe Character é também um Pawn. É um tipo especial de Pan que tem a capacidade de se movimentar (correr, andar, nadar, voar, pular). Configurada para criar personagens na vertical.
CapsuleComponent: é usado para testes de colisão. O “ArrowComponet” indica a direção atual do “Character”. O componente Mesh é a representação visual do “Character”, é do tipo “Skeletal Mesh” e pode ser controlado por uma Animation Blueprint. O componente “CharacterMovement” possui um grande número de propriedades para definir divesos tipos de movimentações do “Character” tais como andar, correr, pular, voar e nadar.
Game Mode: Classe que define as regras do seu jogo. (GameModeBase) qual o personagem padrão a ser carregado ao executar seu game. Um jogo possui uma base de regras, e essas regras compõem um modo de jogo (Game Mode). Ex: se o jogo pode ou não ser pausado, e como o jogo é pausado. O “GameMode” também especifica quais são as classes que serão utilizadas para a criação de “Pawn”, “PlayerController”, “HUD” e outras classes. Depois de criaru m blueprint do tipo GameMode é possível defini-lo como GameMode padrão para o projeto. Clique em Edit – Project Settings – Maps & Modes, Depois é só escolher no box a opção “default GameMode” o blueprint que foi criado.
Controller: Classe que contem mecanismos que controlam Pawns. Não existe representação física desta classe no jogo. Os controladores são atores não-físicos que podem possuir um Pawn (ou uma classe derivada do peão como personagem) para controlar suas ações. A classe possui duas subclasses principais. PlayerController é usada por jogadores humanos e a AiController usa inteligência artificial para controlar o “Pawn”.
TIPOS DE CLASSES
Pawn e Controller: Para cada objeto da classe “Pawn” existe um objeto da classe “Controller”. A classe “Pawn” é o corpo físico da classe “Controller”. A classe “Pawn” é o corpo físico e a classe “Controller” é o cérebro.
Character e Controller: A classe “Character” é uma subclasse da classe “Pawn”, por isso, ela também pode ser possuída por um “Controller” (PlayerController) esta classe foi criada para representar personagens que podem andar, correr, pular. PlayerController é a classe que implementa o controle de Pawns por jogadores humanos. (Input do teclado e mouse). Objetos das classes “Pawns” e Character só recebem eventos de Input se estiverem sendo controlados por um PlayerController.
AIController: é a classe que implementa e gerencia a inteligência artificial para os Pawn que eles controlam. É a classe cérebro para controlar a IA. É o computador controlando personagens, naves ou qualquer Pawn.
BLUEPRINT
Blueprint: Sistema completo de scripts de jogabilidade baseado no conceito de node (nó) e ligações programação do game sem digitar códigos. 
Animation Blueprint: É uma blueprint especializada que controla a animação de um Skeletal Mesh. 
Evento: Acontecimento, fenômeno. É algo que aconteceu em seuGame, esses eventos não retornam valores e a programação não aguarda seu término para continuar o fluxo do game.
Event Blurprint Update Animation: Executa a cada frame, se sua placa de vídeo tem 80 FPS (FRAME PER SECOND) este vento será chamado 80 vezes a cada segundo. Permitindo que a blueprint de animação realize cálculos e atualizações para quaisquer valores que ela precisa. Este evento é o ponto de entrada no loop de atualização do EventGraph da Blueprint de animação.
Delta Time: Delta Time pega 1 segundo e divide pela quantidade de FPS de sua placa. Exemplo 80 FPS delta time dará 1/80 = 0,0125s.
Funções/Function: quando se executa uma ação de programação no geral com entradas e saídas que trazem resultados instantâneos. Um conjunto de comeandos que realiza uma tarefa especifica.
Try Get Pawn Owner: Tenta obter o dono desta blueprint de animação. Retorna um objeto da classe Pawn que deverá ser especializado para o objeto do tipo de nosso jogador via Cast To.
Get Actor Rotation: Função que retorna a rotação (rotator) do RootComponent deste ator. O alvo (Target) é o ator.
Get Velocity: retorna um vetor que representa a velocidade do RootComponent do Ator em Cm/s (UU/S). Alvo (Target) é ator.
VectorLenght: Retorna o comprimento do Vetor.
Calculate Direction: Retorna o grau do ângulo entre a velocidade e o vetor de rotação para a frente. O intervalo de retorno será de [-180, 180], usado para alimentar o valor direcional em Blend Spaces.
Skeletal Mesh: Malhas esqueléticas de personagens ou outros objetos de animação, possuem duas partes: conjunto de polígonos compostos para formar a superfície da malha esquelética e um conjunto hierárquico de ossos inteligados para animar os vértices dos polígonos.
INTELIGÊNCIA ARTIFICIAL
Inteligência artificial (por vees mencionada pela sigla em português IA ou pela sigla em inglês AI – artificial inteligente, é a inteligência similar a humana exibida por mecanismos ou software.
Nav Mesh: Malha de navegação, define por onde a IA irá se mover, delimita percurso e evita que obstáculos que estejam entre o inimigo e o seu objetivo. Pinta as possíveis áreas de locomoção para que no futuro uma IA saiba por onde andar. Quando colocar, o personagem de IA se moverá em qualquer lugar dentro do volume (desde que a área seja acessível). 
Pawn Sensing: para conceder ao inimigo a capacidade de detectar o jogador, precisamos adicionar um PawnSensing.
On See Pawn: é um evento, quando o Pawn (inimigo) detectar um outro Pawn (Character) mova-se para (AI MOVE TO). No node On See Pawn, existe um item Pawn que representa o objeto Pawn detectado pelo Pawn Sensing. Assim no node AI MOVE TO o Target Actor (ator alvo) será este Pawn detectado. Detsa forma, o inimigo irá se mover em direção ao jogador. Self, representa o próprio inimigo, o objeto gerado pela instancia da classe blueprint EnemyCharacter.
AI MOVE TO: ação usada para movimentar um ator do tipo Pawn/Character. O destino pode ser uma posição ou outro ator. Necessário um “Nav Mesh Bounds Volume” no cenário para definir a área que “AI MOVE TO” pode usar. No node AI MOVE TO, teremos as opções Pawn – referencia ao Pawn/Character que será movido. Destination – vetor indicando o destino. Target Actor – referencia a um ator que será usado como destino. Acceptance Radius – distancia máxima do destino para concluir o movimento. Stop on Overlap – valor booleano, se for verdadeiro, conclui o movimento assim que o pawn começar a sobrepor o “Acceptance Radius”. On Success – pino de execução que será ativado quando e se o “AI MOVE TO” conseguir chegar no destino. On Fail – pino de execução que será ativado se não for possível chegar ao destino. Movement Result – enumeração que indica o resultado do movimento.
UNREAL MOTION GRAPHUCS (UMG)
É uma ferramenta de criação de User Interface (UI) visual que pode ser usada para criar elementos de UI, como HUD, menus ou outros gráficos relacionados a interface que você deseja apresentar aos seus usuários.
Widget: é um componente de uma interface gráfica do usuário (GUI), o que inclui janelas, botões, menus, ícones, barras de rolagem, etc.
HUD Headsd-up display: a HUD é a sigla para representação dos objetos do jogo, tais como: vida (life), força (force), health (saúde) magia (mana).
Widget Blueprint: para começar a trabalhar com UMG, primeiro precisar criar uma Widget Blueprint.
Event Beging Play: este evento é desencadeado para todos os atores quando o jogo é iniciado, qualquer ator gerado após o inicio do jogo terá esse evento chamado imediamente.
Add to Viewport: adiciona a tela do game um objeto da classe widget blueprint.

Continue navegando