Pedro H. S. Raimundo
Download
1 / 32

Pedro H. S. Raimundo - PowerPoint PPT Presentation


  • 55 Views
  • Uploaded on
  • Presentation posted in: General

Pedro H. S. Raimundo. Programador, Design e Fundador. Mini-Curso. 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. .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Pedro H. S. Raimundo

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Pedro H. S. Raimundo

Programador, Design e Fundador


Mini-Curso


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


Como funciona DevGame?

GameArt

GameDesign

GameProgrammer


Alguns formatos para Games


Brainstorm para Side-Scrolling


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


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 (CullingMask)

  • Usando Layouts


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


Introdução a Iluminação

  • Tipos de Luzes

  • Projeção de sombras

  • Trabalhando com CullingMask


Introdução a Programação

  • Lógica de programação

  • Conceitos básicos de programação

  • Comandos simples

  • Aplicando scripts


Programação

  • Variáveis

    • Pequenas palavras que podem armazenar diversos conteúdos de diversos tipos.

    • Ex: GameObjectjogador;

  • Tipos

    • Ex: Floatpontuacao;

  • Encapsulamento (OO)

    • Ex: privatefloat Tempo;

Int: ...-1,0,1,...Float: 0.1f , 5.98f, 10fstring: “Olá Mundo”bool: true, false

Private (Padrao): privado(somente a classe)

Public : publico a classe e outras classeStatic: reutilizável sem necessidade do newProtected: Protegido, sem alteração


Programação

  • Atribuição

    • Setar valor a um objeto, segue ex:

      • Privatefloat tempo

      • Tempo = Time.time;

  • Comparação (utilizado em decisões)==!= ou !(negação)< ou <=> ou >=


Programação

  • Aritméticos

    • Operações matemáticas

      • +

      • -

      • += ou -=

      • *= ou /=(tem q ser diferente de 0)

      • ++

      • --


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.


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


Programação

if ( expressãoondicional )

{

bloco-de-codigo1

}

else

{

bloco-de-codigo2

}


Programação


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


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.


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 }


Programação

  • Veja um exemplo pratico para facilitar o entendimento:

  • Percorrer os filhos de um objeto.

    • Mash’s do meu jogadorforeach (Transformfilho in JogadorChuk) { filho.transform.render.material=true;}


Programação

  • Conceitos específicos C#

    • Utilização de Classe

    • Métodos (“Funções”)

    • Importação de bibliotecas

      • using

  • Conceitos específicos Unity

    • GameObject

    • Transform

    • Input

    • Colisão


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.


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);


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.


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


Programação + Engine

  • OnCollisionEnter(Collision quem){print(quem.name);}

  • OnTriggerEnter(Collider quem){print( Destroy(quem.gameobject) );}


Conceitos de Animação

  • Manipulando animações

  • Trabalhando com curvas

  • Implementando animação no jogo


Finalizando...

  • Configuração e compilação

  • Resolução gráfica


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.


Referencias

  • www.unity3d.com

    • Software

    • Script Reference

    • Demos

    • FreeAssets


ad
  • Login