Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Tópicos Especiais I: Engines Introdução ao
Bruno C. de Paula Tópicos Especiais I: Engines Introdução ao 1º Semestre 2010 > PUCPR > Pós Jogos
2
Resumo Vamos conhecer a engine Unity 3D
Focaremos nas principais ferramentas e recursos que o Unity disponibiliza Nas próximas aulas nos preocuparemos com o scripting destes recursos Ou seja: hoje vamos trabalhar com restrições!
3
O que é o Unity? 23/03/2017 Unity é um ambiente multiplataforma de desenvolvimento de jogos; Suporte a: Windows / MacOS / Web / Wii / iPhone.
4
Características do Unity Editor de Níveis
23/03/2017 Fortemente integrado com a execução do jogo;
5
Características do Unity Editor de Níveis
23/03/2017 Suporte a Drag & Drop e customização;
6
Características do Unity Editor de Níveis
23/03/2017 Editor de terrenos e lightmaps;
7
Características do Unity Gráficos
23/03/2017 Suporte a Direct3D 9 e OpenGL;
8
Características do Unity Importação
23/03/2017 Importação de modelos, texturas, bones e animações de Maya, 3DS, Cheetah 3D, Blender, Wavefront obj... Heightmaps, Fontes, audio.
9
23/03/2017
10
Características do Unity Shaders
23/03/2017 Efeitos de Glow, Blur, Noise, etc
11
Características do Unity Física / PhysX
23/03/2017 Suporte a corpos rígidos; Junções; Ragdolls; Wheel Collider para jogos de carro;
12
Características do Unity Scripting
23/03/2017 Linguagens de Scripting: JavaScript (muuuito rápido!); C# (Mono); Boo (similar a Python).
13
23/03/2017 Vamos para a prática!
14
Cena Inspetor Projeto Jogo
Interface básica 23/03/2017 Hierarquia Cena Inspetor Projeto Jogo
15
Interface básica Scene View (Cena): editor de níveis;
23/03/2017 Scene View (Cena): editor de níveis; Project View (Projeto): arquivos do projeto; Hierarchy View (Hierarquia): objetos que estão na cena e sua relação; Game View (Jogo): Visualização da aplicação sendo executada; Inspector View (Inspetor): Acesso aos componentes dos objetos;
16
Navegação na Scene View
23/03/2017 Principais Atalhos: Q, W, E, R; ALT + mouse; Leitura altamente recomendada:
17
Assets Arquivos do Projeto;
18
Game Objects Elementos de um jogo; Arquitetura baseada em composição;
23/03/2017 Elementos de um jogo; Arquitetura baseada em composição; Objeto de jogo é especificado através da composição de várias funcionalidades (COMPONENTES); Todo game object já nasce com um componente transform; Cada GameObject é um repositório de componentes.
19
Componente Transform 23/03/2017 Posicionamento (x, y, z) [W], rotação (ângulo) [E] e escala [R];
20
Local Space e World Space
23/03/2017 X, Y e Z são em relação ao elemento pai; Fonte da Imagem: Unity Game Development Essentials, p. 10
21
Game Objects disponíveis
23/03/2017
22
Tipos de Game Object Cube, Sphere, Capsule, Cylinder, Plane
Cubo, esfera, cápsula, cilíndro e plano; Cada um está associado a um componente Mesh Filter com aspecto diferente; Colide com outros corpos por padrão;
23
Tipos de Game Object Luzes
Point light: Luz proveniente de um ponto; Luz com localização específica; Espalha a partir do ponto; Spotlight: Vem de um ponto; Localização específica; Gera cone de luz;
24
Tipos de Game Object Luzes
Directional Light: Vem de uma direção; Não tem localização específica; Luz paralela; Mais forte nas áreas quadradas; Mais fraco nas angulações; Sol;
25
Tipos de Game Object Camera
23/03/2017 Capturam e mostram o mundo ao jogador; Fonte da imagem:
26
Tipos de Game Object GUI Text e GUI Texture
Texto e Imagens em 2D; Útil para criação da HUD;
27
Tipos de Game Object Particle System
23/03/2017 Sistema de Partículas, formado por: Emissor, animador e renderizador;
28
Tipos de Game Object Ragdoll
* Simulação no estilo “boneco de pano”; Útil para “representação de mortos”; Ver video:
29
Componentes Podem ser associados a Game Objects; Definem:
Comportamento; Aparência; Podem ser scripts; Vamos analisar alguns.
30
Tipos de Componentes Mesh
Cada modelo é formado por polígonos; Um conjunto de polígonos associados é uma mesh; Mesh Filter: pega uma malha dos Assets e passa ao renderizador; Mesh Renderer: Renderiza uma malha a partir de um material; Você pode gerar um mesh em programas como 3DMax, Blender, Maya, etc. O Unity trabalha com os formatos FBX, 3DS, OBJ...; Meshs podem ser animadas via script;
31
Exemplo de Mesh (em destaque)
32
Sites com modelos gratuitos
* O site do Unity: Recursos Tutoriais: Jogo de carro, Plataforma 3D, Plataforma 2D, FPS, Animação. Projetos Exemplo: FPS, Customização de Personagens ...
33
Tipos de componentes Física
Baseado no engine de física PhysX (Nvidia); Rigidbody: Objeto que age sobre o controle da física; Constant Force: força constante; Colliders: Geometrias básicas de colisão; Box, Sphere, Capsule, Mesh, Wheel (roda), Raycast; Joints: Junções; Restrições no grau de liberdade;
34
Tipos de componentes Hinge Joint
Simulação de dobradiça;
35
Tipos de componentes Spring Joint
Simulação de mola; Distância máxima de separação e retorno à posição original;
36
Tipos de componentes Fixed Joint
* Conexão entre 2 corpos; Similar à hierarquia de transformação; Útil quando os corpos podem ser desconectados durante a simulação;
37
Scripts JavaScript, C# e Boo; Criação em Assets > Create;
Scripts são associados a Game Objects como componentes;
38
Alguns eventos importantes
Update: executada uma vez por frame; FixedUpdate: chamada de tempos em tempos em um intervalo fixo (física); OnCollisionEnter: chamado quando ocorre a colisão;
39
Referências a componentes
transform: posicionamento, rotação e escala; rigidbody: corpo rígido; animation: controle dos ciclos de animação;. renderer: exibição do componente em cena; audio: fonte de audio; collider: geometria de colisão;
40
A seguir, alguns fragmentos de códigos usando o Unity
23/03/2017 A seguir, alguns fragmentos de códigos usando o Unity
41
Exemplo Faz um objeto girar
var velocidade = 5.0; function Update () { print("Olá, Mundo"); transform.Rotate(0, velocidade*Time.deltaTime, 0); }
42
Exemplo Move a posição a partir do teclado
function Update () { transform.Translate(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); }
43
Exemplo Olha para um alvo
var alvo : Transform; function Update () { transform.LookAt(alvo); }
44
Prefabs Prefabs são objetos reutilizáveis armazenados na Project View;
Funcionam como modelos de objetos;
45
Exemplo Cria um novo objeto – Instantiate
var novoObjeto : Transform; function Update () { if(Input.GetButtonDown("Fire1")) Instantiate(novoObjeto, transform.position, transform.rotation); }
46
Exemplo Carrega outro nível
Application.LoadLevel("Nome nivel");
47
Exemplo Envia uma mensagem para um outro objeto
// O outro objeto deve possuir uma função chamada // AplicarDano function OnCollisionEnter (collision : Collision) { collision.gameObject.SendMessage("AplicarDano"); }
48
Exemplo Destruir o objeto atual
23/03/2017 * function AplicarDano() { Destroy(gameObject); }
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.