Aula1 intro

29
Projeto de jogos RAD: Introdução: Unity 3D Augusto Bülow

Transcript of Aula1 intro

Projeto de jogos RAD: Introdução: Unity 3D

Augusto Bülow

Programa

• Introdução a Unity3D

• Elementos de Interface

• Cenários Básicos

• Componentes prontos (assets library)

Unity 3D

• Ferramenta de Desenvolvimento de Jogos 2D e 3D (Engine)

• www.unity3d.com– Versão gratuita (limitações básicas)– Versão pro (U$ 1,500)

• + Pacotes adicionais pagos (Wii, iPhone)

Unity 3D

• Features– Editor de mapas integrado – Renderer DirectX e OpenGL– Alta-Compatibilidade modelos 3D – Compilação: Mac, Windows, Web

• Pacotes especiais: Iphone, Wii

– Shaders (Cg, GLSL) + Post-Processing– Terrain Editor – Integrado– Engine Física – Ageia PhysX

Unity 3D

• Tipos de arquivos

Unity 3D

• Scripts / Códigos– JavaScript (*)– C#– Boo (variação Phyton)

• Semântica básica semelhante ao C++– Diferenciação Maiúsculas / Minúsculas– Finalização de linhas de comando com ;– etc

Unity 3D – Layout

Unity 3D – Layout

• Layout Altamente customizável– Drag-drop das abas / janelas

• Layouts pré-definidos– Window ->Layouts

• Padrão: 2 by 3• Layout ideal:

– Escolha o seu– Layouts por tarefas

Unity 3D – Layout

• Componentes básicos:• 1. Scene View

– Colocar objetos no jogo, posicionar, editar o mapa de cenário

• 2. Game View– View in-game, como o jogo aparecera rodando.

Baseado na posição inicial da camera (main)

• 3. Hierarchy View– Lista de todos objetos utilizados no jogo (na

cena em edição).

Unity 3D – Layout

• Componentes básicos (2):• 4. Project View

– Lista de todos objetos (assets) disponíveis no projeto. Biblioteca de elementos para serem usados em jogo. Quando colocados figuram no Hierarchy view (em cena). Paleta de objetos.

• 5. Inspector– Propriedades específicas do objeto selecionado.

Propriedades variam de tipo para tipo.

Unity 3D

• Conceitos Básicos:– Tudo utilizado no jogo é considerado um “Game

Object” – Texturas, sons, scripts, modelos, todos são

Game Objects, que tem propriedades e utilização diferenciadas.

– Todo material utilizado no jogo também é chamado “Assets” (Ativos).

Unity 3D

• Iniciando um novo projeto:– File -> New Project– Definir Folder e Nome do projeto

• Perceber diferença – projeto / cena– Projeto – o jogo completo, composto por N cenas

• Novos projetos: – possibilidade de importar pacotes de Assets

prontos da Unity– Assets padrão incluem códigos de câmera,

shaders, códigos para player, etc...

Unity 3D – Novo Projeto

• Criando um novo projeto, alguns Folders padrão são criados.

• Diretório Assets: – Suma importância. Contém

todos Assets do jogo. Não mexer / apagar / adicionar elementos pelo diretório, sim pelo jogo. Evita problemas no projeto.

Unity 3D – Novo Projeto

• Novo Projeto: – GameObject: Main Camera (default)

• Câmera são os olhos do player no jogo, se vê o que a câmera aponta.

• Game View = mostra a visão atual da câmera (main), como o jogo se parece no momento (vazio).

• Todo o game precisa de uma câmera.

Unity 3D

• Selecionando Objetos:– Seleção: Click sobre o Obj no Scene View– Seleção pelo Hierarchy View, por nome

• Centralizar objeto – Tecla “F”– mostrar no Scene View (mouse sobre a view).

• Maximizar view atual – Tecla “Espaço”– com o mouse sobre a view a ser maximizada.

Unity 3D

• Movimentação básica no Scene View:• Setas / Cursores (movimento geral)• Mouse Scroll (zoom in / out)• Mouse Botão Dir ( Rotação da view)• ALT = Eye Tool

– Mouse Esq = orbitar ponto central ou objeto)

• Q = Hand Tool– Mouse Esq = Pan na cena em todas direções

Unity 3D• Hand Tool + Shift = movimentação rápida

– Mouse Esq. = pan com maior velocidade

• CTRL = Zoom Tool– Mouse Esq. = Zoom in / out

• Lembrar “F” = centraliza objeto selecionado na view.

Unity 3D• Scene Gizmo:

– Mostra a orientação atual da Scene Camera– Permite alterar rapidamente a visualização da

cena:• Ver de cima (top) : Click Eixo Y• Ver frontal (front): Click Eixo Z • Perspectiva: Click no Quadro central

– Edição padrão (geral):• 4 views: top, front, left, Perspective

Unity 3D• Adicionando Objetos simples: Primitivas• Game Object -> Create Other:

– Cube– Sphere– Capsule– Cylinder– Plane

- Criar Plano:

Chão para nosso exemplo.

Unity 3D• Game View: plano pode não aparecer

diretamente – precisa estar dentro da visão da câmera.

• Alterar propriedades de GameObjects:– Pelo Inspector– Transform:

• Position• Rotation• Scale

Unity 3D• Alterar propriedades de GameObjects:

– Pelo Scene View (visualmente)

• Q = Hand Tool = Pan na cena• W = Translate tool = mover objetos• E = Rotate Tool = mudar ângulos X, Y,Z• R = Scale Tool = alterar escala

Unity 3D• Alteração uniforme ou disforme:

– Escolha eixo único, ou todos (uniforme / livre)

Unity 3D• Inserir mais algumas primitivas, blocos:

– Montar mini-cenário básico, paredes, labirinto

– Testar / Treinar edição básica:• Posicionamento de elementos• Rotação• Escala

– Inserir uma Point Light (melhora a visualização)

• Duplicar Objetos: – objeto selecionado = CTRL + D

• Nomear objetos facilita nossa vida:– Pelo Hierarchy: dois clicks no nome

Unity 3D• Rodar jogo:

– PLAY

• MUITA ATENÇÃO:– Com o Jogo rodando (play mode), podemos

alterar a cena, modificar posições, e tudo mais, porém estas opções / alterações são perdidas quando se volta ao modo de edição.

– Regra Básica: Play para teste, porém nunca esquecer de desligar o play para voltar a edição.

Unity 3D• Jogo Rodando: nada acontece (ainda)• Precisamos de códigos para ter ação,

interação. • Exemplo inicial:

– Usar código pronto, do “Standard Assets”– Inserir Camera Script : Mouse Look em nossa

Main Camera

Unity 3D• Standard Assets

– Inserir Camera Script: Mouse Look em nossa Main Camera

– Drag Drop do código sobre o elemento

• Rodar Jogo (Play)– Movimento básico de

câmera, mouse look

Unity 3D• Componente inserido

aparece no Inspector da Câmera

• Possível ligar e desligar componentes

• Novas Opções visíveis, de acordo com o código / elemento.

Unity 3D• Outro “Standard Asset”

– Prefab -> First Person Controller– Inserir = Drag-Drop para a Scene View

• Temos um player em 1a pessoa– (Sem esforço, mas sem conhecimento)

• Observe:

este elemento é um

prefab, composto por

outros elementos

Unity 3D• Atividade : completar nosso cenário

básico para continuação nas próximas aulas.