Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Programador, Design e Fundador
Pedro H. S. Raimundo Programador, Design e Fundador
2
Mini-Curso Teoria Programação Design Pratica Desenvolvimento Aplicação
3
Vamos desenvolver!!!! Aplicação profissional totalmente integrada, multi-plataforma e uma das mais difundida nos dias atuais quando o assunto é produção de games independentes. Crie games para PC, MAC, Wii, Iphone , Web e muito mais. Alguns exemplos da própria Unity
4
Como funciona DevGame? Game GameArt GameDesign GameProgrammer Art
5
Alguns formatos para Games
2D Side-Scrolling Top-Side Shooter 3D FPS TPS
6
Brainstorm para Side-Scrolling
Dimensão Época Publico Alvo e Publicação Inteligência Personagem e NPC Áudio Textura
7
Sugestões.... Jogador Pulo c/ Fogo Controle de sensibilidade
(Atira projéteis) > Desafio Destruir NPC’s NPC Objetos caindo na tela Cenário Plataformas simples (Chão) Plataformas flutuantes Terreno simples com montanhas Power-Ups Caixas Pontos (Score) GUI Vida Pontuação
8
Introdução ao Unity Visualização geral Configuração de janelas
Entendo a Viewport (atalhos) Atributos dos objetos Trabalhando com Tag e Layers Camera e Luz (Culling Mask) Usando Layouts
9
Manipulação de Objetos
Escala, movimentação e rotação Importando modelos 3D Aplicação de materiais simples (shaders) Aplicação básica de texturas Criando Prefabs Entendendo o Sistema GUI Construindo Terrenos Criação de cenários simples
10
Introdução a Iluminação
Tipos de Luzes Projeção de sombras Trabalhando com Culling Mask
11
Introdução a Programação
Lógica de programação Conceitos básicos de programação Comandos simples Aplicando scripts
12
Programação Variáveis Tipos Encapsulamento (OO)
Pequenas palavras que podem armazenar diversos conteúdos de diversos tipos. Ex: GameObject jogador; Tipos Ex: Float pontuacao; Encapsulamento (OO) Ex: private float Tempo; Int: ...-1,0,1,... Float: 0.1f , 5.98f, 10f string: “Olá Mundo” bool: true, false Private (Padrao): privado(somente a classe) Public : publico a classe e outras classe Static: reutilizável sem necessidade do new Protected: Protegido, sem alteração
13
Programação Atribuição
Setar valor a um objeto, segue ex: Private float tempo Tempo = Time.time; Comparação (utilizado em decisões) == != ou !(negação) < ou <= > ou >=
14
Programação Aritméticos Operações matemáticas + - += ou -=
*= ou /=(tem q ser diferente de 0) ++ --
15
Programação Estrutura de decisão. O objetivo é identificar o conteúdo de uma condição e direcionar o fluxo do programa para um determinado cálculo, rotina, desvio, função, etc. Primeiramente vamos entender o que é uma expressão condicional. Esta é uma expressão que sempre retorna um valor boleano, ou seja, verdadeiro ou falso. Exemplo: Preço é menor que 100. Se preço for menor que 100 então o resultado da expressão acima é VERDADEIRO. Caso contrario o resultado é FALSO.
16
Programação Você pode usar os seguintes operadores para fazer comparações em C#: (SUPONHA QUE A VARIAVEL SALARIO TENHA O VALOR 1200) Então a expressão que usamos no exemplo acima ficaria assim: Preço < 100
17
Programação if ( expressãoondicional ) { bloco-de-codigo1 } else
18
Programação
19
Programação As estruturas de repetição são usadas para controlar a execução de códigos repetidamente até que uma condição seja verdadeira. Veja os tipos de estrutura de repetição que vamos aprender: Laço for Laço foreach
20
Programação O loop 'for' trabalha checando uma condição para executar um bloco de código até que essa condição seja verdadeira, no caso do loop 'for' temos que em sua syntax declarar sua inicialização, sua condição e seu incremento, veja: for (int i =0; i <= 10; i++) { //instruções ; } Ex: Construção de uma lista de Objetos a serem criados no jogo.
21
Programação O loop 'foreach' é usado para interagir (percorrer) listas. Ele opera sobre Arrays ou coleções veja sua syntax básica: foreach(<tipo de dado> <nome> in <lista>) { //instruções }
22
Programação Veja um exemplo pratico para facilitar o entendimento:
Percorrer os filhos de um objeto. Mash’s do meu jogador foreach (Transform filho in JogadorChuk) { filho.transform.render.material=true; }
23
Programação Conceitos específicos C# Conceitos específicos Unity
Utilização de Classe Métodos (“Funções”) Importação de bibliotecas using Conceitos específicos Unity GameObject Transform Input Colisão
24
Programação + Engine Input
As input’s tratam das informações de entrada que o jogador irá mandar para o jogo. Ex: Movimentos Horizontal e Vertical, Pulo, Atirar e etc. As input’s na maioria das vezes vem acompanhada pelo Time.deltatime (unity), garantindo o bom funcionamento em qualquer maquina.
25
Programação + Engine Simples código para manipulação de movimento e pulo X = Input.GetAxis(“Horizontal”); Y = Input.GetAxis(“Jump”); transform.Translate(new Vector3(x,y,0)*Time.deltaTime);
26
Programação + Engine Gravidade??? Rigidbody
Conceito de corpo rígido. Concentra informações sobre um objeto como no mundo real. Ex: Massa, aceleração da gravidade e etc.
27
Programação + Engine Colisões (Unity)
Trigger (Transpassável) Ex: moedas Collider(Não Transpassavel) Ex: Porta Enter (Inicio) Ex:CheckPoint Stay (Meio) Ex: Gás Venenoso Exit (Fim) Ex: A Porta fechar
28
Programação + Engine OnCollisionEnter(Collision quem) { print(quem.name); } OnTriggerEnter(Collider quem) { print( Destroy(quem.gameobject) ); }
29
Conceitos de Animação Manipulando animações Trabalhando com curvas
Implementando animação no jogo
30
Finalizando... Configuração e compilação Resolução gráfica
31
Criando o nosso JOGO Utilizando o maximo da ferramenta apresentada, iremos agora terminar de desenvolver o jogo em plataforma ( Side-Scrolling ) e fazer compilação.
32
Referencias www.unity3d.com Software Script Reference Demos
Free Assets
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.