SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
1




                             PONG!
                                     Unity 3D


                             Roteiro de Apresentação


    1. Criação do Cenário

             Criação dos Limitadores superior e inferior
             Criação dos Tiles/Pads
             Criação da Esfera
             Criação das Paredes
             Criação do Ponto de Luz
             Aplicação das Texturas

    2. Programação dos Objetos
             Programação da Esfera
             Programação dos Tiles/Pads
             Programação dos Sons

    3. Menu Principal
            Criação do Cenário do Menu
            Criação dos Menus
            Programação dos Menus

    4. Build & Play
2

Resumo

Este roteiro apresenta o projeto PONG! em todos os seus passos.

Requerimentos Básicos
-Unity 3D
-Monodevelop (vem com o unity 3d) ou Visual Studio
-Computador que suporte as configurações mínimas do Unity 3D.

Introdução

Através deste roteiro você poderá construir um jogo de Pong com Unity 3D. Os
passos estão divididos em quatro tópicos primários, Criação do Cenário, Programação
dos Objetos, Desenvolvendo o Menu Principal e, por fim, Build & Play. O primeiro
tópico, Criação do Cenário, será o momento em que o cenário será populado, criando-
se objetos que serão necessários para o jogo e texturizando-os. O segundo tópico,
Programação dos Objetos, tratará da codificação dos scripts/códigos para o
funcionamento correto dos objetos e do jogo. O terceiro tópico, Desenvolvendo o
Menu Principal, é onde iremos criar o menu principal com botões e sua programação.
O último tópico, Build & Play, é simplesmente explicando um pouco sobre a
compilação do jogo, tornando-se executável em várias plataformas.
3

1 - Criação do Cenário

Criaremos um novo projeto no Unity 3D com o pacote de Physics
Materials.unityPackage.
Começaremos pela parte mais simples, criar 2 limitadores para que a esfera continue
dentro de uma certa área. Criaremos um cubo nomeado UpperWall e alteraremos sua
escala (SCALE) para X:100 Y:1 Z:10. Durante a criação, iremos posiciona-lo
(POSITION) em X:0 Y:35 Z:0 . Também, aplicaremos o componente RigidBody,
desmarcando a opção “Use Gravity” e marcando todas as opções em “Constraints”,
“Freeze Position” e “Freeze Rotation”.




FOTO 1

Duplicaremos o primeiro e renomearemos para LowerWall. Posicionado-o em X:0 Y:-
35 Z:0.




FOTO 2
4

Agora criaremos a esfera nomeada Ball. Está será posicionada em X:0 Y:0 Z:0 com
uma escala de X:5 Y:5 Z:5. Aplicaremos então o componente RigidBody, para que
possamos trabalhar com física. Desabilitaremos a opção “Use Gravity”. Também,
devemos alterar o material da esfera, dentro da opção “Sphere Collider”, para
“Bouncy”.




FOTO 3

Para obter uma melhor visualização in-game, iremos alterar a posição da camêra
principal (Main Camera) para X:0 Y:0 Z:-70




FOTO 4
5

Agora, para iluminar o cenário, criaremos um foco de luz (Point Light) e
posicionaremos na frente da câmera X:0 Y:0 Z:-20 . Definindo seu alcance (RANGE)
como 100.




FOTO 5

Parte da cena já está pronta, agora falta criar as barreiras moveis
(Tiles/Pads/Paddles) , que serão controladas pelos jogadores.
Criaremos outro cubo, porém nomeado RightPaddle.
Sua escala é de X:5 Y:15 Z:10 e posição X:-45 Y:0 Z:0.
Aplicaremos então o componente RigidBody novamente e desmarcamos a opção
“Use Gravity”, com as Constraints Freeze Position (X e Z) e Freeze Rotation (X, Y e
Z).




FOTO 6
6

Duplicaremos este item, renomeando-o para LeftPaddle e posicionando-o para X:45
Y:0 Z:0.




FOTO 7

Aplicaremos agora as texturas, começando pela esfera. Criaremos um material novo
com a textura “basket”. Agora arrastamos este material até o objeto “Ball” e pronto, o
objeto está texturizado.




FOTO 8
7

O mesmo será feito para os paddles, porém com a textura tijolo.




FOTO 9

Já as paredes, iremos aplicar uma cor sólida com o R:73 G:255 B:10 A:255.




FOTO 10
8




FOTO 11

Pronto, agora a cena está completa. Precisamos definir alguns limitadores que
impeçam que a bola saia da cena e não seja resetada. Assim devemos criar barreiras.

Criaremos um objeto vazio nomeado “Barriers”, cujo o objetivo é agrupar as outras
barreiras que criaremos.

Criaremos mais um objeto vazio, porém, nomeado BackBarrier e definirmos sua
escala como X:100 Y:100 Z:1 e colocaremos este objeto na posição X:0 Y:0 Z:-50.
Também, deverá ser adicionado o componente “Box Collider” e deve-se marcar a
opção “Is Trigger”.
9




FOTO 12

Criaremos mais cinco deste objeto e alteraremos seus nomes/escala/posição para:


                    Nome              Escala             Posição
                 FrontBarrier     X:100 Y:100 Z:1     X:0 Y:0 Z:50
                  LeftBarrier     X:1 Y:100 Z:100     X:50 Y:0 Z:0
                 RightBarrier     X:1 Y:100 Z:100     X:-50 Y:0 Z:0
                 LowerBarrier     X:100 Y:1 Z:100     X:0 Y:-50 Z:0
                  TopBarrier      X:100 Y:1 Z:100     X:0 Y:50 Z:0


Pronto, agora o cenário está finalizado e com todos os objetos que vamos necessitar.
10

2 - Programação dos Objetos

Agora que o cenário está criado e configurado, vamos aplicar a programação
necessária para que o jogo rode conforme desejamos. Criaremos scripts em C# para
aplicarmos funcionalidades e controles aos objetos do cenário.

Primeiro criaremos o script (C#) do objeto BALL.
O script abaixo fará o controle deste objeto:

using UnityEngine;
using System.Collections;

public class Ball : MonoBehaviour
{

     private const float velocityIncrement = 1.001f;

     void Start()
     {

         Reset();
     }

     void OnTriggerEnter()
     {
         Reset();
     }

     void Update()
     {
         rigidbody.velocity *= velocityIncrement;
     }

     private void Reset()
     {
         // Valor aleatório entre 1 e 2
         int direction = RandomNumber(1, 3);


        //Caso retorno = 1
        if (direction.Equals(1))
        {
            //reinicia a posição da Ball
            transform.position = Vector3.zero;
            //Aplica a velocidade inicial para a direita, aplicando uma
//inclinação aleatória
            rigidbody.velocity = new Vector3(60, RandomNumber(-25,25), 0);

         }
         //Caso retorno = 2
         else

         //return 2
         {
             //reinicia a posição da Ball
             transform.position = Vector3.zero;
11

               //Aplica a velocidade inicial para a esquerda, aplicando uma inclinação
aleatória
               rigidbody.velocity = new Vector3(-60, RandomNumber(-25, 25), 0);
         }
     }
     private int RandomNumber(int min, int max)
     {
         int ret = Random.Range(min, max);
         return ret;
     }

}



Em seguida, criaremos o script para movimentação das barreiras móveis (RightPaddle
e LeftPaddle) e iremos acoplar este mesmo script aos 2 Paddles.

using UnityEngine;
using System.Collections;

public class verticalKeyboardControl : MonoBehaviour {

     //Axis Vertical
        public string axisName = "Vertical";
        public float speed;

       void Update () {

        //variavel delta utilizada para aplicar a velocidade no eixo Y (mover os
//Paddles verticalmente)
            var delta = new Vector3(0, speed, 0);

                   //Caso o "controle" esteja com uma inclinação para cima, move
//para cima
                   if (Input.GetAxis(axisName) >= .001)
                       delta *= 1f;
                   //Caso o "controle" esteja com uma inclinação para baixo, move
//para baixo
                else if (Input.GetAxis(axisName) <= -.001)
                    delta *= -1f;
                else
                 //Caso o "controle" esteja imóvel, não altera delta
                    delta = Vector3.zero;
                //Aplica esta "impulso" sobre a posição do objeto,
//independentemente de seu sentido
                transform.position += delta;
       }
}
12

Agora que a programação está feita, necessitamos definir o recebimento de controles
para o jogo.

Para isto, vamos acessar o menu EDIT -> PROJECT SETTINGS -> INPUT , onde
iremos deletar todas os sub-grupos, deixando apenas os dois nomeados “VERTICAL”.




FOTO 13


Renomearemos um para “Controle1” e outro para “Controle2” e definiremos para cada
um os itens “Positive Button” e “Negative Button”, respectivamente, para que a
barreira móvel possa subir e descer.

Observar que nos objetos RightPaddle e LeftPaddle o script já estará atuando, porém
será necessário alterar a velocidade (o valor 1) e o Axis Name (nome do eixo) para o
eixo que o moverá (Controle1 e Controle2, respectivamente.

Além disso, você precisa se certificar que o atributo “Type” esteja configurado como
“Key or Mouse Button” em ambos os players.

Também precisaremos adicionar MASSA aos Paddles, para que eles não saiam
voando ao serem acertados pela bola.
Utilizar o valor 10000.
13

3 - Desenvolvendo o Menu Principal

Pronto, o jogo em si está parcialmente completo. Vamos criar uma nova cena e
programar o menu principal.

A criação é bem simples, primeiro criamos uma base. Está será um cubo com as
dimensões X:800 Y:1 Z:800 e posição X:0 Y:-8 Z:0 .
Também definiremos a câmera para a posição X:0 Y:15 Z:-70.




FOTO 14

Agora vamos para os itens do menu. Primeiro vamos buscar uma fonte na pasta de
fontes do Windows e copiaremos o arquivo FONTE.ttf para a pasta ../projeto/assets .
A fonte irá aparecer automaticamente no projeto dentro do Unity e em suas
configurações devemos alterar o tamanho da fonte (FONT SIZE) para 40.
Então criaremos um novo objeto “3D Text” nomeado PONG, aplicaremos a fonte
escolhida e posicionaremos este objeto em X:-10 Y:32 Z:-10 .
14

Triplicaremos o título para gerar os botões :


Nome                  Posição                   Escala


START GAME            X:-1 Y:10 Z:-10           1


CREDITS               X:-1 Y:6 Z:-10            1


QUIT GAME             X:-1 Y:2 Z:-10            1




FOTO 16
15


Para controlar os botões, vamos criar um script nomeado MenuButtons.

using UnityEngine;
using System.Collections;

public class MenuButtons : MonoBehaviour {

     public bool isQuit;
     void OnMouseEnter()
     {
         renderer.material.color = Color.blue;
     }
     void OnMouseExit()
     {
         renderer.material.color = Color.white;
     }
     void OnMouseDown()
     {
         if (isQuit)
         {
              Application.Quit();
         }
         else
         {
              Application.LoadLevel("Game");
         }

     }

}
16

Agora vamos acoplar o script aos botões e marcar a opção “IsQuit” no botão QUIT
GAME.




FOTO 17

Por ultimo, devemos adicionar o Componente Box Collider nos nossos
botões, para que eles sejam capazes de entender quando o cursor do
mouse passará sobre eles.
17

4 - Build & Play

Agora, tudo pronto, vamos nos divertir! Vamos no menu FILE -> BUILD SETTINGS,
adicionando as duas cenas criadas (MainMenu e Game, nesta exata sequência), com
o botão “Add Current” .

Abra novamente a Cena do jogo e faça o mesmo que descrito acima, para adicionar
também a cena de jogo. Observe que o MainMenu é a cena de numero 0, enquanto o
Game é a cena de numero 1.
Escolhemos então a plataforma “PC and MAC Standalone” e a “Target Plataform”
como Windows.




Clicamos no botão BUILD AND RUN!

FOTO 18

Agorá é só jogar!

Contenu connexe

Tendances

Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIgor Takenami
 
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Pedro de Vasconcellos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisguicabral6
 
Curso básico para elaboração de apresentações em PowerPoint 2010
Curso básico para elaboração de apresentações em PowerPoint 2010Curso básico para elaboração de apresentações em PowerPoint 2010
Curso básico para elaboração de apresentações em PowerPoint 2010Nilton Junior
 
Informática 1-conceitos e componentes
Informática  1-conceitos e componentesInformática  1-conceitos e componentes
Informática 1-conceitos e componentesMauro Pereira
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
UX UI para Programadores
UX UI para Programadores UX UI para Programadores
UX UI para Programadores Monica Mesquita
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoJoeldson Costa Damasceno
 
Ferramenta Gantt Project
Ferramenta Gantt ProjectFerramenta Gantt Project
Ferramenta Gantt ProjectDavi Matos
 
Cad - Desenho Assistido por Computador
Cad - Desenho Assistido por ComputadorCad - Desenho Assistido por Computador
Cad - Desenho Assistido por ComputadorJulio Rezende
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
CapíTulo 1 IntroduçãO à InformáTica
CapíTulo 1   IntroduçãO à InformáTicaCapíTulo 1   IntroduçãO à InformáTica
CapíTulo 1 IntroduçãO à InformáTicaguest501765
 

Tendances (20)

Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
 
Curso básico para elaboração de apresentações em PowerPoint 2010
Curso básico para elaboração de apresentações em PowerPoint 2010Curso básico para elaboração de apresentações em PowerPoint 2010
Curso básico para elaboração de apresentações em PowerPoint 2010
 
Planejamento inicial layout
Planejamento inicial layoutPlanejamento inicial layout
Planejamento inicial layout
 
Informática 1-conceitos e componentes
Informática  1-conceitos e componentesInformática  1-conceitos e componentes
Informática 1-conceitos e componentes
 
Metodologia fel
Metodologia felMetodologia fel
Metodologia fel
 
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de ProjetosGerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
Gerenciamento de Projetos - Aula01 - Uma Introdução ao Gerenciamento de Projetos
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
Autocad
Autocad  Autocad
Autocad
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
UX UI para Programadores
UX UI para Programadores UX UI para Programadores
UX UI para Programadores
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - Introdução
 
Ferramenta Gantt Project
Ferramenta Gantt ProjectFerramenta Gantt Project
Ferramenta Gantt Project
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Cad - Desenho Assistido por Computador
Cad - Desenho Assistido por ComputadorCad - Desenho Assistido por Computador
Cad - Desenho Assistido por Computador
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
CapíTulo 1 IntroduçãO à InformáTica
CapíTulo 1   IntroduçãO à InformáTicaCapíTulo 1   IntroduçãO à InformáTica
CapíTulo 1 IntroduçãO à InformáTica
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 

En vedette

LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIEL
LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIELLIÇÃO 13 - O TEMPO DA PROFECIA DE DANIEL
LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIELNatalino das Neves Neves
 
Historia del descubrimiento de america
Historia del descubrimiento de americaHistoria del descubrimiento de america
Historia del descubrimiento de americaEdgar Lem Cac
 
Estiloimpersonal,vozactiva,objetividad
Estiloimpersonal,vozactiva,objetividadEstiloimpersonal,vozactiva,objetividad
Estiloimpersonal,vozactiva,objetividadElsy Gutierrez D
 
Saúde e-bem-estar-(outubro-2008)
Saúde e-bem-estar-(outubro-2008)Saúde e-bem-estar-(outubro-2008)
Saúde e-bem-estar-(outubro-2008)Carlos Serra
 
Ud quecomemos cbergese_45
Ud quecomemos cbergese_45Ud quecomemos cbergese_45
Ud quecomemos cbergese_45NANCI Scovino
 
Permisos e licenzas profesorado.
Permisos e licenzas profesorado.Permisos e licenzas profesorado.
Permisos e licenzas profesorado.mmaannuu gonzalez
 
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013Sylvio Micelli
 
Aula de Filosofia - 2ª Série do Ensino Médio
Aula de Filosofia - 2ª Série do Ensino MédioAula de Filosofia - 2ª Série do Ensino Médio
Aula de Filosofia - 2ª Série do Ensino MédioProfessor Liniker Santana
 
Desafio mental
Desafio mentalDesafio mental
Desafio mentalJudith Paz
 
Boletim informativo out2014
Boletim informativo out2014Boletim informativo out2014
Boletim informativo out2014fespiritacrista
 
Principios pedagógicos 4 a 6
Principios pedagógicos 4 a 6Principios pedagógicos 4 a 6
Principios pedagógicos 4 a 6AuroraCutz
 
Olvera mercedes ejercicios_en_windows
Olvera mercedes ejercicios_en_windowsOlvera mercedes ejercicios_en_windows
Olvera mercedes ejercicios_en_windowsIsabel Olvera
 
Análisis y estudio de modelo
Análisis y estudio de modeloAnálisis y estudio de modelo
Análisis y estudio de modeloEdie Apaza
 
Repote final examen de conocimientos enrique i gonzalez
Repote final examen de conocimientos enrique i gonzalezRepote final examen de conocimientos enrique i gonzalez
Repote final examen de conocimientos enrique i gonzalezEnrique Gonzalez
 

En vedette (20)

LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIEL
LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIELLIÇÃO 13 - O TEMPO DA PROFECIA DE DANIEL
LIÇÃO 13 - O TEMPO DA PROFECIA DE DANIEL
 
Historia del descubrimiento de america
Historia del descubrimiento de americaHistoria del descubrimiento de america
Historia del descubrimiento de america
 
Ensayo de la problematica
Ensayo de la problematicaEnsayo de la problematica
Ensayo de la problematica
 
Estiloimpersonal,vozactiva,objetividad
Estiloimpersonal,vozactiva,objetividadEstiloimpersonal,vozactiva,objetividad
Estiloimpersonal,vozactiva,objetividad
 
Motivacion tsas cr
Motivacion tsas  crMotivacion tsas  cr
Motivacion tsas cr
 
Autobiografía
AutobiografíaAutobiografía
Autobiografía
 
Saúde e-bem-estar-(outubro-2008)
Saúde e-bem-estar-(outubro-2008)Saúde e-bem-estar-(outubro-2008)
Saúde e-bem-estar-(outubro-2008)
 
Ud quecomemos cbergese_45
Ud quecomemos cbergese_45Ud quecomemos cbergese_45
Ud quecomemos cbergese_45
 
Apresentação EcoHouse
Apresentação EcoHouseApresentação EcoHouse
Apresentação EcoHouse
 
Permisos e licenzas profesorado.
Permisos e licenzas profesorado.Permisos e licenzas profesorado.
Permisos e licenzas profesorado.
 
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013
Pauta de Reivindicações dos Servidores do Judiciário de São Paulo 2013
 
Aula de Filosofia - 2ª Série do Ensino Médio
Aula de Filosofia - 2ª Série do Ensino MédioAula de Filosofia - 2ª Série do Ensino Médio
Aula de Filosofia - 2ª Série do Ensino Médio
 
Desafio mental
Desafio mentalDesafio mental
Desafio mental
 
Proyecto perritos divertidos
Proyecto perritos divertidosProyecto perritos divertidos
Proyecto perritos divertidos
 
Boletim informativo out2014
Boletim informativo out2014Boletim informativo out2014
Boletim informativo out2014
 
Principios pedagógicos 4 a 6
Principios pedagógicos 4 a 6Principios pedagógicos 4 a 6
Principios pedagógicos 4 a 6
 
Olvera mercedes ejercicios_en_windows
Olvera mercedes ejercicios_en_windowsOlvera mercedes ejercicios_en_windows
Olvera mercedes ejercicios_en_windows
 
Análisis y estudio de modelo
Análisis y estudio de modeloAnálisis y estudio de modelo
Análisis y estudio de modelo
 
Tema 4
Tema 4Tema 4
Tema 4
 
Repote final examen de conocimientos enrique i gonzalez
Repote final examen de conocimientos enrique i gonzalezRepote final examen de conocimientos enrique i gonzalez
Repote final examen de conocimientos enrique i gonzalez
 

Similaire à Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios

Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...Jorge Cardoso
 
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamAndré Espeiorin
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenziejonathanblacknight
 
Aprenda autocad-2016-em-10-comandos-final-a (1)
Aprenda autocad-2016-em-10-comandos-final-a (1)Aprenda autocad-2016-em-10-comandos-final-a (1)
Aprenda autocad-2016-em-10-comandos-final-a (1)lucasfigo
 
Aprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aAprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aMauricio Discipulado
 
Aprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aAprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aMartins Marins
 
Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Odair Bonin Borges
 
Apostila de Construct - Welington Carvalho
Apostila de Construct - Welington CarvalhoApostila de Construct - Welington Carvalho
Apostila de Construct - Welington CarvalhoWelington Carvalho
 
Desenvolvimento de jogos para android com andengine
Desenvolvimento de jogos para android com andengineDesenvolvimento de jogos para android com andengine
Desenvolvimento de jogos para android com andengineDiego Lopes
 
Curso de autocad 2007 3 d
Curso de autocad 2007 3 dCurso de autocad 2007 3 d
Curso de autocad 2007 3 dJosué Lima
 
Animação Digital (Aula 7): Animação de esfera stretch/squash
Animação Digital (Aula 7): Animação de esfera stretch/squashAnimação Digital (Aula 7): Animação de esfera stretch/squash
Animação Digital (Aula 7): Animação de esfera stretch/squashDra. Camila Hamdan
 
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]Elen Arantza
 
Apostila autocad 3_d
Apostila autocad 3_dApostila autocad 3_d
Apostila autocad 3_dfgonluz
 

Similaire à Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios (20)

Blender: Primeiros Passos
Blender: Primeiros PassosBlender: Primeiros Passos
Blender: Primeiros Passos
 
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
 
Minicurso pygame
Minicurso pygameMinicurso pygame
Minicurso pygame
 
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
 
Aprenda autocad-2016-em-10-comandos-final-a (1)
Aprenda autocad-2016-em-10-comandos-final-a (1)Aprenda autocad-2016-em-10-comandos-final-a (1)
Aprenda autocad-2016-em-10-comandos-final-a (1)
 
Aprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aAprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-a
 
Aprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-aAprenda autocad-2016-em-10-comandos-final-a
Aprenda autocad-2016-em-10-comandos-final-a
 
Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3Oficina Android - Games com AndEngine - Dia 3
Oficina Android - Games com AndEngine - Dia 3
 
Apostila de Construct - Welington Carvalho
Apostila de Construct - Welington CarvalhoApostila de Construct - Welington Carvalho
Apostila de Construct - Welington Carvalho
 
Roteiroconstruct
RoteiroconstructRoteiroconstruct
Roteiroconstruct
 
Desenvolvimento de jogos para android com andengine
Desenvolvimento de jogos para android com andengineDesenvolvimento de jogos para android com andengine
Desenvolvimento de jogos para android com andengine
 
Curso de autocad 2007 3 d
Curso de autocad 2007 3 dCurso de autocad 2007 3 d
Curso de autocad 2007 3 d
 
Animação Digital (Aula 7): Animação de esfera stretch/squash
Animação Digital (Aula 7): Animação de esfera stretch/squashAnimação Digital (Aula 7): Animação de esfera stretch/squash
Animação Digital (Aula 7): Animação de esfera stretch/squash
 
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]
Tutorial 2 - Manipulando imagens 2D no jogo [26.09.2011]
 
Autocad 3 d
Autocad 3 dAutocad 3 d
Autocad 3 d
 
Apostila autocad 3_d
Apostila autocad 3_dApostila autocad 3_d
Apostila autocad 3_d
 
Apostila autocad 3_d
Apostila autocad 3_dApostila autocad 3_d
Apostila autocad 3_d
 
Apostila autocad 3_d
Apostila autocad 3_dApostila autocad 3_d
Apostila autocad 3_d
 
Apostila autocad 3_d
Apostila autocad 3_dApostila autocad 3_d
Apostila autocad 3_d
 

Plus de Victor Bruno Alexand Rosetti de Quiroz

Desenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobileDesenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobileVictor Bruno Alexand Rosetti de Quiroz
 

Plus de Victor Bruno Alexand Rosetti de Quiroz (16)

NASA Space Apps Challenge - Vertical dunk
NASA Space Apps Challenge - Vertical dunkNASA Space Apps Challenge - Vertical dunk
NASA Space Apps Challenge - Vertical dunk
 
Rite of Passage/Rito de Passagem
Rite of Passage/Rito de PassagemRite of Passage/Rito de Passagem
Rite of Passage/Rito de Passagem
 
Mega Manual Global Game Jam
Mega Manual Global Game JamMega Manual Global Game Jam
Mega Manual Global Game Jam
 
Mega manual Global Game Jam Vitória
Mega manual Global Game Jam VitóriaMega manual Global Game Jam Vitória
Mega manual Global Game Jam Vitória
 
Horário Global Game Jam Vitória
Horário Global Game Jam VitóriaHorário Global Game Jam Vitória
Horário Global Game Jam Vitória
 
Checklist Global Game Jam Vitória
Checklist Global Game Jam VitóriaChecklist Global Game Jam Vitória
Checklist Global Game Jam Vitória
 
Victory island studios ufes - 22:03:13
Victory island studios   ufes - 22:03:13Victory island studios   ufes - 22:03:13
Victory island studios ufes - 22:03:13
 
Horario ggjv2013
Horario ggjv2013Horario ggjv2013
Horario ggjv2013
 
Manual do jammer
Manual do jammerManual do jammer
Manual do jammer
 
Manual do jammer
Manual do jammerManual do jammer
Manual do jammer
 
Horario ggjv2013
Horario ggjv2013Horario ggjv2013
Horario ggjv2013
 
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobileDesenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
 
Long and Hard Road Out of Hell
Long and Hard Road Out of HellLong and Hard Road Out of Hell
Long and Hard Road Out of Hell
 
Super Street Fighter Tournament
Super Street Fighter TournamentSuper Street Fighter Tournament
Super Street Fighter Tournament
 
Desenvolvendo Pong no Unity 3D - Victory Island Studios
Desenvolvendo Pong no Unity 3D - Victory Island StudiosDesenvolvendo Pong no Unity 3D - Victory Island Studios
Desenvolvendo Pong no Unity 3D - Victory Island Studios
 
Vgp inscritos-26_10_2012
Vgp inscritos-26_10_2012Vgp inscritos-26_10_2012
Vgp inscritos-26_10_2012
 

Dernier

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxMARIADEFATIMASILVADE
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 

Dernier (20)

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 

Tutorial Desenvolvendo Pong no Unity 3D - Victory Island Studios

  • 1. 1 PONG! Unity 3D Roteiro de Apresentação 1. Criação do Cenário Criação dos Limitadores superior e inferior Criação dos Tiles/Pads Criação da Esfera Criação das Paredes Criação do Ponto de Luz Aplicação das Texturas 2. Programação dos Objetos Programação da Esfera Programação dos Tiles/Pads Programação dos Sons 3. Menu Principal Criação do Cenário do Menu Criação dos Menus Programação dos Menus 4. Build & Play
  • 2. 2 Resumo Este roteiro apresenta o projeto PONG! em todos os seus passos. Requerimentos Básicos -Unity 3D -Monodevelop (vem com o unity 3d) ou Visual Studio -Computador que suporte as configurações mínimas do Unity 3D. Introdução Através deste roteiro você poderá construir um jogo de Pong com Unity 3D. Os passos estão divididos em quatro tópicos primários, Criação do Cenário, Programação dos Objetos, Desenvolvendo o Menu Principal e, por fim, Build & Play. O primeiro tópico, Criação do Cenário, será o momento em que o cenário será populado, criando- se objetos que serão necessários para o jogo e texturizando-os. O segundo tópico, Programação dos Objetos, tratará da codificação dos scripts/códigos para o funcionamento correto dos objetos e do jogo. O terceiro tópico, Desenvolvendo o Menu Principal, é onde iremos criar o menu principal com botões e sua programação. O último tópico, Build & Play, é simplesmente explicando um pouco sobre a compilação do jogo, tornando-se executável em várias plataformas.
  • 3. 3 1 - Criação do Cenário Criaremos um novo projeto no Unity 3D com o pacote de Physics Materials.unityPackage. Começaremos pela parte mais simples, criar 2 limitadores para que a esfera continue dentro de uma certa área. Criaremos um cubo nomeado UpperWall e alteraremos sua escala (SCALE) para X:100 Y:1 Z:10. Durante a criação, iremos posiciona-lo (POSITION) em X:0 Y:35 Z:0 . Também, aplicaremos o componente RigidBody, desmarcando a opção “Use Gravity” e marcando todas as opções em “Constraints”, “Freeze Position” e “Freeze Rotation”. FOTO 1 Duplicaremos o primeiro e renomearemos para LowerWall. Posicionado-o em X:0 Y:- 35 Z:0. FOTO 2
  • 4. 4 Agora criaremos a esfera nomeada Ball. Está será posicionada em X:0 Y:0 Z:0 com uma escala de X:5 Y:5 Z:5. Aplicaremos então o componente RigidBody, para que possamos trabalhar com física. Desabilitaremos a opção “Use Gravity”. Também, devemos alterar o material da esfera, dentro da opção “Sphere Collider”, para “Bouncy”. FOTO 3 Para obter uma melhor visualização in-game, iremos alterar a posição da camêra principal (Main Camera) para X:0 Y:0 Z:-70 FOTO 4
  • 5. 5 Agora, para iluminar o cenário, criaremos um foco de luz (Point Light) e posicionaremos na frente da câmera X:0 Y:0 Z:-20 . Definindo seu alcance (RANGE) como 100. FOTO 5 Parte da cena já está pronta, agora falta criar as barreiras moveis (Tiles/Pads/Paddles) , que serão controladas pelos jogadores. Criaremos outro cubo, porém nomeado RightPaddle. Sua escala é de X:5 Y:15 Z:10 e posição X:-45 Y:0 Z:0. Aplicaremos então o componente RigidBody novamente e desmarcamos a opção “Use Gravity”, com as Constraints Freeze Position (X e Z) e Freeze Rotation (X, Y e Z). FOTO 6
  • 6. 6 Duplicaremos este item, renomeando-o para LeftPaddle e posicionando-o para X:45 Y:0 Z:0. FOTO 7 Aplicaremos agora as texturas, começando pela esfera. Criaremos um material novo com a textura “basket”. Agora arrastamos este material até o objeto “Ball” e pronto, o objeto está texturizado. FOTO 8
  • 7. 7 O mesmo será feito para os paddles, porém com a textura tijolo. FOTO 9 Já as paredes, iremos aplicar uma cor sólida com o R:73 G:255 B:10 A:255. FOTO 10
  • 8. 8 FOTO 11 Pronto, agora a cena está completa. Precisamos definir alguns limitadores que impeçam que a bola saia da cena e não seja resetada. Assim devemos criar barreiras. Criaremos um objeto vazio nomeado “Barriers”, cujo o objetivo é agrupar as outras barreiras que criaremos. Criaremos mais um objeto vazio, porém, nomeado BackBarrier e definirmos sua escala como X:100 Y:100 Z:1 e colocaremos este objeto na posição X:0 Y:0 Z:-50. Também, deverá ser adicionado o componente “Box Collider” e deve-se marcar a opção “Is Trigger”.
  • 9. 9 FOTO 12 Criaremos mais cinco deste objeto e alteraremos seus nomes/escala/posição para: Nome Escala Posição FrontBarrier X:100 Y:100 Z:1 X:0 Y:0 Z:50 LeftBarrier X:1 Y:100 Z:100 X:50 Y:0 Z:0 RightBarrier X:1 Y:100 Z:100 X:-50 Y:0 Z:0 LowerBarrier X:100 Y:1 Z:100 X:0 Y:-50 Z:0 TopBarrier X:100 Y:1 Z:100 X:0 Y:50 Z:0 Pronto, agora o cenário está finalizado e com todos os objetos que vamos necessitar.
  • 10. 10 2 - Programação dos Objetos Agora que o cenário está criado e configurado, vamos aplicar a programação necessária para que o jogo rode conforme desejamos. Criaremos scripts em C# para aplicarmos funcionalidades e controles aos objetos do cenário. Primeiro criaremos o script (C#) do objeto BALL. O script abaixo fará o controle deste objeto: using UnityEngine; using System.Collections; public class Ball : MonoBehaviour { private const float velocityIncrement = 1.001f; void Start() { Reset(); } void OnTriggerEnter() { Reset(); } void Update() { rigidbody.velocity *= velocityIncrement; } private void Reset() { // Valor aleatório entre 1 e 2 int direction = RandomNumber(1, 3); //Caso retorno = 1 if (direction.Equals(1)) { //reinicia a posição da Ball transform.position = Vector3.zero; //Aplica a velocidade inicial para a direita, aplicando uma //inclinação aleatória rigidbody.velocity = new Vector3(60, RandomNumber(-25,25), 0); } //Caso retorno = 2 else //return 2 { //reinicia a posição da Ball transform.position = Vector3.zero;
  • 11. 11 //Aplica a velocidade inicial para a esquerda, aplicando uma inclinação aleatória rigidbody.velocity = new Vector3(-60, RandomNumber(-25, 25), 0); } } private int RandomNumber(int min, int max) { int ret = Random.Range(min, max); return ret; } } Em seguida, criaremos o script para movimentação das barreiras móveis (RightPaddle e LeftPaddle) e iremos acoplar este mesmo script aos 2 Paddles. using UnityEngine; using System.Collections; public class verticalKeyboardControl : MonoBehaviour { //Axis Vertical public string axisName = "Vertical"; public float speed; void Update () { //variavel delta utilizada para aplicar a velocidade no eixo Y (mover os //Paddles verticalmente) var delta = new Vector3(0, speed, 0); //Caso o "controle" esteja com uma inclinação para cima, move //para cima if (Input.GetAxis(axisName) >= .001) delta *= 1f; //Caso o "controle" esteja com uma inclinação para baixo, move //para baixo else if (Input.GetAxis(axisName) <= -.001) delta *= -1f; else //Caso o "controle" esteja imóvel, não altera delta delta = Vector3.zero; //Aplica esta "impulso" sobre a posição do objeto, //independentemente de seu sentido transform.position += delta; } }
  • 12. 12 Agora que a programação está feita, necessitamos definir o recebimento de controles para o jogo. Para isto, vamos acessar o menu EDIT -> PROJECT SETTINGS -> INPUT , onde iremos deletar todas os sub-grupos, deixando apenas os dois nomeados “VERTICAL”. FOTO 13 Renomearemos um para “Controle1” e outro para “Controle2” e definiremos para cada um os itens “Positive Button” e “Negative Button”, respectivamente, para que a barreira móvel possa subir e descer. Observar que nos objetos RightPaddle e LeftPaddle o script já estará atuando, porém será necessário alterar a velocidade (o valor 1) e o Axis Name (nome do eixo) para o eixo que o moverá (Controle1 e Controle2, respectivamente. Além disso, você precisa se certificar que o atributo “Type” esteja configurado como “Key or Mouse Button” em ambos os players. Também precisaremos adicionar MASSA aos Paddles, para que eles não saiam voando ao serem acertados pela bola. Utilizar o valor 10000.
  • 13. 13 3 - Desenvolvendo o Menu Principal Pronto, o jogo em si está parcialmente completo. Vamos criar uma nova cena e programar o menu principal. A criação é bem simples, primeiro criamos uma base. Está será um cubo com as dimensões X:800 Y:1 Z:800 e posição X:0 Y:-8 Z:0 . Também definiremos a câmera para a posição X:0 Y:15 Z:-70. FOTO 14 Agora vamos para os itens do menu. Primeiro vamos buscar uma fonte na pasta de fontes do Windows e copiaremos o arquivo FONTE.ttf para a pasta ../projeto/assets . A fonte irá aparecer automaticamente no projeto dentro do Unity e em suas configurações devemos alterar o tamanho da fonte (FONT SIZE) para 40. Então criaremos um novo objeto “3D Text” nomeado PONG, aplicaremos a fonte escolhida e posicionaremos este objeto em X:-10 Y:32 Z:-10 .
  • 14. 14 Triplicaremos o título para gerar os botões : Nome Posição Escala START GAME X:-1 Y:10 Z:-10 1 CREDITS X:-1 Y:6 Z:-10 1 QUIT GAME X:-1 Y:2 Z:-10 1 FOTO 16
  • 15. 15 Para controlar os botões, vamos criar um script nomeado MenuButtons. using UnityEngine; using System.Collections; public class MenuButtons : MonoBehaviour { public bool isQuit; void OnMouseEnter() { renderer.material.color = Color.blue; } void OnMouseExit() { renderer.material.color = Color.white; } void OnMouseDown() { if (isQuit) { Application.Quit(); } else { Application.LoadLevel("Game"); } } }
  • 16. 16 Agora vamos acoplar o script aos botões e marcar a opção “IsQuit” no botão QUIT GAME. FOTO 17 Por ultimo, devemos adicionar o Componente Box Collider nos nossos botões, para que eles sejam capazes de entender quando o cursor do mouse passará sobre eles.
  • 17. 17 4 - Build & Play Agora, tudo pronto, vamos nos divertir! Vamos no menu FILE -> BUILD SETTINGS, adicionando as duas cenas criadas (MainMenu e Game, nesta exata sequência), com o botão “Add Current” . Abra novamente a Cena do jogo e faça o mesmo que descrito acima, para adicionar também a cena de jogo. Observe que o MainMenu é a cena de numero 0, enquanto o Game é a cena de numero 1. Escolhemos então a plataforma “PC and MAC Standalone” e a “Target Plataform” como Windows. Clicamos no botão BUILD AND RUN! FOTO 18 Agorá é só jogar!