Você está na página 1de 327

Apostila

Unity 4

Curso de Unity 4

A indstria dos games vem crescendo a cada dia e o que era uma brincadeira
de criana hoje virou coisa sria, j existem games que tem at indicao de
idade.
E essa indstria se tornou to rica que at o cinema se rendeu a ela, h alguns
anos era comum ver grandes filmes se tornarem jogos de vdeo game, hoje
isso mudou.
Temos grandes games que invadiram os cinemas, como Hitman, O Prncipe
da Prsia, Street Fighter,Mortal Kombat, entre outros
E agregado ao crescimento dessa indstria est o desejo de vrios jovens do
mundo inteiro em fazer parte desse mercado milionrio.
O que parecia um sonho h cerca de cinco anos atrs, hoje realidade. Temos
hoje no Brasil pequenas empresas de games que esto faturando muito com
essa indstria, principalmente os voltados para dispositivos mveis, porm, j
temos tambm algumas empresas brasileiras apostando no mundo dos
consoles.
Devido ao fato dessa indstria estar em um momento de grande crescimento
no Brasil, quem souber desenvolver algo novo e de qualidade certamente vai
colher os ricos frutos desse segmento.
Agora vamos conhecer um pouco mais a fundo sobre a origem de tudo isso,
como e de onde vem o primeiro console, os primeiros jogos, os principais
cones desse mercado que vem crescendo numa velocidade incrvel e ainda
promete crescer ainda mais nos prximos anos.

A histria dos games


Podemos dizer que a histria dos games comeou no ano de 1958, em um
laboratrio de pesquisas militares norte americano.
O primeiro jogo criado tinha o nome de Tennis for two, a mecnica desse jogo
era muito simples, o jogador precisava simular um jogo de Tnis na tela de um
osciloscpio.
Apesar desse jogo nunca ter sado de dentro do laboratrio onde foi criado, isso
no desabona em nada sua importncia para o mundo dos jogos.
Depois dele em 1961 surgiu mais um jogo criado nos Estados Unidos, dessa
vez a criao foi mrito de estudantes da Universidade de Massachusetts.
O jogo no
um desafio
Russel, que
do jogo que

tinha sido desenvolvido para fins comerciais, na verdade foi mais


entre amigos. O principal desafiado em questo foi Steve Slug
foi responsvel por grande parte do trabalho de desenvolvimento
futuramente ficaria conhecido como Spacewar.

A idia para esse jogo era simplesmente mostrar todo o potencial de uma
mquina nova que usava transistores ao invs de vlvulas.
Apesar do desinteresse comercial por parte dos criadores do jogo, no faltaram
pessoas interessadas em investir nessa nova idia.
E foi na dcada de 70, oito anos aps a finalizao do jogo Spacewar, que
apareceram os primeiros investidores na rea de games.
No podemos esquecer que falar de games falar de um conjunto e no de um
nico produto, um jogo eletrnico precisa de um aparelho para poder executar
suas rotinas de programao, ento, a evoluo dos softwares de games
caminhou lado a lado com a evoluo dos hardwares para rodar os games.
E esse fato fica claro em meados de 1971 com o nascimento do Odyssey, um
console capaz de se conectar a aparelhos de televiso. Esse console de
propriedade da Magnavox, certamente abriu as portas para as inovaes que
estariam por vir.
Como uma dessas inovaes vai citar as conhecidas mquinas de fliperama,
que resistem at os dias de hoje tornando aquela nossa visita ao Shopping
Center muito mais divertida.
Depois desse fenmeno chamado fliperama, era de se prever que surgissem
empresas interessadas em investir nos games, uma dessas empresas foi
a Atari que surgiu em 1976 inspirando outras empresas a investir em jogos e
consoles cada vez mais avanados.

Nem precisamos falar do sucesso que foi a empresa Atari, qualquer pessoa que
conhea o mnimo sobre games sabe a febre que foi o console produzido por
ela.
E essa febre se alastrou de tal forma que outras empresas viram nesse novo
segmento a oportunidade de gerar muito lucro em pouco tempo, uma dessas
empresas foi a Mattel, que se tornou uma forte concorrente da Atari brigando
no s na produo dos jogos, mas tambm na produo de consoles.
Durante alguns anos os proprietrios dessas duas empresas no enxergavam
nada a no ser um ao outro, a Atari e a Mattel estavam literalmente numa
guerra por mercado, e enquanto essa guerra se intensificava outros
investidores resolveram aproveitar para lucrar investindo na produo de jogos
para
esses
consoles,
e
assim
foram
surgindo
empresas
como Ubisoft, Rockstar, entre outras especialistas em criao de jogos.
Afinal, com o mercado de console concentrado nas mos de dois tits, o que
restava para os pequenos desenvolvedores era criar jogos para eles. E foi dessa
forma que surgiu a primeira Softhouse da histria dos games, a mundialmente
conhecida Activision criadora de relquias como Enduro e Pitfall.
A histria dos games
Agora a histria dos games ganhava uma nova pgina onde desenvolver jogos
era to lucrativo quanto desenvolver os consoles.
Aps a criao da Activision muitas outras empresas vieram e se foram de
acordo com as necessidades do mercado, mas sem dvida uma empresa que
podemos citar como revolucionria desde a sua fundao a Nintendo.
A Nintendo famosa produtora de consoles e games japonesa, a responsvel
por inmeros sucessos tanto na parte de games quanto na de consoles. E Falar
de Nintendo e no falar de Shigeru Miyamotoseria impossvel.
Shigeru foi responsvel por ttulos que faturam at os dias de hoje milhares de
dlares, alguns deles so: Super Mario, A lenda de Zelda, Metroid, Star
Fox, entre outros ttulos de sucesso.
Podemos dizer que a Nintendo hoje o que foi a Atari nos anos 70, obvio
que a Nintendo enfrenta rivais muito mais poderosos do que a Atari, mas
essa rivalidade que mantm essa empresa viva e se renovando a cada dia.
Podemos destacar como a primeira rival da Nintendo a poderosa Sony com
seu console Playstation.
O Playstation desde sua primeira verso chamou a ateno pelos belos
grficos e jogos no to ldicos (marca registrada da Nintendo).
E com essas caractersticas mais voltadas para o pblico adulto no demorou
muito para a Sony comear a conquistar jogadores que queriam bem mais que
pular em tartarugas e quebrar tijolos com a cabea.

Com o Playstation 2 lanado em Maro de 2000 a Sony conseguiu garantir de


uma vez seu lugar no mundo dos games, mostrando ao mundo jogos incrveis
como GTA e God of War.
Hoje o Playstation est em sua terceira verso e mantm a mesma linha de
desenvolvimento com muita realidade e qualidade.
Por ltimo, mais uma empresa de grande poder no mercado mundial resolveu
tambm querer uma fatia desse mercado to lucrativo, a Microsoft ento
lana seu prprio console, o Xbox.
O Xbox surgiu
com
uma
proposta
bem
parecida
com
a
do Playstation da Sony, jogos voltados para um pblico mais velho, porm
com uma diferena ou um destaque, o foco em jogos multiplayer.
Hoje podemos dizer que o mundo dos games controlado por essas trs
grandes empresas: Sony,Nintendo e Microsoft. Vale lembrar que com o
surgimento dessas grandes empresas, aquelas primeiras que citamos no incio
dessa apostila como a Atari e a Mattel, foram perdendo fora e espao na
produo de consoles para essas trs grandes empresas que hoje dominam
esse mercado.
Mas a histria no para por ai, novos consoles ainda esto surgindo como o
ainda desconhecido Ouyaum console que promete executar na TV games feitos
para a plataforma Android. E para completar essa abrangente rea de jogos
eletrnicos no d para se esquecer de citar o mercado em plena ascenso dos
jogos para mobile, telefones celulares e tablets que tambm competem e
buscam seu espao e sua "fatia" desse mercado incrivelmente lucrativo de
games.
Quais so os estilos de games mais jogados em cada plataforma?
Essa a pergunta que todo desenvolvedor de games seja ele experiente ou
no, deveria se fazer antes de iniciar um projeto, um dos maiores erros dessa
indstria iniciar um projeto caro e demorado sem analisar se existe mercado
para o mesmo.
preciso entender que games campees em vendas para PC muitas vezes no
vo vender tanto em um console e vise versa.
Vamos analisar a fundo os principais aparelhos executores de games e analisar
seu respectivo mercado.
Hoje em dia temos os seguintes aparelhos:
Console
Os consoles so aparelhos eletrnicos dedicados a executar games, esses
aparelhos precisam estar conectados a aparelhos transmissores de imagem e
udio (aparelhos de TV) para que possam ser utilizados da maneira que se
deve.

Se fizermos uma pesquisa, veremos que de 90% dos lares no mundo todo
possui ao menos 1 aparelho de televiso. Isso comum faz parte da nossa
cultura, desde pequenos j somos acostumados a passar boa parte do nosso
tempo assistindo TV. Seja na sala em sof, ou no quarto deitados em uma
cama, espalhado em um puff, ou at mesmo sentado ou deitado no cho,
enfim, o assistir TV um ato de relaxamento. E um game feito para consoles
tenta seguir a mesma linha que os programas de TV, ou seja, feito para
relaxar, se descontrair, enfim, se divertir.
Quando voc senta em frente TV voc quer relaxar e acompanhar alguma
histria, nos identificarmos com alguns personagens, fantasiarmos outros,
enfim, so por essas razes que gostamos tanto de filmes, novelas e seriados.
E as empresas de games para console sabem disso, e produzem jogos com
histrias onde voc deixa de ser apenas um espectador e vira o personagem
principal, jogar um game no console deixar de ver o filme para entrar nele.
Computadores
Os computadores ao contrrio dos consoles no tm como funo primordial
executar games, na verdade essa ao apenas uma das vrias tarefas de um
computador.
Agora vamos analisar em quais locais temos maior facilidade de encontrar
computadores. Os computadores podem ser encontrados nas casas, salas e
quartos, podem ser encontrados nas empresas, nos hospitais, nos comrcios, e
por ai vai.
Essa diversidade de locais possveis de se encontrar um computador identifica
com facilidade seus usurios e em consequncia os tipos de jogadores desses
aparelhos.
A seis ou sete anos atrs raramente voc encontraria um jogador de
computador em sua casa em sua maioria esse jogadores jogavam no trabalho e
principalmente em Lan House e Cyber Caf, porm com a evoluo do
hardware e o preo reduzido de mquinas mais potentes e internet banda larga
ficou comum encontrar esses jogadores em suas casas ou em casas de amigos
jogando em grupo.
Celulares
Os jogadores que usam esse aparelho so diferentes dos dois anteriores, pois
pelo fato do celular ser um aparelho porttil ele pode se adequar a situao e
ao local onde est.
O jogador que usa um celular pode jogar em uma fila de espera, deitado em
sua cama, no sof da sala enquanto a me assiste TV, enfim um aparelho
que se adapta a qualquer lugar e situao, talvez por isso seja to difcil definir
um estilo de jogo para ele.

Quando pensamos em celulares precisamos definir games levando em


considerao as dimenses e potncia do aparelho e no o local ou hora que o
jogador vai us-lo.
Ento para um aparelho que tem uma tela limitada preciso desenvolver
games que faam uso de imagens grandes e que no sobrecarreguem o
sistema do celular que tem outras funes alm de servir como reprodutor de
games, nesse caso a otimizao de imagens e cdigos imprescindvel.
Entre os games mais jogados para celulares esto o famoso Side Scroll ou
"estilo Super Mrio", Tetrise qualquer jogo que use uma nica tela.
claro que dependendo do aparelho celular jogos mais potentes podem ser
executados por ele, mas aqui estamos falando dos aparelhos em geral.
Tablets
As tablets se encaixam nas mesmas descries dos celulares, exceto pelo
tamanho da tela e potncia do aparelho.
Para desenvolver games para tablets algumas regras usadas no
desenvolvimento para celulares precisam ser mantidas como a otimizao de
cdigo e grficos.
Mas ao contrrio dos celulares as tablets podem reproduzir games em 3D com
qualidade superior aos reproduzidos por certos consoles como Playstation
2 por exemplo.
Ento, logicamente games como Hitman e God of War para Playstation
2 podem muito bem serem reproduzidos nesses aparelhos.
Tipos de Games
Muitas pessoas jogam jogos de estilos diferentes e acham que tudo igual, no
bem assim, os games so diferentes entre si.
Alm do game para puro entretenimento que o mais conhecido pelos
jogadores de console, existem outros tipos de jogos que vamos listar a seguir.
Advergames
Os advergames se tornaram populares a partir do ano de 2000, a estratgia
dos advergames muito simples, ela se baseia em fundir uma propaganda com
um jogo. Hoje comum encontrarmos games que promovem produtos e at
mesmo servios.
Essa uma forma de fixar uma marca ou servio na cabea do jogador.
Existem vrias empresas que apostam nesse novo tipo de marketing, por
exemplo, encontramos jogos de bolachas, de carros, de dinossauros que
comem iogurte e por ai vai.

Games educativos
Essa modalidade de jogos tambm muito popular entre os pais e professores.
Existem escolas que pagam pequenas fortunas para adquirir jogos que possam
ajudar a fixar na mente de seus alunos o contedo curricular, que podem
abranger desde os primeiros anos escolares com jogos simples para a
alfabetizao, conhecer cores, animais, entre outras coisas, como tambm
podem ser utilizados para criar jogos mais complexos e que mostrem na prtica
contedos que em uma sala de aula seriam extremamente difceis de explicar.
Esses jogos so em sua maioria muito simples para se desenvolver, sem muitos
efeitos visuais ou complexas histrias, mas cumprem com excelncia sua
funo, jogos como ligar pontinhos, colorir, quebra cabea, so alguns dos
games possveis para essa categoria.

Games corporativos
Essa categoria de games tambm nova no mercado e ela se destina a treinar
trabalhadores que precisam executar funes complexas em ambientes de
extremo risco.

Assim como os educativos esses games no tem seu foco em qualidade grfica,
nica exigncia do mesmo a exata reproduo da realidade.
Existem empresas petroqumicas que usam simuladores virtuais para
treinamento de operadores de mquina, autoescolas que usam simuladores ao
invs de veculos reais para testes de condutores.

Games sociais
Essa modalidade de games vem crescendo a cada dia, com comunidades
como Orkut e Facebook o mercado para games sociais vem crescendo
bastante.
As pessoas no se contentam mais em apenas deixar mensagens nas redes
sociais elas querem interagir umas com as outras atravs de um mundo virtual,
um mundo dos games.
O crescimento desse tipo de jogo foi tanto que em alguns games sociais
podemos ver traos tpicos de advergames.
Isso natural afinal um jogo onde vrias pessoas interagem umas com as
outras sempre uma boa ferramenta para se anunciar produtos e servios.
Temos como um bom exemplo de game social o Cityville da Zynga um jogo
muito parecido com o famoso Simcity.

Games Indies
O que um desenvolvedor Indie?
Podemos definir como um desenvolvedor de games indie uma pessoa ou
pequeno grupo de pessoas que no esto inseridos no grande mercado de
games, mas que produzem games comerciais mesmo assim.
Uma das diferenas entre os desenvolvedores indie e
desenvolvedores a organizao da equipe e claro seu capital.

os

grandes

Enquanto grandes empresas tm verdadeiras linhas de produo para


desenvolver seus produtos e um capital de giro expressivo para promover esses
produtos, os indies precisam ser polivalentes e em sua maioria no tem capital
inicial.
Um produtor de games indie precisa muitas vezes saber programar, modelar,
vender o produto, e tudo isso com o capital a zero.
Como e onde publicar seus games Indies
A indstria dos games sem duvida uma indstria milionria mesmo em
tempos de crise esse seguimento se mantm firme e estvel.
Esses fatores so mais que suficientes para atrair um nmero enorme de
jovens querendo realizar dois sonhos, o de ganhar muito dinheiro e o de fazer
aquilo que ama.
Mas precisamos deixar claro para esses novos profissionais que a indstria dos
games assim como qualquer outra exige muito de seus colaboradores, criar um
game de qualidade uma tarefa rdua que exige muito estudo e disciplina.
Se voc teve a iniciativa de adquirir esse curso j provou que tem essas
qualidades ento vamos seguir em frente.
Quando voc terminar seu game vai se deparar com uma questo, o "e
agora"?
Afinal voc precisa fazer com que o maior nmero de pessoas possvel jogue a
sua criao, e acredite ningum vai querer te passar os contatos para que voc
consiga fazer isso afinal voc um concorrente.
Mas por isso que ns da AprendaMais resolvemos ajudar nossos alunos no
s ensinando como criar games de qualidade, mas tambm como public-los.
Nos prximos tpicos vamos apresentar timas opes para publicar seus
games aproveite essas oportunidades.
Big Fish
O Bigfish uma excelente opo para publicao de games indie, a equipe
bem atenciosa e profissional, no site deles voc pode ver o procedimento para
envio de seus games, e o melhor eles trabalham com games
para Pc, Mac, Android, Iphone e Ipad.
Segue o link:http://www.bigfishgames.com.br/

Arcade Town
O Arcade town um site bem interessante voc pode publicar seus games
nesse site e colocando a logo marca deles no seu game possvel no s ser
reconhecido como faturar algum.
Veja o link: http://www.arcadetown.com/
Union
A Union talvez seja uma das mais interessantes formas de publicar seus
games, ela faz parte da Unity Tecnologies e a equipe da Unity te ajuda a
vender seu game por uma pequena percentagem do seu lucro.
Veja o link: http://unity3d.com/
Steam
O que falar sobre a Steam? Ela simplesmente o sonho de qualquer
desenvolvedor, o seu game anunciado para o mundo inteiro.
Veja o link: http://store.steampowered.com/
Como documentar um projeto de game
Um game como qualquer produto precisa ser bem documentado, existem
etapas que precisam ser acrescentadas a rotina da equipe de desenvolvimento.
Abaixo vamos listar as etapas de desenvolvimento dessa documentao:
Fase inicial
Nessa fase precisamos definir com riqueza de detalhes todas as informaes
referentes ao game, se ele um game 2D ou se 3D.
A histria de um game precisa ter comeo meio e fim, os objetivos do jogador
dentro dele precisam estar bem definidos para que no final todas essas
informaes possam servir para as prximas etapas.
Documento de pblico
Esse documento de extrema importncia para o desenvolvimento do projeto e
atravs dele que analisamos todas as informaes do mercado de games para
as principais plataformas e suas devidas categorias como: games de ao,
games de aventura, etc.
Nesse documento tambm preciso definir com clareza todas as estratgias de
marketing para promover o game de tal forma que o lucro de vendas supere o
valor de investimento.

Descrio tcnica
Essa fase uma das mais curtas do desenvolvimento da documentao, talvez
por ser uma etapa que necessite de objetividade no que documentado.
na descrio tcnica que documentamos algumas informaes vitais ao
funcionamento do game como, por exemplo, se o game massivo qual
linguagem de programao est sendo usada, em qual aparelho ser
executado.
Documento de game designer
Esse documento responsvel por coletar todos os documentos criados
anteriormente a fim de produzir um game que respeite ao mximo as
determinaes j documentadas. A documentao de game designer no
admite erros, uma deciso tomada sem o devido conhecimento nas
documentaes anteriores capaz de destruir todo um projeto de game j que
a funo desse documento garantir que todas as decises anteriores sejam
integralmente executadas.
Prottipo
Por fim o prottipo, fase onde documentamos todos os testes feitos em
cenrios, funes. Essa fase tem como principal meta garantir a mecnica de
jogo.
Alm das documentaes apresentadas anteriormente existem documentos que
precisam ser feitos paralelamente para garantir o sucesso do projeto.
Precisamos analisar quais so as expectativas dos jogadores ao jogar o seu
game, se ele oferece ao jogador uma experincia social podendo ser jogado
entre amigos e se ao mesmo tempo ele possibilita uma experincia mais
individual para que o jogador possa usufruir do produto mesmo quando estiver
sozinho.
preciso analisar at onde vai coerncia do game, no se podem adicionar
itens coletveis a um game que no tenha nenhuma funo lgica. Dentro de
um game todos os objetos que sejam dotados de ao com o jogador precisam
ter funes agregadas a si, algumas funes mais importantes outras menos,
mas definitivamente todas com alguma interao lgica e perceptvel ao
jogador.
Os limites do mundo dos games tambm precisam ser bem definidos afinal o
personagem precisa comear e terminar o game como heri ou como vilo
evitando qualquer forma de mudana de lado durante a histria do game, no
devemos esquecer que um pecado mortal no mundo dos games deixar o
jogador confuso, essa sensao causa descontentamento e consequentemente
desinteresse pelo jogo.
Outro tema importante para se documentar o fluxo ou andamento de game,
um desenvolvedor de games em hiptese alguma pode deixar lacunas que

venham a provocar o travamento "no sentido evolutivo da histria do game".


preciso deixar pistas que mostrem para o jogador como ele pode prosseguir no
jogo, ningum gosta de chegar a uma fase e no encontrar pistas do que
precisa ser feito para seguir adiante.
Seguindo esses parmetros seu game estar bem documentado e pronto para
ser desenvolvido com o mnimo de erros possvel, talvez voc ache esse
procedimento demorado e at um pouco chato, mas acredite ele que vai te
ajudar a obter sucesso.
UNITY 3D
Finalmente chegamos na parte do curso que muitos estavam esperando, a
parte onde vamos conhecer a Game Engine Unity3d.

Introduo
A Unity3D como j foi mencionada, uma Game Engine ou traduzindo, um
motor de jogo. A funo desse software facilitar ao mximo o
desenvolvimento de aplicaes interativas 3D.
A empresa criadora da Unity3d (Unity Tecnologies) foi responsvel por uma
verdadeira revoluo no mundo dos games, afinal alm de desenvolver uma
ferramenta
capaz
de
competir
de
igual
para
igual
comGame
Engines poderosas
no
mercado
como UDK e CRY
ENGINE,
a Unity3D mostrou toda sua ousadia quando anunciou ao mundo que liberaria
uma verso gratuita e comercial para desenvolvedoresIndie.
Talvez essa atitude tenha sido apenas uma jogada de marketing j que
em 2007 e 2008 para uma pessoa comum ter uma ferramenta desse porte era
praticamente impossvel.
Seja o que for deu certo e em pouqussimo tempo a Unity3D comeou a ser
a Game Engine mais usada no mundo, conseguindo um espao at mesmo no
fechado mundo dos consoles.
Hoje a Unity Tecnologies no s oferece uma verso gratuita para que novos
desenvolvedores possam ingressar no mercado, como tambm oferece
ferramentas adicionais por um preo relativamente baixo em relao s
concorrentes que podem ir turbinando sua verso free da Unity3D.

Baixando e instalando a Unity3D


Acesse a pgina da Unity3D:
http://unity3d.com/unity/download/
Aps acessar a pgina faa o download da verso mais atual a 4.x.x:

Agora que j fizemos o download da Unity3D vamos instalar dando um clique


duplo sobre o cone do programa. Depois de clicar teremos a primeira tela de
instalao da Unity3Dapresentada na imagem abaixo:

Clique no boto Executar para iniciar a instalao da Unity3D.


Ser apresentada a seguinte tela: Clique em Next para dar prosseguimento
instalao.

Veja que ir aparecer a seguinte tela: Clique em I Agree para concordar com
os termos de licena e continuar com a instalao.

Feito isso, ser apresentada tela da imagem abaixo: Clique em Next para
instalar todos os componentes da Unity3D.

A prxima tela a ser apresentada ser a seguinte: Aqui a Unity 3D mostra


onde ela ser instalada em seu computador, clique em Install para prosseguir.

Feito isso teremos a tela de progresso:

Essa tela apenas mostra o progresso da instalao da Unity3D.


Por fim teremos a ltima tela do processo de instalao, clique em Finish para
finalizar o processo e executar a Unity3D.

Clicando em Finish a tela representada na imagem abaixo abrir: Nessa tela


voc vai precisar licenciar sua cpia da Unity3D, escolha a segunda
opo, Active the free version of Unitye clique em OK.

Feito isso ser apresentada a seguinte tela: Se for a primeira vez que voc est
instalando aUnity3D, aqui ser necessrio que voc clique no boto Create
Account para se registrar na Unity3D (esse servio totalmente gratuito).

Clicando nesse boto teremos a tela de registro: Preencha seus dados como
pedido no formulrio e clique em OK.

Aps esse procedimento voc receber um e-mail para confirmar seu registro,
confirme o mesmo e a seguinte tela ser apresentada em seu navegador web:

Pronto! Voc est perto de poder usar a Unity3D s precisa seguir mais
alguns passos, veja a imagem abaixo: Depois de se registrar voc dever voltar
tela da Unity3D e colocar seu e-mail e senha criados nos passos anteriores,
e ser direcionado tela abaixo:

Preencha a pesquisa feita pela Unity eles querem saber seu nvel de
conhecimento, seus interesses para com Unity3D, etc. Terminado esse
preenchimento avance.

Aparece a seguinte tela:

Pronto! Agora s produzir seus games.

Interface
Agora que j instalamos e conhecemos um
da Unity3D chegou a hora de conhecer sua interface.

pouco

da

histria

Primeiramente vamos conhecer as ferramentas e posteriormente detalharemos


cada parte delas.

Enfim essa a cara da Unity3D, a princpio parece um pouco assustadora com


todas essas janelas, mas acredite s impresso.
Barra de ferramentas:

A barra de ferramentas da Unity3D composta pelos itens: File, Edit,


Assets, GameObject, Component, Terrain, Window e Help.
Cada um desses botes de menu sero explorados mais adiante, no momento
s precisamos saber que eles existem para facilitar nosso trabalho.

Ferramentas de manipulao 3D

Logo abaixo da barra de ferramentas temos as ferramentas de


manipulao 3D com elas conseguimos fazer todo tipo de manipulao de
objetos dentro de um mundo tridimensional.
Vamos detalhar cada uma delas:
A ferramenta mo auxilia o desenvolvedor movimentando a tela da
aba/janela Scene para qualquer direo.

A ferramenta cruz tem a funo de mover qualquer objeto de game


(GameObjects) nos eixos X,Y e Z.

A ferramenta de rotao tem a funo de girar qualquer objeto de game


(GameObjects) nos eixos X, Y e Z.

A ferramenta de escalonamento tem a funo de aumentar ou diminuir o


tamanho de qualquer objeto de game (GameObjects) nos eixos X, Y e Z.

As ferramentas Center e Local tem funes bem interessantes, o primeiro


boto "Center" quando clicado pode mudar sua situao atual
de Center para Pivot alterando a movimentao e rotao de dois ou mais
objetos de game (GameObjects).

Abaixo um exemplo de movimentao de dois objetos com o boto "Center"


selecionado.

Abaixo um exemplo de movimentao de dois objetos com o boto "Pivot"


selecionado.

J a ferramenta Local quando clicada muda para Global fazendo com que um
objeto de game (GameObjects) seja rotacionado, movido ou escalado de
acordo com os eixos X,Y e Z do objeto (Local) ou do mundo 3D (Global).
O uso dessa ferramenta ficar mais claro com o decorrer do curso.
Ferramentas de iniciao de game
As ferramentas de iniciao de game, como o prprio nome diz tem a funo de
iniciar um teste do game, o primeiro boto o play inicia a execuo do cdigo
de game.

J o boto do meio o pause paralisa a execuo do cdigo, fazendo com que


toda a aplicao fique imvel. O ltimo boto o avanar funciona como uma
cmera lenta ele avana a execuo do game aos poucos.

Abas ou janelas da Unity3D


Veremos agora as principais abas/janelas.
Aba/Janela de montagem de game (Scene)
Essa a aba ou janela responsvel por oferecer ao desenvolvedor um
ambiente 3D para montagem dos cenrios.

Ela pode ser manipulada em qualquer direo e a mesma apresenta alguns


botes responsveis por funes especficas que sero detalhadas adiante.
Botes da aba/janela de montagem de game (Scene)

Da esquerda para a direita vamos analisar cada boto e suas propriedades:

Textured que responsvel por apresentar ao desenvolvedor sua cena


na forma texturizada (Default);
Wireframe onde podemos ver apenas as linhas dos objetos 3D;

Textured Wire possvel ver os objetos texturizados e com as linhas


de modelagem;
Render paths que so os chamados caminhos de renderizao, onde
podemos ver de que forma cada objeto ser renderizado;
Lightmap Resolution onde conseguimos ver as resolues dos mapas
de sombra esttica.

Abaixo temos uma imagem representando cada boto explicado acima.

Prosseguindo, ao lado do boto Textured temos o boto RGB (que est com a
opo Mipmapsselecionada) que significa Red, Green e Blue ou vermelho,
verde e azul as cores primrias que juntas nos fornecem todas as faixas de
cores reproduzidas pelos computadores.

RGB que mostra a cena com as cores normais de cada objeto.


Alpha que mostra as transparncias das texturas;
Overdraw que renderiza as transparncias de uma forma que facilita
detectar objetos renderizados um sobre o outro;
Mipmaps, que mostra para o desenvolvedor se uma textura grande
demais para o objeto em que ela est sendo aplicada.

Abaixo temos uma imagem representando cada boto explicado acima.

Continuando um pouco mais a direita temos os seguintes botes:

O pequeno sol: Tem a funo de mostrar a cena com ou sem as luzes criadas
em cena;
O quadro: Tem a funo de mostrar a cena sem as linhas de grade que guiam
o desenvolvedor (As linhas quadriculadas que aparecem na aba/janela Scene);
E por ltimo temos o boto de iniciao de udio ele tem a funo de
reproduzir os arquivos de udio colocados na cena.
direita temos o boto Gizmos, esse boto lista todos os cones
da Unity3D permitindo alterar o tamanho de cada cone e sua visibilidade.
Segue abaixo a imagem do boto estendido com todas as suas opes.

Por ltimo no canto superior temos um campo de busca, nele podemos digitar o
nome de qualquer objeto de game (GameObjects) que ele ser destacado no
meio de todas as modelagens e cones presentes em tela.
Veja um exemplo abaixo:

A seta superior mostra o campo de busca com o nome do GameObject que no


caso nomeamos como "caixa". E na seta inferior podemos ver
o GameObject de nome "caixa" destacado dos demaisGameObjects em
cena.
Aba/janela de game (Game)
A aba/ janela de Game tem a funo de mostrar a execuo do game sem a
necessidade de uma compilao.

Ao contrrio de algumas ferramentas que compilam vrias vezes um projeto


para que seja possvel visualizar o cdigo em ao, a Unity3D mostra nessa
aba/janela como seu game vai se comportar depois de ser compilado.
Agora vamos entender qual a funo dos botes que existem nessa aba/janela

Veja que o primeiro boto mostra vrios nmeros, esses nmeros so as suas
opes de resoluo de tela.
Voc pode escolher qualquer uma como resoluo de seu game, e escolhendo
ver que o tamanho da rea de game ser alterado.
Veja um exemplo: Tela no modo de resoluo em Free Aspect.

Tela no modo de resoluo em 5:4.

Nessa mesma aba/janela perceba que existe um boto chamado Maximize on


Play que tem a funo de mostrar seu game executando em tela grande, e ao
lado do boto Maximize on Play temos o botoStats onde temos todos os
dados de execuo do game, desde nmero de tringulos at o nmero de
frames por segundo.

Ao lado do boto Stats temos o j apresentado boto Gizmos que apenas


mostra a lista de cones da Unity3D.
Aba/janela de Hierarquia (Hierarchy)
A aba/janela de hierarquia lista todos os objetos de game (GameObjects) em
cena desde uma cmera at luzes e objetos 3D.

Ela tambm tem a funo de criar objetos de game (GameObjects) como


cubos, luzes, cmeras, partculas, etc.
Para isso basta clicarmos no boto Create que se encontra no canto superior
esquerdo da aba/janela como mostra a figura abaixo:

Note que aqui tambm temos um campo de busca que nos mostra onde est
um objeto especfico.
Aba/janela projeto (Project)
Na aba/janela projeto (Project) so listadas todas as pastas do game desde
texturas, imagens, modelos estticos, modelos animados, sons, shaders, enfim.

Nela podemos criar pastas de game, cdigos, animaes entre outros


elementos de game clicando no boto superior esquerdo Create.
Veja na imagem abaixo como utilizar o boto Create:

Primeiro clicamos em Create e no menu que aparece escolhemos a opo de


acordo com o que iremos criar, um cdigo, uma animao, enfim, ser de
acordo com o que queremos fazer.
Note que ao lado voltamos a encontrar o campo de busca responsvel por
ajudar o desenvolvedor a encontrar elementos dentro da lista de elementos de
game.

Aba/janela inspeo (Inspector)


A aba/janela de inspeo mostra para o desenvolvedor vrias informaes
referentes aos objetos de game (GameObjects) e componentes de game (Game
Components).

Mostra por exemplo o nome do objeto de game (GameObject).

Mostra a localizao (Position), tamanho (Scale) e rotao (Rotation) desse


objeto de game (GameObject) no mundo 3D.

Podemos ver tambm algumas propriedades fsicas como Is Trigger, Material,


Centro de efeito fsico (Center), Tamanho do corpo fsico (Size).

Outra opo muito eficiente que iremos mostrar agora a renderizao de


malha onde temos as opes de lanar e receber sombras (Cast Shadows e
Receive Shadows), material de textura (Material) empregado no objeto de
game e uso de luzes (Use Light Probes).

Nota: "Uma malha nada mais do que um objeto 3D composto de uma malha
de tringulos".
Por ltimo temos o material de textura aplicado ao objeto de game
(GameObject), onde temos o nome do material, a cor predominante sobre esse
material (Main Color), a textura usada (Base (RGB)) o valor
de Tiling e Offset e no fim um boto para adicionar mais componentes (Add
Component).

Barra de ferramentas
Como mencionamos anteriormente a Unity nos oferece uma barra de
ferramentas bem parecida com as que existem nos programas comuns de
computador como Word e Photoshop.
Agora vamos detalhar cada item do menu e mostrar como cada um pode
facilitar a vida do desenvolvedor de games.
Menu File expandido:

Perceba que os itens que


como Photoshop e Word.

aparecem

at

se

assemelha

programas

No menu File temos como primeiro boto o New Scene, clicando nesse boto
iremos criar uma cena totalmente nova para nosso game (Lembre-se que uma
cena equivale a uma fase do game).

Logo abaixo temos o boto Open Scene, como voc deve ter deduzido esse
boto vai abrir uma cena dentre vrias outras que seu game venha a ter.

A seguir temos o boto Save Scene e Save Scene as, que como voc
tambm j deve ter deduzido responsvel por salvar as cenas (fases) do seu
game.

Na sequncia temos trs botes que so respectivamente:

New Project - sua funo a de criar um projeto de game;


Open Project sua funo abrir um projeto de game existente;
Save Project sua funo salvar um projeto de game.

Os dois botes seguintes, Build Settings e Build & Run so responsveis por
compilar seu game para a plataforma desejada, seja ela Pc, Mac, Web, Android,
etc.

E por fim o boto Exit que nada mais que uma sada do programa.

Menu Edit expandido:

No menu Edit temos a principio os botes Undo(...) e Redo(...), esses botes


avanam e retornam uma ao.

Logo abaixo temos trs botes o Cut, Copy e Paste, que significam
respectivamente, recortar, copiar e colar um objeto de game (Gameobject).

A seguir temos os botes:


Duplicate - tem como funo duplicar um objeto de game (GameObjects) ou
componente (Game Component). Delete tem como funo apagar/excluir um
objeto de game (GameObjects) ou componente (Game Component).

Em seguida temos Frame Selected, para o funcionamento desse boto se faz


necessrio que voc tenha selecionado ao menos um objeto de game
(GameObject), se essa condio for satisfeita ao apertar o boto Frame
Selected viso do objeto selecionado ser ajustada para um ngulo de
trabalho mais adequado.

Antes de clicar em FrameSelected:

Depois de clicar em FrameSelected:

O prximo o boto find, clicando nele, seremos direcionados para a aba de


pesquisa de objetos de game (GameObjects) onde teremos condies de
encontrar qualquer objeto dentro de nossa cena.

Na sequncia temos o boto Select All que ir selecionar todos os objetos de


game (GameObjects) que existirem na cena.

Nota: "Na verso 4.0.x essa opo executada de maneira satisfatria usando
as teclas de atalho Ctrl + A.
A seguir temos o boto Preferences..., que tem a funo de ajustar a
aparncia da Unity3D, trocando as cores de fundos das abas/janelas dentre
outras pequenas modificaes visuais.

Mais abaixo temos na sequncia os botes:

Play - responsvel por executar o game;


Pause - responsvel por pausar a execuo do mesmo;
Step - responsvel por executar frame a frame o projeto de game.

Na sequncia teremos:

Load
Selection carrega
a
seleo
de
um objeto de
game
(GameObjects). Load Selection pode expandir at Load Selection 1, Load
Selection 2

Save Selection - salva a seleo de um objeto de game (GameObjects). Save


Selection pode expandir at Save Selection 1, Save Selection 2

Na sequncia temos mais dois botes muito importantes o Project Settings e


o Render Settings.
O boto Project Settings responsvel por nos fornecer as configuraes
de inputs, udio, fsica, qualidade de renderizao entre outros.

J o boto Render Settings nos fornece as configuraes de renderizao


como a cor da luz ambiente, a cor do efeito de nevoa, entre outros efeitos.

Continuando temos os botes:


Network Emulation - que responsvel pelas configuraes de rede como
DSL, Dial Up, entre outras.

Graphics Emulation - que nos oferece as opes de escolher qual tipo


de shader queremos usar oShader Model 3, Shader Model 2, Shader Model 1,
etc.

E por ltimo, temos o boto Snap Settings que nos fornece as configuraes
de grid (As linhas que servem de guia para posicionar os objetos em cena).

Menu Assets expandido:

No menu Assets comeamos vendo o boto create que responsvel por criar
pastas de game, cdigos, animaes, entre outros elementos de games.

Na sequncia teremos os seguintes botes:


Show in Explorer - que nos mostra tudo que existe na pasta matriz do nosso
projeto de game.

Open e Delete - que so responsveis por abrir ou deletar os elementos


contidos nas pastas de game.

Import New Asset - que tem a funo de importar elementos de game como
texturas e modelos 3D salvos em outros projetos.

Import Package - que responsvel por importar pacotes de cdigos, efeitos


especiais, texturas e at modelos usados em outros projetos ou pacotes
presentes na Engine.

Agora podemos ver todos os pacotes que integram a Unity3D, e como primeira
opo tem o botoCustom Pachage que abrir pacotes criados pelo
desenvolvedor. Caso voc clique em Custom Pachage a seguinte janela ir
surgir:

Mas se sua escolha for por um pacote padro da Unity3D a seguinte janela ir
surgir:

Nota: "Temos a opo de escolher quais pacotes queremos apenas marcando


ou desmarcando a caixa de seleo apresentada ao lado de cada item do
pacote".
Em ambas as opes depois de escolhido um pacote e clicado em Abrir (no caso
de Custom Pachage) ou em Import (no caso dos pacotes padro), teremos em
nossa aba/janela Project a pasta correspondente ao pacote escolhido como
mostra a imagem abaixo:

Continuando na explicao do menu Assets expandido temos na sequncia o


boto Export Packageonde possvel exportar cdigos e materiais para serem
usados em projetos futuros.

Para usar essa ferramenta selecione a pasta de game que voc deseja
exportar:

Depois clique no boto Export Package e teremos a seguinte janela:

Perceba que a pasta "fase" esta selecionada para exportao, clique


em Export e a seguinte janela surgir:

Crie um nome qualquer para seu pacote e clique em Salvar.


Pronto! Est salvo um pacote criado por voc.
A seguir veremos o boto Find References in Scene, esse boto s funciona
se algum item de game (Texturas, Cdigos, udio) estiver selecionado, dessa
forma o boto ordenar uma busca para encontrar onde o item selecionado
est sendo usado na cena, destacando o objeto de game (Gameobject) que o
contm.

Para ver essa ferramenta em ao, primeiro clique em um item qualquer


contido em nossas pastas de game como demonstrado abaixo:

Com o material "mat" selecionado, clique em Find References in Scene para


obtermos a seguinte resposta:

Est ai, o objeto de game (GameObjects) que contm o material de nome


"mat" o cubo destacado na cena.Continuando a explicao dos botes do
menu Assets temos um boto chamado Select Dependencies, esse boto
usado para selecionar todos os elementos de game contidos em uma pasta.

Para que essa ferramenta funcione, primeiro clique em uma pasta de game.

Depois clique no boto Select Dependencies e pronto todos os itens de game


que se encontram dentro da pasta sero selecionados.

Agora na sequncia temos trs botes:


Refresh - que atualiza as pastas de game.

Reimport - que importa novamente algum pacote que foi perdido por alguma
razo.

Reimport All - que reimporta todos os pacotes de game importados


anteriormente.

E finalmente temos o ltimo boto, o Sync MonoDevelop Project que faz uma
sincronizao da Unity com o programa responsvel por escrever os cdigos de
game no caso o MonoDevelop (dificilmente voc usara esse boto j que o
MonoDevelop se tornou padro na Unity3D).

Menu Game Object expandido

No menu Game Objects temos como primeiro boto o Create Empty, esse
boto responsvel por criar um GameObject vazio na cena.

Na sequncia teremos os seguintes botes:


Create Other - que quando expandido nos oferece um leque de objetos de
game (GameObjects) para serem criados, veja abaixo a imagem expandida:

Center On Children - que tem a funo de centralizar um objeto "pai" entre


os objetos "filhos".Antes de ver o resultado obtido clicando nesse boto vamos
explicar o que um objeto "pai". Um objeto "pai" aquele objeto que recebe
um ou mais objetos como "filhos", sendo que um objeto "filho" por sua vez
precisa obedecer a seu "pai", se o "pai" se move o "filho" tambm vai se
mover.O contrrio j no acontece, se o objeto "filho" se mover o "pai"
continua imvel.
Ento baseado nessa explicao vamos ver o que acontece se clicarmos no
boto Center On Childrenna presente situao:

Veja que o cubo azul selecionado o "pai" dos outros dois cubos.
Agora vamos clicar em Center On Children e teremos o seguinte resultado:

O cubo "pai" foi movido para uma posio entre os dois objetos filhos.
Make Parent - esse boto tem a funo de tornar um objeto "pai" de outro,
para us-lo primeiro precisamos clicar no objeto que queremos que seja o
"filho", depois com a tecla Ctrl pressionada clicamos no objeto que ser o
"pai" e por fim clicamos no boto Make Parent.

Clear Parent - esse boto tem como funo quebrar um vnculo que tenha
sido criado entre dois ou mais objetos de game pelo boto Make Parent.

Para que esse boto funcione clique no objeto "filho" que se deseja excluir do
parentesco e clique em Clear Parent.
Apply Changes to Prefab - esse boto tem como funo aplicar aos objetos
pr-fabricados todas as alteraes feitas no objeto de referncia para a criao
do pr-fabricado

Break Prefab Instance - esse boto quebra a ligao entre o pr-fabricado e


seu objeto de game (GameObjects) de origem.

Move to View - tem como funo mover qualquer objeto de game


(GameObjects) selecionado para frente da rea de viso da cmera do
desenvolvedor.

Align With View - tem a funo de alinhar qualquer objeto de game


(GameObjects) selecionado com a viso da cmera do desenvolvedor.

E por fim temos o Align View to Selected que tem a funo de alinhar a
cmera de viso do desenvolvedor com o objeto de game (GameObjects)
selecionado.

O menu Game Object um dos menus mais usados pelos desenvolvedores de


games em Unity3D, atravs desse menu que podemos adicionar a nossa
cena uma infinidade de objetos de games (GameObject) que unidos daro o
efeito visual to esperado.
Nesse tpico no nos aprofundaremos nesse menu para que seja possvel
apresentar todas as ferramentas contidas na Unity3D, mas, detalharemos o
uso desse menu nas aulas em vdeo e no projeto que ser desenvolvido no fim
desse mdulo.

Menu Component expandido

No menu Component temos como primeiro boto o Add, que tm como


funo adicionar componentes de game aos objetos em cena, atravs dele
que adicionamos por exemplo um cdigo a um objeto.

Na sequncia veremos os seguintes botes:


Mesh, Effects, Physics, Navigation, Audio, Rendering, Miscellaneous e
Scripts que so justamente os tipos de componentes adicionados aos objetos
de game (GameObject).
Vamos agora detalhar cada um deles.

Menu Terrain expandido

No menu Terrain temos o boto Create Terrain que como o prprio nome diz
tem a funo de criar um terreno que poder ser editado pelo desenvolvedor.

Logo abaixo teremos as seguintes opes:


Import Heightmap Raw... - tem a funo de carregar um mapa de terreno
criado em algum projeto anterior.

Export Heightmap-Raw... com ele podemos exportar o terreno que criamos


para us-lo em qualquer outro projeto.

Set Resolution... aqui mesmo depois de um terreno criado podemos


configurar suas propriedades de altura, largura e resoluo.

Mass Place Trees... - tem a funo de controlar o nmero de rvores em


cena.

Flatten Heightmap... - como o prprio nome diz tem a funo de achatar o


terreno de acordo com a numerao determinada pelo desenvolvedor.

Refresh Tree and Detail Prototypes - tem a funo de atualizar os valores


dos prottipos das rvores.

Menu Window expandido

No menu Window temos algumas limitaes disponveis apenas para a verso


pro, ento no vamos aprofund-las.
Aqui temos como primeiro boto o Next Window, seguido por Previous
Window, esses botes tm respectivamente as funes de avanar e
retroceder janelas dentro da Unity3D.

Na sequncia temos o boto:


Layouts - que nos oferece vrios layouts da Unity3D, deixando por conta do
desenvolvedor escolher qual a melhor opo.

Agora detalharemos uma srie de botes que do acesso s janelas


da Unity3D. So eles: Scene, Game, Inspector, Hierarchy, Project, Animation,
Asset Store, Animator, Lightmapping e Console.
Cada opo dessas tem uma funo dentro da Unity3D. As cinco primeiras
janelas j foram detalhadas na parte onde falamos da interface, as demais
iremos explicar agora:
Animation

atravs da janela Animation que criamos animaes dentro da Unity3D,


como por exemplo, a animao de abrir e fechar uma porta.
Asset Store

A janela Asset Store nos d acesso loja on-line da Unity3D, mostrando


vrios games e preos.
Animator

A janela Animator uma novidade na Unity3D 4.x, e tem a funo de ajudar


os desenvolvedores a controlar animaes 3D.
Lightmapping

A janela Lightmapping tem a funo de auxiliar o desenvolvedor na criao de


sombras estticas.
Console

Por ltimo temos a janela Console que mantm o desenvolvedor informado


sobre possveis erros de compilao do cdigo de game.
Menu Help expandido

No menu Help temos botes no muito envolvidos com a produo de games,


nele encontramos informaes sobre a Unity3D, atualizao da licena, acesso
ao manual online da Unity3D, acesso ao frum dentre outras informaes.
Criando projeto
Agora que j conhecemos profundamente a Unity3D chegou a hora de
trabalhar. Para isso clique duas vezes sobre o cone da Unity3D para inici-la.

Feito isso v ao menu File e clique na opo New Project:

Na janela que surgir, selecione a aba Create New Project e em Project


Location escolha o local onde voc ir salvar seu projeto e o nome do projeto
como mostra a imagem abaixo:

Ns escolhemos o local, C:\Curso_Unity\Projeto\, acrescentando ao final do


local o nomeAula_01.
Agora s clicar em Create, e voc ter um projeto vazio para trabalhar.

Criando e salvando uma cena (fase)


Quando criamos um projeto automaticamente criamos uma cena, ento para
concretizar isso necessrio salvar essa cena, para isso clique
em File depois Save Scene ou Save Scene as...

Teremos como resultado a janela abaixo, digite o nome da fase e clique


em Salvar:

Feito isso aparecer automaticamente um cone representando nossa cena na


aba/janela Project como mostra a imagem abaixo:

Criando uma cena


Para criar uma nova cena muito simples clique no menu File depois no
boto New Scenecomo mostra a imagem abaixo:

Pronto cena foi criada, porm, necessrio salv-la para que a mesma
aparea na aba/janela Project.
Ento repita o procedimento de Save descrito acima para concretizar essa
ao, salve a cena como Fase2. Assim teremos o seguinte resultado:

Introduo ao gamecode
A Unity3D trabalha
com
trs
linguagens
de
programao C#,
Javascript e Boo, sendo as mais conhecidas, C# e Javascript.
A estrutura da Unity3D funciona bem com ambas as linguagens, poupando ao
desenvolvedor, preocupaes de desempenho.
Nesse curso ns da AprendaMais usaremos a linguagem mais popular
(Javascript), facilitando assim seu aprendizado.
Agora vamos escrever nosso primeiro cdigo que exibir na tela um "Ol
Aluno".
Mas antes de escrever nosso cdigo vamos aprender como cri-lo dentro de
uma pasta de nosso projeto de game.
Primeiro vamos criar uma pasta para guardar os scripts, clique no
boto Create na aba/janela Project e depois no boto Folder como mostra a
imagem abaixo:

Fazendo isso voc estar criando uma pasta de game onde poder salvar
cdigos, modelos, texturas, etc.
Nesse caso criamos uma pasta chamada Scripts como mostra a imagem
abaixo:

Agora
vamos criar nosso
primeiro arquivo de cdigo, com
pasta Scripts selecionada
clique
em Create novamente
e
escolha
boto Javascript.

a
o

Feito isso vamos ter um cone simbolizando o arquivo de cdigo, que


nomeamos comoOla_Aluno.

Agora clique duas vezes sobre o cone do script Ola_Aluno, para abrir o
programa de edio de cdigo como mostra a figura abaixo:

Perceba que a Unity3D gera um cdigo padro com duas funes a Start e
a Update, ento agora vamos us-las.
Vamos digitar o seguinte cdigo:

Antes de qualquer coisa vamos entender o cdigo, perceba que ele comea com
duas funes distintas, a funo Start e a funo Update.
A funo Start ser executada automaticamente uma nica vez antes da
funo Update, atravs dela podemos iniciar variveis.
J
a
funo Update executa
um looping a
cada frame (quadro
renderizao) atravs dessa funo que o jogo ganha vida.

de

Tanto a funo Start quanto a Update so funes padro da Unity3D e dessa


forma no devem ser alteradas.
Dentro da funo Update temos o cdigo print("String"), esse cdigo como
j citado acima padro dentro da Unity3D e tem a funo de escrever
mensagens (Strings).
Por essa razo se digitarmos print("Ola_Aluno") teremos como resultado a
palavra digitada entreaspas, escrita no rodap da aba/janela de game.
Esse cdigo foi colocado dentro da funo Update, mas se fosse colocado
em Start tambm funcionaria.
Para executar um cdigo na Unity3D preciso vincular o cdigo a algum
objeto de game (GameObject) para que o mesmo possa ser executado.
Ento vamos criar um objeto de game (GameObject) vazio que ter apenas
uma funo receber nosso cdigo.
Primeiro clique em GameObject e depois no boto Create Empty como mostra
a figura abaixo:

Feito isso teremos a seguinte imagem:

Perceba que na aba/janela Scene temos uma imagem que contm trs flechas,
isso significa que existe um objeto de game (GameObject) e as flechas s esto
indicando a orientao desse objeto de game (GameObject) no mundo 3D,
como mostra a figura abaixo:

Essa figura representa os trs eixos do mundo tridimensional, precisamos


lembrar que mesmo no desenvolvimento de um game 2D o processo de
montagem de cena e movimentao totalmente 3D.
Respeitando os seguintes eixos:

No mdulo destinado a games 3D detalharemos ao mximo o uso do eixo Z,


por enquanto vamos nos preocupar apenas com 2 eixos o X e o Y.

Sendo o eixo Y a altura do monitor e o eixo X a largura.

Ento continuando com nosso tpico vamos adicionar o cdigo "Ol


Aluno" ao GameObjectvazio que acabamos de criar simplesmente arrastando o
cone do cdigo at o nome do GameObject.
Feito isso perceba que na aba/janela Inspector adicionado um componente
ao menu, nele contm caractersticas do GameObject vazio, que nesse caso o
cdigo "Ola Aluno", isso significa que ao executar nosso game o cdigo
tambm ser executado, clique no boto Playpara executar:

Observe que quando executamos nosso game a mensagem: "Ol


Aluno" aparece no rodap da tela, isso significa que o cdigo funcionou.

Criando luzes
Agora que criamos nosso primeiro cdigo, chegou a hora de fazer coisas mais
avanadas, ento lembre-se que mesmo sendo um game 2D o ambiente de
desenvolvimento 3D ento precisamos adicionar luzes a cena, caso contrrio
no enxergaremos nada.
Para criar uma luz primeiramente clique no boto GameObjects, depois
em Create Other, e por fim escolha um dos quatro tipos de luzes que existem
a nossa disposio:

So elas:

Directional light - que faz a simulao da luz do sol iluminando todos os


objetos que esto na sua reta como mostra a imagem abaixo:
Point light que uma luz que brilha em todas as direes a partir do centro
iluminando tudo que esteja dentro de sua faixa de atuao como mostra a
imagem abaixo:

Spot light - que uma luz em formato de cone que ilumina apenas os objetos
que se encontram dentro dos limites desse cone como mostra a imagem
abaixo:

E por fim: Area light - que uma luz que ilumina tudo em uma rea
retangular (Essa luz s pode ser usada na verso Pro).
Perceba que todas as luzes tm alguns parmetros para serem alterados de
acordo com as preferncias do desenvolvedor, observe na imagem abaixo:

Nesse caso o tipo de luz a Spot light, mas para todas as outras luzes os
parmetros se repetem com pequenas excees como, por exemplo, a ausncia
de ngulo e alcance.
Veja que permitido ao desenvolvedor alterar o tipo de luz mesmo sem
precisar criar outra fonte de luz, basta clicar no boto Type e mudar o tipo de
luz como apresentado na imagem abaixo:

Perceba que tambm podemos mudar a cor da luz.

Alterar a sua intensidade.

Podemos ligar ou desligar sombras.

Podemos desenhar ou no um Halo (Crculo luminoso que se forma envolta de


fontes de luz)

Dentre outras configuraes que veremos detalhadamente nas vdeo aulas.


Movimentos via cdigo
Agora que aprendemos a adicionar luzes em nossa cena vamos incrementa-la
um pouco mais, vamos adicionar GameObjects e mov-los via cdigo.
Primeiro clique no boto GameObject, depois v at Create Other, abrir
uma lista, nela clique em Plane:

Fazendo isso criaremos uma plane em nossa cena como mostra a imagem
abaixo:

Agora criaremos um cubo que ir executar os movimentos que ordenaremos


via cdigo.
Para isso clique novamente em GameObject, depois em Create Other, na
lista que surgir clique em Cube:

Feito isso teremos a imagem abaixo:

Caso voc tenha criado a luz Spot light proposta no exercicio anterior, excluaa clicando com o boto direito do mouse sobre seu nome na guia Hierarchy e
escolha a opo Delete.

Movimento de deslocamento lateral


Nessa etapa, criaremos um script que ordene ao cubo que se desloque para a
direita.
Para criar esse script primeiro v at a aba/janela Project e deixe selecionada
a pastaScripts que j criamos anteriormente, depois clique em Create e em
seguida em Javascript. Renomeie o arquivo criado para Movimenta.
Pronto, agora d um duplo clique sobre ele para abrir o Editor de cdigos.
Com o Editor de cdigos aberto digite o seguinte:

Pronto agora salve o cdigo clicando no menu File opo Save do Editor de
cdigos:

Na Unity3D arraste esse Script at o cubo que est na cena ou at o nome


do cubo que est na aba/janela Hierarchy.
De ambas formas o cdigo vai funcionar, agora aperte o boto Executar e veja
o cdigo em ao.

Movimento de rotao
Agora vamos alterar o cdigo de translao para rotacional, use o mesmo
cdigo do exemplo anterior fazendo apenas algumas alteraes.
Primeiro comente a linha de cdigo que move o cubo.

Depois escreva o seguinte cdigo:

A funo Rotate semelhante funo Translate, porm com a diferena do


tipo
de
movimento,
no
caso
da
funo Rotate movimentaremos
um Gameobject em ngulos.
Seu cdigo aceita como parmetros um Vector3(X,Y,Z) e um Space da
mesma forma que a funoTranslate.

Rotaciona o cubo nos eixos X,Y e Z (Global).


E:

Rotacionam o cubo nos eixos X,Y e Z (Local).


Ao executar o game voc ver que agora o cubo gira em todas as direes
na velocidade 5, que o valor de vel.

Menu 2D
Agora que j brincamos um pouco com algumas transformaes de objetos
dentro daUnity3D chegou a hora de criar um Menu 2D para nos auxiliar nas
transformaes do cubo.
E porque no ir um pouco alm criando um menu interativo onde
possamos controlar as trs transformaes que acabamos de ver?
Vamos l, abaixo veremos a imagem da aplicao que iremos desenvolver:

O intuito quando clicarmos em cada boto a ao descrita no mesmo ser


executada.
Vamos ver o cdigo da aplicao por inteiro e depois entenderemos aos poucos
cada trecho de cdigo.

Muito bem, vamos explicar esse cdigo, para comear declaramos as seguintes
variveis:
A varivel vel controla a velocidade em que as transformaes vo acontecer o
nome da varivel pode ser alterado para o nome que voc quiser velocidade,
vel2, veloci, enfim.

A
varivel liberaM
responsvel
por ligar e desligar o
boto
de movimento do cubo, essa varivel pode ter seu nome alterado sem
problema algum, desde que o seu tipo seja mantido int (integer).

A
varivel liberaR
responsvel
por ligar e desligar o
boto
de rotao do cubo essa varivel pode ter seu nome alterado sem problema
algum, desde que o seu tipo seja mantido int (integer).

A
varivel liberaS
responsvel
por ligar e desligar o
boto
de escala do cubo essa varivel tambm pode ter seu nome alterado sem
problema algum, desde que o seu tipo seja mantido int (integer).

Agora na funo Start preciso inicializar essas variveis com algum valor. Por
exemplo:
A varivel vel ser iniciada com o valor de 5, que como j vimos adiciona
ao cubo uma velocidade aceitvel.

As variveis liberaM, liberaR e liberaS sempre iniciaro com o valor de -1.

A seguir temos a funo Update com os seguintes cdigos:

Os trs cdigos acima tem uma funo especfica, verificar se a condio de


liberao desencadeada pelos botes satisfatria, se sim, a transformao de
cada boto sobre o cubo liberada.
Por exemplo:
Se a condio liberaM for satisfeita o cubo ir se mover.

Por ltimo vamos a funo que responsvel por criar nosso Menu 2D que a
funo OnGUI().
A funo OnGUI da mesma forma que a funo Start e Update padro
dentro da Unity3D e desta forma no deve ser modificada, ela executada
desde o momento que se inicia o cdigo at o final.

Mas devemos lembrar que suas aes devem ser executadas dentro da
funo Update.
Essa funo leva o nome de OnGUI porque a definio de GUI : Interface
Grfica do Usurio. Ou seja,GUI trabalha com a parte dos programas que
interagem diretamente com os usurios, como os botes, rea de textos, etc.
Essa funo tambm est no manual online da Unity3D citado anteriormente.
Alm de botes podemos criar dentro dessa funo, labels, Grafical Box,
textfields, entre outros elementos para interagir com o usurio do game.
Vamos analisar nosso cdigo:

Primeiramente criamos uma label com o nome de Menu 2D, uma label um
rtulo ou etiqueta que serve para descrever alguma coisa, no nosso caso
alertar o jogador que ali existe um menu.
Esse cdigo funciona da seguinte forma:

O cdigo GUI.Label cria uma label que respeita dois parmetros,


de posio largura e altura, e outro para imagem ou nome da label.

um

O
primeiro
parmetro

adicionado
atravs
do
cdigo Rect(X,Y,Width,Height), esse cdigo fornece para a GUI.Label a
posio X e Y de onde deve ser desenhada a label com a largura e altura da
mesma.
O segundo parmetro um texto (String)
referncia de uma textura(Image).

colocado

entre aspas ou

Depois temos os cdigo de criao e ao dos botes do nosso menu:

Esse cdigo cria botes que da mesma forma que a label tem seu
posicionamento
e
tamanho
determinados
de
forma
retangular Rect(X,Y,Width,Height),
tendo
sua
posio
definida
por X e Ydepois sua largura e altura, e por fim um texto de identificao ou
uma imagem.
Perceba que dentro dessa condio colocamos nossa varivel liberaM sendo
multiplicada pelo valor -1, isso foi feito para ligar e desligar o efeito de
movimento sobre o cubo.
Afinal essa condio significa que cada vez que clicarmos no boto Mover a
varivel liberaM vai mudar seu valor de -1 para 1 e depois de 1 para -1, que
matematicamente a operao de (1 x -1).
Input settings
Muito bem, aprendemos a movimentar objetos via cdigo e a criar menus que
controlem aes dentro do game.
Chegou a hora de aprender a mover objetos dentro do game usando o teclado,
o mouse e o joystick.
Mas para que isso possa ser feito precisamos conhecer as configuraes
de input da Unity3D.
Para isso v at o boto Edit, depois clique em Project Settings e na lista que
surgir clique em Input:

No canto direito da tela na aba/janela Inspector ir surgir a seguinte lista


de inputs:

Clicando em qualquer um desses botes teremos uma lista descritiva com o


nome de cada input e qual as teclas que o mesmo representa.
Abaixo temos a opo Horizontal com suas opes que mostram que o
eixo horizontalpode ser acessado pelos botes seta esquerda, seta direita e
botes A e D.

Agora chegou a hora de colocar tudo isso pra funcionar.


Teclado
Agora vamos usar as teclas do nosso teclado para mover objetos dentro do
game.
Mas antes de iniciarmos precisamos fazer alguns ajustes no nosso projeto
anterior.
Primeiro clique no cubo que usamos para os outros exemplos, feito isso na
janela Inspector ir aparecer todas as propriedades do cubo inclusive os
cdigos que esto contidos nele. Observe na imagem abaixo:

Agora v at Movimenta (Script) logo acima do boto Add Componet e clique


no boto com o desenho de uma catraca como mostra a imagem abaixo, feito
isso aparecer na tela um menu suspenso nesse menu clique em Remove
Component para retirar o cdigo anterior do cubo e pronto, se executarmos o
game nada acontecer.
Agora vamos criar um novo script, vamos cham-lo de InputMove.
Primeiro selecione nossa pasta de game Scripts, depois clique em Create na
aba/janelaProject, e escolha a opo Javascript, para o arquivo digite o nome
de InputMove.

Est criado o arquivo de cdigo, no novo script digite o seguinte cdigo:

Mouse
Agora que j movimentamos o cubo com o teclado vamos usar o mouse para
reproduzir novamente esse movimento, mas antes vamos verificar o input
settings do mouse. Observe a imagem abaixo:

Novamente em nossa aba/janela Inspector vamos analisar as configuraes


do mouse no eixo X.
Aqui o que nos interessa o nome de acesso do eixo X do mouse.
Agora que sabemos que o nome de acesso desse eixo Mouse X, vamos
programar.
Mantenha seu cdigo de movimento via teclado como est apenas altere as
seguintes linhas de cdigo na funo Update:

A primeira linha de cdigo cria uma varivel "x" onde atribumos o valor da
multiplicao da varivel vel pelo valor do movimento do mouse no eixo X.
A segunda linha apenas usa o valor obtido nessa varivel para mover
o cubo para a direita e para a esquerda.
Controle
A movimentao com controle muito simples na verdade no muda quase
nada do que j foi apresentado, para usar o controle / joystick primeiro
necessrio fazer algumas mudanas no input settings.
Adicione no InputMananger o nmero necessrio para criao dos botes
do joystick. Observe a imagem abaixo:

Depois ajuste o nome do eixo ou boto criado como mostra imagem abaixo:

E pronto, agora s usar a referncia "quadrado" em nossos cdigos.

Perceba que esse cdigo um pouco diferente dos anteriores, nele primeiro
criamos uma condio que analisa se boto "0" do controle foi pressionado, se
foi movemos o GameObject.
Note que o nmero do boto do controle pode ser editado pelo desenvolvedor.

Execute o cdigo, utilizando primeiro o mouse depois o teclado, para testar


com o joystick precisaramos de um conectado ao computador:

Qualidade de renderizao
Agora vamos falar de um tema muito discutido e estudado pelos games
designers, a qualidade da renderizao (Criao da cena).
Afinal j foi o tempo de jogar um game todo serrilhado com uma qualidade
grfica pssima que nunca chegaria nem perto da realidade.
Ento a Unity3D como uma Game Engine de primeira linha que , resolveu
disponibilizar aos seus usurios, meios de configurar o visual do game para que
o mesmo seja nico.
Para acessar essas configuraes clique em Edit, depois em Render Settings:

Teremos como resultado a seguinte imagem na aba/janela Inspector:

No menu Render Settings existem vrias opes para deixar seu game ainda
mais profissional, podemos ajustar por exemplo se o game ter ou no o efeito
de nevoa (Fog) que surge sobre os objetos conforme a distncia da cmera e
do objeto aumenta.
Podemos definir uma cor para essa nevoa (Fog Color), como ela ir atuar
sobre os objetos do game, atuando como linear ou exponencial (Fog Mode).
Podemos definir tambm uma textura de cu (Skybox Material), cor da luz
ambiente (Ambient Light), entre outras configuraes.
Alm dessas configuraes podemos manipular a maneira que nosso game ser
renderizado ajustando algumas outras ferramentas como, por exemplo, a
emulao de grficos ou Graphics Emulation.
Veremos ento um pouco disso na prtica!
Clique em Edit, depois em Graphics Emulation: Agora s escolher qual
opo voc quer para emular seu game nenhum shader, shader model 3, 2, 1,
ou directX 7.

Se voc quer fazer um jogo com qualidade comercial aconselho o Shader


Model 3.

Alm dessas opes existe mais uma ferramenta para melhorar a qualidade dos
nossos games, essa ferramenta o Quality.
Para acess-lo clique em Edit, depois em Project Settings, e por fim
em Quality:

Teremos na aba/janela Inspector algumas configuraes de qualidade:

Perceba em Quality Settings podemos escolher a qualidade do nosso game


indo
de Fastest(Execuo
rpida
com
qualidade
visual
baixa)
at Fantastic (Execuo mais lenta com qualidade impecvel).
Perceba que na imagem acima a opo Good foi escolhida e logo abaixo vemos
as configuraes dessa escolha, com Pixel light = 2, Qualidade de textura
= Full Res, etc.
Nota: "Todos os dados apresentados em Quality Settings podem ser ajustados
de acordo com as necessidades do desenvolvedor."

Game Objects
Vamos entender o que seria um Game Object, se levarmos a traduo ao p
da letra um game object no passa de um objeto de jogo.
Isso muito vago afinal no processo de desenvolvimento de game existem
vrios objetos ou elementos para fazer com que o jogo seja produzido.
A Unity3D tem uma definio bem especfica sobre isso, um Game Object
todo elemento de cena que recebe ao menos um component o transform.
Mas o qu seria esse tal transform?
Simples, um transform um componente, que manipula aes em um
mundo 3D como deslocamento, rotao, escala.
Components
Como falar de Game Object e no falar de componentes, os components do
vida ao game.
Um cdigo considerado um componente, afinal ele adicionado
ao GameObject lhe atribuindo modificaes no ?
Efeitos de partculas tambm so considerados components, a fsica adicionada
aos games, o udio.
Layers
Em relao aos Layers, essas so mais usadas por cmeras ou por luzes.
No caso do uso de Layers com luzes podemos escolher o que deve ou no ser
iluminado.
Para criar uma Layer basta clicar no boto ao lado de Layer na
aba/janela Inspector, depois clique em Add Layer e digite seu nome "heroi".
Agora o Layer est pronto para ser usado.

Introduo a arte 2D
Agora vamos falar um pouco sobre arte 2D e como devemos proceder para
criar mdias 2Dde qualidade para uso em games.
Antes de qualquer coisa precisamos ter conhecimento dos tipos de imagem,
quanto "pesam" em uma aplicao complexa como um game e qual a sua
qualidade visual.
Falando de games existem 3 tipos de texturas que os games aceitam bem
inclusive os games feitos emUnity3D que so: JPG, PNG e BMP.
Vamos explicar cada formato de textura:
BMP
O tipo de imagem BMP tem uma boa qualidade visual dependendo do nmero
de pixels da imagem, porm o seu peso invivel para aplicaes que venham
a ser executadas em aparelhos com capacidade de processamento limitada.
JPG
O tipo de imagem JPG tem uma caracterstica excelente, que a de ser muito
leve. Isso explica sua popularidade, que fez com que fosse adotada como
padro de fotos de mquinas digitais, porm existe um problema quanto a
qualidade uma imagem JPG quando manipulada perde com facilidade sua
qualidade.
PNG
As imagens nesse formato so sem dvida a melhor opo para os
desenvolvedores de games, alm de trabalhar com transparncia a qualidade
das imagens tima e no sofre perda de qualidade com a manipulao
(compresso, por exemplo).

claro
que
existem
desenvolvedores
que
preferem
trabalhar
mesclando PNG e JPG para games 2D eBMP, PNG e JPG para texturas de
modelos 3D, mas isso no uma regra, cada desenvolvedor precisa testar cada
tipo de arquivo at chegar a uma concluso do que melhor em cada projeto.
Pintura digital (Photoshop/Gimp)
Muito bem vamos explicar agora de maneira resumida como funciona a pintura
digital em programas como Photoshop e Gimp.
Vamos usar o Photoshop por ser o programa mais popular, porm no Gimp o
processo produtivo o mesmo mudando apenas nomes e o local de poucas
ferramentas. Em nossa prxima vdeo aula vamos ensinar como passar de um
desenho preto e branco para um colorido.

Veja as seguintes imagens:

Sprites
Em relao sprites precisamos deixar claro alguns pontos, a Unity3D uma
game engine3D e no 2D ento para criao de sprites com ela necessrio
fazer isso de maneira fake(no habitual)
Precisamos pegar uma textura e adicionar em um plane como mostra a figura
abaixo:

Dessa forma podemos fazer uma simulao de sprites.


Materials
Agora que falamos sobre imagens e sprites vamos falar sobre materials.
Os materials so
responsveis
por
aplicar
textura
em
todos
os GameObjects em cena, atravs desses materials que podemos adicionar
no s uma textura, mas tambm um shaders aosGameObjects.
Nota: "Em Unity3D damos o nome de texturas para as imagens"
Antes de criar um material vamos criar uma pasta para guardar os materiais
criados: Selecione a pasta Assets, clique em Create na aba/janela Project e
escolha a opo Folder, digite para esta pasta o nome "Material".
Agora para criar um material muito simples, primeiro voc seleciona a
pasta Material,
clica
em Create na
aba/janela Project,
escolhe
a
opo Material e digita um nome para o material "Teste".

Ao se criar um material exibido na aba/janela Inspector informaes sobre


esse material veja na imagem que segue:

Esse material o bsico criado pela Unity3D ele simplesmente aceita


uma textura difusa (a textura visvel no modelo) e aplica ao GameObject,
claro que como tudo na Unity3D essematerial pode ser customizado at
atingir um alto grau de qualidade, mas nesse mdulo no vamos focar nessa
parte por ser um assunto um tanto quanto complexo para quem est iniciando.
Vamos criar uma pasta chamada Texturas para importamos as imagens de
textura para esta pasta.

Selecione a pasta Assets, clique na aba Create e escolha a opo Folder,


digite o nome deTexturas para esta pasta:
Agora clique com o boto direito do mouse sobre a pasta Texturas, no
menu suspenso que aparece, escolha a opo Import New Assets, procure
pelo arquivo de imagem chamado cenagame.jpg que se encontra na
pasta \\arquivos-cursos\unity\, selecione este arquivo e clique no
boto Import.
Vamos adicionar a textura cenagame ao material criado anteriormente:
Selecione a pasta Material e clique sobre o material Teste, agora clique no
quadrado onde est escrito None Texture, na janela Select Texture escolha
uma
textura
para
o material,
ns
vamos
escolher
a
imagem cenagame importada anteriormente.
Pronto nosso material j tem uma textura e est pronto para ser usado em
cena.
Podemos aplicar esse material em uma plane ou um cube arrastando o cone
do material para o GameObject como j vimos.
Introduo animao
A palavra animao sugere movimento, alegria, o que d dinmica ao jogo.
Em games no muito diferente, a animao o ato de proporcionar
movimentos a personagens ou objetos deixando nosso game com mais "vida" e
empolgante.
Afinal que graa teria um jogo onde todos os personagens esto
estticos? Nenhuma no mesmo.
Nos games existem dois tipos de animao, a animao 2D e a 3D, nesse
mdulo nosso foco o 2D, sendo assim, vamos explicar detalhadamente como
ela funciona.
Criao de texturas comuns e animadas
A criao de uma textura comum no tem segredo um prdio uma textura
esttica, voc no precisa manipular essa textura via cdigo para que exista
uma animao, o natural dela ficar esttica mesmo.

Como exemplo, vamos criar uma textura de montanhas.

Veja a imagem abaixo:

Perceba que s foi preciso usar as tcnicas de sombreamento ensinadas na


vdeo aula do tpico pintura digital.
Agora uma textura com animao de personagens ou objetos 2D que no
sejam estticos em games, muito parecida com a animao feita para criar
desenhos como Ben 10 e Bob Esponja por exemplo.
Em desenhos animados preciso desenhar um personagem vrias vezes em
posies diferentes, depois empilhar os desenhos e ir passando imagem por
imagem bem rpido para termos uma iluso de movimento.
Em games 2D a nica diferena que ns podemos desenhar o personagem
em vrias posies e agrupar essas imagens uma ao lado da outra e pedir para
que a Unity3D faa o papel de passar as imagens rapidamente.
Para entender melhor veja a imagem abaixo:

Perceba que desenhamos o nosso personagem de forma idntica apenas


alterando a posio do corpo, isso vai nos proporcionar uma iluso de que o
personagem est caminhando.
Veja que nossa imagem nada mais que uma imagem grande contendo 4
imagens menores com largura e altura iguais, isso importante na hora de
criar a animao para que a Unity3D saiba em que quadrante exato est o
personagem, e desta forma possa mover o offset de maneira satisfatria.
Mas agora voc deve estar se perguntando o que Offset?
O Offset capaz de controlar as coordenadas X e Y (Altura e Largura) das
imagens podendo mover uma imagem na horizontal e na vertical.
Veja um exemplo de offset em X:

A imagem se desloca em seu eixo X.


Se for um offset em Y:

Ciclos de animao
Como j falamos uma imagem animada composta por vrias imagens
menores que podem ir de 0 a 4, 0 a 10 enfim.
O espao de tempo que demora para que o cdigo de controle do offset se
desloque desde a primeira imagem at a ltima um ciclo.
Para que nossa animao fique suave, esses ciclos precisam ser suaves e
contnuos, inadmissvel uma animao que apresente trancos no incio de
cada novo ciclo.
Sendo assim precisamos garantir que o ltimo movimento da animao seja o
movimento que precede o primeiro movimento como mostra a imagem abaixo:

Controle de animaes
Antes de aprender a controlar (gerenciar) uma animao precisamos importar a
imagem animada apresentada no tpico acima.
Clique com o boto direito do mouse sobre a pasta Texturas e no menu que
surgir
escolha
a
opo Import
New
Asset...,
procure
pelo
arquivo img_114 e clique no boto Import.
Pronto, agora nossa textura j est dentro de nossa pasta e pronta para ser
usada.
Lembre-se que como explicamos no tpico Materials, uma textura precisa ser
colocada em um material para s assim ser usada em nosso Game Object.
Ento clique na pasta Material que criamos anteriormente, e no
material Teste, adicione a textura animada simplesmente clicando no quadrado
descrito como "None Texture" e aplique a textura.
Nota: "A pasta Asset uma pasta padro criada pela Unity3D onde so
armazenadas todas as mdias e pastas de game"
Agora j podemos ver nossa textura aplicada ao material.

Veja que a imagem foi aplicada no quadrado que antes tinha outra textura
"cenagame", e que logo abaixo temos um exemplo dela aplicada a um
objeto 3D (uma esfera).
Depois de ter nossa textura aplicada a um material chegou a hora de adicionar
esse material a algum GameObject, nesse caso o nosso cubo. Arraste o
material Teste da guia Projectpara o objeto Cube da guia Hierarchy:
Pronto, teremos o seguinte resultado:

Perceba que a imagem ficou muito compacta no permitindo uma visualizao


limpa do personagem.
Para resolver esse problema precisamos alterar o valor Tiling da imagem,
aumentando a largura de nossa imagem.

Para a imagem que estamos usando, o valor de 0,27 em Tiling X o suficiente


para que nossa imagem fique com o aspecto desejado, mas lembrese cada
caso um caso talvez em uma imagem criada por voc seja necessrio um
valor de Tiling maior ou menor.
Veja abaixo como fica nossa imagem aplicada ao cubo com esse valor
de Tiling:

Nota: "O valor adicionado a Tiling no um padro, o valor de 0,27 foi obtido
atravs de testes com diversos valores at se obter esse que foi o adequado
para a imagem em questo".
Pronto agora nosso material mostra os personagens separados e no
compactados como estava antes.
Mas ainda existe um pequeno problema, a imagem no apresenta
transparncia, para resolver isso vamos mudar o tipo de material clicando no
boto Difuse do material onde colocamos a textura animada, depois na lista de
opes em que surgir vamos escolher as opes Transparent e na janela que
surgir escolheremos a opo Difuse.
Agora teremos esse resultado:

Pronto, agora nosso material j tem transparncia, mas ainda falta alguma
coisa, repare que a qualidade da imagem do personagem est muito ruim. Para
ajustar isso precisamos configurar algumas opes diretamente na textura,
ento v at a pasta Texturas clique em nossa textura animada e altere os
seguintes parmetros na aba/janela Inspector: Em Aniso Levelmude o valor
para 6 e em Max Size mude para 1024.Dessa forma aumentaremos a
qualidade de renderizao da imagem tendo como resultado a imagem abaixo:

Veja que a imagem do personagem est bem mais ntida que antes.

Agora que ajustamos nossa imagem e material ao GameObject cubo, vamos


criar o cdigo para fazer esse personagem ganhar vida.
Para definirmos um novo cdigo para o personagem, primeiro temos que
remover o cdigo atribudo anteriormente:
Selecione o objeto Cube, observe que na guia Inspector apareceu ele
vinculado ao cdigo InputMove, clique sobre a engrenagem do script e
escolha a opo Remove Component.
Clique na pasta Scripts depois no boto Create, Javascript depois de criado
o script d o nome de Animacao2D, clique duas vezes sobre ele para abr-lo
e digite o seguinte cdigo:

Nesse cdigo declaramos 3 variveis.

Numeroframes - onde adicionamos quantas pequenas


personagem (Frames) existem dentro da imagem animada.

imagens

do

Atualframe - que guarda o frame que est sendo executado no momento do


jogo.

Tempo - a varivel de tempo que serve para calcular o tempo de transio


de um frame para o outro.
Na funo Start ns iniciamos o valor de cada varivel.

Como falamos anteriormente o nmero de frames tem o nmero de


personagens da imagem animada (4), o frame atual que iniciar todo o ciclo
de animao o (1) e o tempo inicia como (0.0).
Por ltimo na funo Update temos o cdigo que faz a "mgica" acontecer
nessa funo que gerenciamos o tempo de cada ciclo de animao.
Quando usamos animaes 2D o gerenciamento da animao precisa ser feito
todo no cdigo, diferente das animaes em 3D onde a Unity ajuda no controle
de cada ciclo de animao.

Primeiro criamos uma condicional para capturar o input do teclado, se a tecla


seta for pressionada o tempo comea a contar somando seu valor atual (0.0) a
1.0.

Depois criamos dentro da primeira condicional uma nova condio que


examinar se o tempo chegou ao valor (10.0).
Se a condio for satisfatria renderizamos o prximo frame da imagem
animada usando o cdigo a seguir:

Esse cdigo padro dentro da Unity e determina como ser a renderizao de


uma textura de acordo com o valor de seu Offset.
O cdigo a seguir calcula o tempo para a renderizao dos frames da imagem
animada, se o tempo atingir 10.0 renderizamos os frames da imagem animada
respeitando a seguinte equao:
Nota: Frames so equivalentes s imagens de cada personagem.
A imagem animada em seu eixo X igual ao seu valor atual somado
a 1.0 dividido pelo numero de frames que existe na imagem animada.

Isso faz com que a cada ciclo de 10.0 renderizemos um frame a frente, por
exemplo:

Primeiro ciclo de 10.0 -> Renderiza frame 1;


Segundo ciclo de 10.0 -> Renderiza frame 2;
Terceiro ciclo de 10.0 -> Renderiza frame 3;
Quarto ciclo de 10.0 -> Renderiza frame 4;

Depois de renderizado, somamos varivel atualframe o valor de (1) para


passar para o prximo framee zeramos o tempo para que ele possa ser
contado novamente em funo do input de teclado.

Aqui criaremos outra condio para analisar se o nmero do frame atual


maior que o nmero de frames que existe na imagem animada.
Se
a
condio
for
satisfatria
o atualframe para 1. Observe:

zeramos

o offset e

retornamos

Agora atribua o script ao objeto Cube, clicando sobre o arquivo Animacao2D e


arrastando-o sobre o objeto Cube:
Execute a animao e observe o resultado.
Cmera 2D
Agora vamos falar um pouco sobre cmeras, so elas que permitem que o
jogador possa ver os objetos de game (GameObjects).
Na Unity3D existem dois
cmera Orthographic.

tipos

de

cmera

cmera Perspective e

Cmera Perspective
Esse tipo de cmera usada em games 3D, com ela podemos ver o volume do
cenrio podendo distinguir com facilidade objetos que estejam longe ou perto
da cmera.
Cmera Orthographic

A cmera orthographic usada para simular games 2D dentro da Unity3D,


essa cmera no nos permite visualizar volume dos objetos ento no existe
noo de perto e longe.
Para usar a cmera orthographic siga os seguintes passos:
Primero clique no cone da cmera:

Depois na aba/janela Inspector veja as configuraes da cmera, aqui temos


vrias opes de configurao da cmera, mas no momento a que nos
interessa

a
projeo,
primeiramente
vamos
mudar
de Perspective para Orthographic.

Agora ajuste o tamanho Size para que a imagem da tela do game fique de
maneira satisfatria.
Nota: Voc pode utilizar os valores que utilizamos na imagem abaixo ou ir
testando at encontrar um tamanho que voc considere satisfatrio.

Pronto, agora nossa cmera est configurada para trabalhar simulando


games 2D.

Fsica 2D
Efeitos de fsica certamente do um ar de profissionalismo a qualquer game
seja 3D ou 2D.
claro que a fsica 2D muito mais simples que a 3D pelo fato de no existir
um terceiro eixo para complicar tudo.
Nesse tpico iremos aprender como criar efeitos fsicos bidimensionais.
Primeiro crie um Novo projeto com o nome de Fisica2D.

Depois adicione a sua cena dois GameObjects um cubo e uma esfera, para
fazer isso primeiro clique em GameObject depois Create Other e a
seguir Cube.

Para a esfera repita o mesmo procedimento, porm clicando em Sphere como


mostra a imagem abaixo:

No altere nada na esfera, mas o cubo deve ser escalado como mostra a
imagem abaixo:

Aps modificar o cubo modifique a cmera para que tenha uma aparncia 2D,
definindo a projeo Projection como Orthographic e Definindo Size de
forma que a cena fique com boa visibilidade.
Aqui o valor 3,66 foi considerado satisfatrio.

Pronto sua cena deve se parecer com a imagem apresentada abaixo:

Agora vamos adicionar fsica a essa esfera para que a mesma caia sobre
o cubo ao iniciar o game.
Primeiro precisamos adicionar a essa esfera um componente fsico, para isso
clique na esfera depois em Component, depois em Physics e por fim
em RigidBody como mostra a imagem abaixo:

Fazendo isso teremos a seguinte janela adicionada na aba/janela Inspector:

Nessa janela podemos alterar a massa do objeto que foi adicionado o


componente RigidBody, podemos alterar tambm o valor de resistncia do ar
com Drag e se existe ou no gravidade com a opo Use Gravity.
Altere esses valores baseando-se na imagem acima e execute o game para ver
o efeito em ao.
Agora vamos fazer
da esfera para cima.

um

cdigo

bem

simples

simulando

lanamento

Para a execuo desse exemplo clique na pasta Scripts, depois v


at Create e crie umJavascript (como j fizemos anteriormente) com o nome
de Lancabola.

Agora digite o seguinte cdigo:

Nesse cdigo primeiramente criamos duas variveis.

A primeira varivel vai armazenar a velocidade que a esfera ir ser lanada e


a segunda varivel ir identificar quem a bola que ser lanada.
Lembre-se que adicionamos um componente de RigidBody esfera e por
essa razo precisamos nos reportar a ela como sendo um RigidBody.
Na funo Start apenas iniciamos um valor para a varivel vel.
Observe:

Por fim, na funo Update criamos um cdigo que adiciona uma fora a nossa
esfera lanando a mesma em seu eixo Y.

Aqui temos o cdigo que captura o input de uma das teclas do teclado, no caso
a tecla espao, como j vimos esse cdigo padro da Unity3D e ele captura
a tecla pressionada a qualquer momento assim como GetAxis.

Aqui temos o cdigo que realmente responsvel pelo efeito fsico.


Primeiro escrevemos o nome da varivel que contm o objeto que vai receber o
impulso,
depois
usamos
o
cdigo AddForce acompanhado
por
um Vector3 para
adicionar
uma
fora
de
valor vel no
eixo Y deVector3(X,Y,Z).
A classe Rigidbody tem uma funo com o nome de AddForce(fora:
Vector3,modo:ForceMode).
O primeiro parmetro dessa funo a fora
ao GameObject, que agora se tornou um Rigidbody.

que

ser

aplicada

Esse parmetro deve ser passado usando um Vector3(X,Y,Z) para indicar em


quais eixos a fora ir atuar.
O segundo parmetro opcional, ele tem a funo de adicionar uma fora
contnua ao objeto de acordo com a massa do mesmo, veja como ficaria esse
cdigo com esse parmetro adicionado:

A funo AddForce padro dentro da Unity3D fazendo


documentao, desta forma no deve ser modificada.

parte

de

sua

Essa funo deve ser colocada dentro da funo Update para que possa ser
executada de acordo com o ato de pressionar a tecla espao (space).
Pronto agora adicionaremos esse cdigo esfera.
Depois clicamos na esfera e na aba/janela Inspector, nos campos onde esto
contidas as variveis do nosso cdigo, clique no pequeno boto redondo ao lado
do nome Bola.

Clicando nesse
nossa esfera.

boto

janela Select

Rigidbody abrir,

nela

escolha

Pronto o cdigo foi vinculado e j est operante.


Esse ltimo passo necessrio para informar
o Rigidbody que receber nosso cdigo de impulso.

a Unity3D quem

Lembre-se de que no cdigo definimos uma varivel com o nome de bola e


determinamos que essa varivel fosse do tipo Rigidbody, porm no iniciamos
essa varivel na funo Start ento, ela est vazia, certo?
Sendo assim, com essa varivel vazia a Unity3D no saber quem ela deve
arremessar, por essa razo que executamos esse passo a passo.
Simplesmente para iniciar essa varivel, mostrando quem que deve ser
arremessado no ar.
Caso a opo Use Gravity da esfera esteja selecionada desative-a.

Aps efetuar todo procedimento explicado acima, faa o teste da esfera sendo
arremessada clicando em Play e depois pressionando a tecla de Espao no
teclado.

Prefabs
Agora vamos falar um pouco sobre prefabs. Antes disso crie um Novo
Projeto com o nome de Exemplo_Prefab, crie tambm uma cena com o
nome Fase1 e desenha nela um cuboconforme figura abaixo:

Um prefab na Unity3D uma referncia de um GameObject.


Podemos criar vrios prefabs de um nico GameObject, e isso nos ajuda em
muito, principalmente na criao de objetos que surgem em nmero elevado
dentro da cena (inimigos itens de coleta).
A criao de um prefab bem simples, porm, primeiro vamos criar uma pasta
com o nome dePrefabs.
Selecione a pasta Assets, clique em Create na aba/janela Project, depois
clique em Folder, digite Prefabs para o nome da pasta que a pasta ser criada
com sucesso.
Agora dentro dela com o boto Create da aba/janela Project crie um Prefab.
Com a pasta Prefabs selecionada, clique em Create, agora clique em Prefab,
voc ver um cubo representando esse prefab, d a ele o nome de Pcubo e
depois arraste o GameObject Cube para o prefab como mostra a imagem
abaixo:
Pronto, agora j existe um prefab para ser arrastado para a cena, clique
no prefab e arraste at a cena com o boto esquerdo do mouse pressionado,
quando chegar a nossa cena solte o boto do mouse e pronto, ai est
seu prefab.

Imagine que voc quer fazer com que um personagem atire, os tiros
sero prefabs da bala original.
Um prefab muito til, pois se mudarmos as caractersticas de seu objeto
"pai" todos osprefabs sero alterados veja na imagem abaixo.

O cubo selecionado o GameObject que deu origem ao prefab que est ao


lado dele, veja o que acontece com o cubo prefab se mudarmos o tamanho
do GameObject como demonstrado na imagem abaixo.

O cubo que deu origem foi modificado, mas nada aconteceu com o prefab.
Para fazer com que o prefab imite o GameObject que lhe deu origem, clique
no boto Apply na aba/janela Inspector.

E teremos no final o resultado demonstrado na imagem abaixo:

O prefab se adapta as mudanas aplicadas no GameObject que lhe deu


origem.
Isso facilita muito a vida do desenvolvedor, pois no precisa ter retrabalho com
modelos que venham a necessitar de retoques depois de j estarem prontos.
Deteco de coliso via cdigo
Crie um Novo Projeto com o nome de Colisao e Salve a cena com o nome
de Fase1.
Para criarmos colises entre corpos que se movem necessrio fazer uso
dos BoxCollider,SphereCollider, CapsuleCollider e
principalmente CharacterCollider.
Esses colliders so representados por linhas verdes que envolvem os objetos
de game (GameObjects).
Veja abaixo:

As propriedades de um Collider podem


Inspector como mostra a imagem abaixo:

ser

acessadas

pela

aba/janela

Temos Is Trigger que precisa estar selecionado para que possamos codificar
uma coliso que desencadeie em alguma ao como uma bala atingindo
uma parede. Temos tambm Material que nesse caso so materiais fsicos e
por ltimo o tamanho e o centro do collider.
Agora
vamos
montar
uma
cena
simples
e
fazer
nosso personagem animado tenha uma coliso com uma caixa.

com

que

A criao dessa cena bem simples, primeiro criamos um plane.


Clique em GameObject, depois clique em Create Other, e na lista que surgir
escolha Plane:

Teremos como resultado a seguinte imagem:

Repare que existe um problema com essa Plane, ela esta deitada e no
queremos isso.
Em nosso exemplo essa Plane ser o Background de nossa cena, aplicaremos
a ela uma textura de paisagem.
Ento precisamos rotacionar essa Plane de maneira que ela fique em p, como
uma parede, por exemplo, para isso clique na ferramenta de rotao:

Depois rotacione nossa Plane em -90 graus no eixo X como mostra a imagem
abaixo:

Com isso teremos como resultado a seguinte imagem:

Perceba que a Plane no esta mais deitada, mas com essa viso temos uma
falsa impresso de que ela esta inclinada ento vamos ajustar a cmera.
Clique na cmera:

Agora ajuste suas configuraes para projeo 2D, lembre-se que suas
configuraes Size podem ser diferentes das apresentadas aqui.

Por ltimo posicione a cmera com a ferramenta de maneira que a mesma


fique de frente para a plane proporcionando uma viso semelhante a essa:

Precisamos que seja aplicado em nossa Plane uma textura material.


Veremos ento agora como criar e adicionar esse material a Plane.
Primeiro crie uma pasta na aba/janela Project seguindo as seguintes etapas:
Selecione a pastas Assets, clique em Create, agora clique em Folder, e d o
nome de Texturas a essa pasta.
Agora com ela selecionada clique em cima da pasta com o boto direito do
mouse e no menu que surgir escolha a opo Import New Asset.

Abrir uma janela na qual voc poder escolher as texturas que pretende usar
em seu game. Lembrando que ao criar suas texturas voc dever salv-las
nessa pasta que deve ser previamente criada conforme j vimos anteriormente.

Nesse caso vamos usar apenas duas texturas:

A imagem de fundo.

E a imagem animada.

Agora hora de criar os materiais que vo receber essas texturas.


Antes de criar os materiais voc deve repetir o processo de criao de pastas j
visto anteriormente, porm agora criaremos uma pasta com o nome
de Material.

Com essa pasta criada e selecionada clique no boto Create da


aba/janela Project, depois clique em Material: D o nome de Paisagem a
esse material.

Teremos o seguinte cone dentro da pasta Material:

D o nome de Paisagem a esse material.

Agora adicione uma textura de paisagem a ele, clicando em None (Texture).


Depois escolha a textura na janela Select Texture.
Feito isso teremos a seguinte imagem:

Agora s aplicar o material a Plane arrastando


nome Plane na aba/janela Hierarchy.

mesmo

at

Pronto, o material est aplicado na Plane.

Agora vamos criar dois cubos, um ser nosso personagem e o outro uma caixa
que ir colidir com ele.
Para criar os cubos clique em GameObject depois em Create Other e por fim
em Cube. Observe o passo a passo na imagem abaixo:
Agora posicione esse cubo no centro da tela, ele ser a caixa que vai colidir
com o personagem.
Para posicion-lo use a ferramenta.

Para a caixa no necessrio aplicar um material de textura.


Agora vamos posicionar o cubo que ser nosso personagem, esse cubo deve
fica no canto esquerdo da cena conforme mostra a imagem abaixo.

Para o cubo personagem vamos adicionar um material de textura, repita o


procedimento de criao de material, (Create->Material->Adicionar textura
ao material->Aplicar textura), conforme fizemos com a Plane.
A nica diferena que a imagem do personagem tem transparncia ento no
podemos usar um simples material Diffuse.
Ento clique no boto Diffuse do Material personagem como mostra a imagem
abaixo:

Depois clique em Transparent e Diffuse.

Nossa cena est um pouco escura, adicione uma Luz, clicando no


menu GameObject, depois em Create Other e selecione a luz Directional
Light.

Pronto, agora temos a cena de nosso exemplo terminada.

Mas voc deve estar se perguntando, essa cena no tem cho?


A caixa e o personagem ficam flutuando?
Claro que no, que nesse exemplo para termos a iluso que o personagem
est caminhando sobre o asfalto teremos que criar uma segunda Plane.
Essa Plane ao contrrio da primeira que criamos no ser rotacionada, apenas
posicionaremos a mesma abaixo do personagem e da caixa como mostra a
figura abaixo:

Agora sim nossa cena esta criada e j podemos passar para a programao.
Coliso com CharacterCollider
Para testar a coliso vamos criar um script dentro da pasta Scripts com o
nome de MovimentoInput.
Agora vamos digitar nele o seguinte cdigo:

Nesse cdigo usamos como base um timo exemplo de movimentao


fornecido pelo fabricante da Unity3D.
Como
estamos
detectando coliso
de
um
personagem com
modelos estticos como o cho e a caixa, estamos usando o componente
fsico CharacterController no personagem.
Esse componente foi adicionado ao personagem deixando-o selecionado
enquanto
clicamos
em Component depois Physics e
por
fim CharacterController.

Feito isso nosso personagem ser envolvido em uma esfera verde como
mostra a imagem abaixo:

Alm disso, teremos na aba/janela Inspector as seguintes configuraes desse


componente:

Temos algumas configuraes importantes "principalmente em games 3D"


como o limite de inclinao ou declive, distncia mnima de movimento centro
do collider, raio e altura da esfera collider que pode ser esticada em seu
eixo Y at parecer uma cpsula.
Agora vamos entender como o cdigo funciona
Primeiro criamos quatro variveis uma para controlar a velocidade de
movimentao vel, uma para controlar o impulso do pulo, uma para controlar
a fora da gravidade, e por ltimo uma varivel para controlar a direo dos
movimentos do personagem DirecaoM.

Depois disso na funo Start iniciamos todas as variveis, com valores


escolhidos atravs de teste de tentativa e erro, exceto a varivel DirecaoM,
pois
essa
varivel
precisa
ser
iniciada
com
um
valor
de
Vector3.zero ou Vector3(0,0,0):

Agora na funo Update vamos controlar todos os movimentos, desde o


movimento de deslocamento lateral at o vertical.

Dentro da funo Update criamos uma varivel de controle essa varivel do


tipo CharacterControllere
tem
a
funo
de
capturar
o
componente CharacterController de nosso game (O personagem).
Essa varivel pode ter qualquer nome, mas preciso que a mesma esteja
dentro da funo Update para que possa capturar cada modificao feita no

componente CharacterController, alm de ser preciso que


tipo CharacterController caso contrrio o cdigo no funcionar.

seja

do

O prximo passo agora criar uma condio IF que calcule se


o CharacterController (varivel controle), est colidindo com o cho, se
estiver, nosso personagem pode se mover lateralmente.
Esse movimento lateral determinado primeiro pela captura das teclas seta
para direita e esquerda, letras A e D, e depois determinamos que a
varivel DirecaoM que antes tinha o valor zerado, agora ter o valor
de Vector3.forward * Horizontal que simplesmente multiplica o valor
de Vector3. Forward"para frente" por Horizontal que a captura das teclas
seta direita, esquerda, A e D.

Na prxima condio IF criamos uma condio para que o personagem pule.


O principal se a tecla Jump "espao" for pressionada,
varivel DirecaoM em seu eixo Yreceber o valor da varivel pulo.

ento,

Depois informamos a Unity3D que a DirecaoM no eixo Y sempre sofrer com


a gravidade, informando o seguinte clculo:

Por
ltimo
informamos
a Unity3D atravs
da
funo Move da classe CharacterController,
que
o
movimento
do
personagem deve ser o produto da varivel DirecaoM por Time.deltaTime.

Alm dessa coliso, que sem dvida a mais complexa, existem colises mais
simples como a de uma bala atingindo uma caixa como veremos no prximo
tpico.
Execute o jogo e verifique se est funcionando.
Caso esteja tudo cerreto, salve a cena e seu projeto.

Coliso com Rigidbody


A deteco desse tipo de coliso serve para games de tiros onde queremos
detectar a coliso da bala com um alvo e fazer com que algo acontea depois
disso.
Agora vamos criar uma nova cena e vamos adicionar a ela uma esfera para ser
o objeto que emite as balas, e um cubo para ser atingido por elas. Crie o
projeto com o nome deRigidbody e a cena como Fase1.
Sua cena deve ficar assim

Para obter esse resultado


uma esfera e dois cubos.

crie

trs

objetos

de

game

(Gameobjects),

Um dos cubos precisa ser escalado para que tenha o seguinte aspecto:

O outro pode ficar como est, e a esfera tambm no precisa de modificaes.


Agora ajuste a cmera para simulao 2D, alterando o tipo de
projeo Projection e o tamanho dos objetos de cena Size como mostra a
imagem abaixo:

Lembre-se que o valor de Size obtido por tentativa e erro, voc precisa
escolher um valor que lhe agrade.
Agora voc precisa criar uma fonte de luz na cena para que seja possvel
enxergarmos os objetos em cena.
Para isso, v at GameObject, em seguida clique em Create Other e por fim
clique em Directional Light.

Com a criao da luz teremos a imagem apresentada no incio do tpico.


Agora vamos criar uma cpsula que ser bala a ser atirada pela esfera.
Para criar essa cpsula v at GameObject, na lista que vai surgir clique
em Create Other e depois em Capsule.
Depois de criada vamos rotacionla para que fique da seguinte forma:

Feito isso, agora necessrio criar um prefab para essa bala, ento crie a
pasta Prefabs e deixa-a selecionada, clique em Create, e na sequncia
em prefab, d o nome de Pbala para ela.
Agora precisamos arrastar nossa cpsula para dentro do prefab:
Aps
adicionar
a
cpsula
ao prefab,
iremos
adicionar
um
componente Rigidbody a nossa cpsula (lembre-se que tudo que acontece
com o objeto "pai" imitado pelos prefabs. Sendo assim tudo que
adicionarmos ao objeto "pai" os prefabs tambm recebero). Selecione o
objeto Capsule e adicione o Rigidbody.

Pronto nossa
cpsula
j
tem
um Rigidbody e
por
consequncia
nosso prefab tambm, porm as alteraes feitas no objeto principal s
passam para seu prefab depois de clicarmos no seguinte boto:

Agora, para que nossa bala funcione precisamos primeiramente deletar a


cpsula da cena, clicando nela e apertando a tecla Delete.

Depois clique em Pbala:

E ajuste as seguintes propriedades fsicas na aba/janela Inspector.


Primeiro marcar a opo Is Trigger da Capsule Collider, depois desmarcar
o Use Gravity de Rigidbody.

Para detectar se existe a coliso entre a bala e o cubo preciso habilitar Is


Trigger na aba/janela Inspector.
Is Trigger faz parte da classe Collider, Is Trigger no colide com corpos
rgidos ao invs disso ela manda mensagens como, por exemplo:
OnTriggerEnter que uma funo que faz parte da classe Collider e tem a
funo de calcular a coliso de um objeto estranho com o objeto que carrega
esse cdigo.
Essa funo padro dentro da Unity3D e responsvel por calcular as
colises automaticamente, dessa forma no podemos alter-la, essa funo

pede como parmetro um Collider que venha a colidir com o objeto onde ela
esta armazenada.
Seu cdigo :

Pronto, agora estamos prontos para programar o efeito de coliso. Para


comear primeiro crie a pasta Scripts, depois selecione-a, v at o
boto Create da
aba/janela Project para
criar
um Script como
nome
de Atirar.
Vamos adicionar a esse script o seguinte cdigo:

Esse cdigo tem a funo de movimentar a bala em direo ao alvo e deve ser
adicionado aoprefab.
Agora criaremos o cdigo para o jogador que vai disparar os tiros, crie um
novo script com o nome de Personagem e escreva nele o seguinte cdigo:

No cdigo acima temos uma novidade, a varivel Tiro que recebe como valor a
funo Instantiate.
Essa funo faz parte da classe Object e tem a funo de criar instncias de
um objeto.
Seu cdigo pede como parmetros o objeto a ser instanciado, a posio e
rotao de origem para essa instncia.
Salve os dois cdigos.
Agora precisamos Instanciar os cdigos aos seus respectivos GameObject.
Selecione a prefab Pbala e adicione o compenente Script Atirar.
Agora adicione o script Personagem a Sphere (esfera).
Agora falta apenas instanciar o prefab Pbala ao Rigigbody Bala.
Mas ainda no existe uma coliso ento vamos fazer algumas alteraes no
cdigo para quando a cpsula colidir com o cubo o mesmo desaparea.
Para que isso acontea primeiro precisamos criar uma Tag para o cubo.
Para isso primeiro, selecione o GameObject Cube, clique no boto ao lado
de Tag e depois em AddTag..., na janela Tag Manager que surgir crie
a Tag inimigo. Agora aplique nocubo e determine que a Tag dele seja
o inimigo que acabamos de criar.
Feito isso v at o cdigo Atirar e faa a seguinte alterao:

Como j explicamos anteriormente a funo OnTriggerEnter calcula se existiu


uma coliso entre o objeto que contm o cdigo e um outro objeto qualquer, se
existiu, nossa condio IF verifica se o objeto com a tag inimigo, se for ele
o objeto inimigo ser destrudo.

udio
Agora que j aprendemos como usar fsica, coliso e at a atirar, precisamos
aprender a usar arquivos de udio em nossos games.
Devemos ressaltar que a Unity3D aceita bem arquivos do tipo MP3, OGG,
WAV, entre outros.
No nosso caso vamos usar o projeto de tiros que fizemos no captulo anterior
para aprender o uso de sons em Unity3D.
Primeiro crie uma pasta com o nome de Sons:

Clique com o boto direito do mouse sobre essa pasta Sons e selecione a
opo Insert New Asset... E depois escolha um arquivo de som, que no nosso
caso vamos usar o arquivo Tiro.wav que se encontra na pasta \\arquivoscurso\Unity4.
Pronto nosso arquivo de udio j est na pasta Sons.

Agora vamos adicionar esse udio ao evento de atirar que j criamos


anteriormente.
Primeiro clique no prefab da bala "Pbala", depois clique em Components, a
seguir clique em Audio, e por fim em Audio Source:

Em nossa aba/janela Inspector ir surgir o seguinte menu:

nesse menu que adicionamos um arquivo de udio, nele definimos se o udio


tocar infinitamente, o volume do som entre outras caractersticas.
Siga o vdeo abaixo clicando no boto que est sendo indicado, na
janela Select AudioClip que surgir, escolha o arquivo deudio desejado e
pronto:

Quando voc atirar vai escutar o som dos tiros sendo emitidos.
Caso esteja tudo correto, salve a cena e o projeto.
Passagem de fase
Agora vamos aprender a programar um efeito muito comum nos games, mas
que ningum repara que a passagem de fase.
Passar de fase algo muito simples, o conceito principal :
Precisamos ter duas ou mais cenas para poder efetuar a passagem de fase.
Sendo assim vamos criar um Novo Projeto, clicando em File, depois New
Project como mostra a imagem abaixo:

Feito isso teremos a seguinte janela para informarmos o nome do novo projeto,
vamos colocar o nome de PASSANDO_DE_FASE e clicar no boto Create.

Depois disso a Unity3D ir reiniciar com o novo projeto aberto, caso sua rea
de trabalho no esteja semelhante a figura abaixo, chame seu professor para
lhe ajudar a configur-la:

Agora antes de qualquer coisa vamos salvar nossa primeira cena, que
a Unity3D j cria como Default, com o nome de Fase1.
Clique em File e escolha Save Scene as...

Depois na janela Save Scene digite o nome Fase1 e clique em Salvar,


conforme mostra a imagem abaixo.

Agora crie outra cena e repita o processo de salvar, porm agora com o nome
de Fase2 para que tenhamos como resultado a seguinte imagem:

Agora clique duas vezes na Fase1 para ativ-la e vamos montar uma cena
que se parea com a imagem abaixo:

Na Fase1 adicionaremos uma plane, uma Sphere e uma directionallight de


cor azul, seguindo a seguinte ordem:
Vamos iniciar criando primeiro a Plane, despois a esfera e por
a Directional Light.

ltimo

Primeiro clique em GameObject, em seguida Create Other e depois siga a


ordem conforme figura abaixo:

Use a ferramenta
para posicionar a esfera sobre a plane e use
aumentar o tamanho da esfera.

para

Com a luz em cena vamos trocar a cor dela de branco para azul.
Pronto, com isso a cena apresentada no incio do tpico est pronta.

Agora na Fase2 vamos montar uma cena diferente.


Clique duas vezes sobre a cena Fase2 para ativ-la

Seguimos o mesmo conceito da Fase1, porm mudamos algumas coisas como,


por exemplo, a cor da luz, e ao invs de uma esfera no centro da cena, agora
tem um cubo.

Em ambas as cenas a cmera no recebeu nenhuma alterao de projeo.


Agora vamos criar um cdigo bem simples para passar de uma fase para a
outra simplesmente apertando o boto espao.
Na aba/janela Project crie uma pasta com o nome Scripts e dentro dela crie
um Javascript com o nome de PassardeFase.

E no script escreva o seguinte cdigo:

Agora precisamos adicionar esse cdigo cmera, ou esfera, ou plane, no


importa o objeto pois ir funcionar desde que esse cdigo esteja em
um GameObject para poder ser executado, e quando apertarmos a
tecla espao, vamos passar daFase1 para a Fase2.
Clique duas vezes na Fase1 para ativ-la.
Agora adicione o cdigo a Main Camera.
Tudo isso graas a funo LoadLevel da classe Application.
A
funo LoadLevel pede
apenas
um
parmetro
para
uma string que carregue o nome da cena que queremos carregar.

funcionar,

Mas, lembre-se: para que tudo isso funcione, adicione as cenas ao Build do
projeto estando com a cena carregada e clicando em Add Current.
Execute seu projeto e observe se ao pressionar a tecla de Espao ser trocado
de cena:

Introduo a IA
A inteligncia artificial o estudo que visa fazer com que mquinas se
comportem de forma natural.
Na indstria dos games essa tcnica muito valiosa para fazer com que os
personagens que no so controlados por humanos tenham reaes o mais
natural possvel de acordo com cada situao.
Um exemplo disso seria games como GTA, onde o jogador anda pelas ruas e
dependendo de suas aes os personagens ou NPCs em volta reagem de um
jeito diferente.
Um dos exemplos clssicos da inteligncia artificial para games o homem
que patrulha.
Nesse exemplo um personagem faz sua patrulha respeitando um ciclo de
lugares que ele precisa visitar para garantir que o permetro esteja vigiado.
No prximo tpico vamos reproduzir esse efeito.
IA na prtica
Agora vamos fazer um exemplo simples de inteligncia artificial que consiste
em um cubo transitar entre outros 3 cubos afim de simular uma rota de
viglia.
Primeiro crie uma cena usando os conceitos que voc aprendeu de maneira que
fique igual cena apresentada abaixo:

Nessa cena usamos uma plane e quatro cubos, sendo que um desses cubos
se comportar como o agente inteligente.
Para o nosso exemplo vamos criar um Novo Projeto com o nome de IA.
Observe o passo a passo nas imagens que seguem:

Para o nome do arquivo digite IA e clique em Salvar.

Antes de criar os objetos deixe sua cena com a seguinte aparncia:

Agora clique em GameObject, Create Other, e crie e uma Plane e 4 Cubos.

Crie
tambm
uma Directional
Create Other, Diretional Light.

light clicando

em GameObjects,

Agora precisamos organizar nosso projeto, e pra isso precisamos criar pastas
para guardar texturas, cdigos e materiais.
Para criar essas pastas v at a aba/janela Project, clique no boto Create,
depois clique em Folder para criar uma pasta, repita esse processo at ter
criado as trs pastas apresentadas abaixo:

Agora na pasta Texturas vamos importar uma textura para ser o cho da
nossa aplicao, voc pode escolher qualquer textura para isso, para a nossa
aplicao de exemplo vamos usar uma textura de grama.
Para importar essa textura selecione a pasta Texturas e clique sobre ela com
o boto direito do mouse, no menu que surgir clique em Import New
Asset..., na janela Import New Asset selecione a textura de grama,
localizada na pasta\\arquivos-curso\Unity4.
Otimizao para jogos mbile
Quando se fala de games 2D os cuidados para otimizao so menos drsticos
do que em 3D.

Mas existem alguns pontos que precisam ser discutidos independente do tipo
de game 2D ou 3D.
Precisamos ter em mente que o bom senso no tamanho das imagens conta
muito e efeitos como alpha blend so fatais para games mobile.
Para quem adora usar efeitos shader triste dizer isso, mas o desenvolvedor
precisar se conter muito, pois j foi constatado pela prpriaUnity
Tecnologies que
a
renderizao
de
grandes
superfcies
com shaders complexos derrubam a taxa de FPS tornando o game impossvel
de ser jogado.
claro que isso no significa que voc no v poder usar shaders no seu game
mobile, pode sim, mas com moderao "MUITA MODERAO".
Outro cuidado necessrio so as partculas, sistema de partculas criam
inmeros objetos em cena que em sua maioria utilizam o efeito dealpha
blend, ento para esse caso muitas vezes o uso de uma ou mais planes com
imagem animada seria o mais vivel.
Um exemplo que a prpria Unity Tecnologie apresenta de game mobile com o
mximo de otimizao o game 3D ShadowGun.
Acompanhe o prximo mdulo do curso de Unity onde estaremos abordando
com mais nfase esse tema (mobile), nele estaremos fazendo testes e
exemplificando todo o procedimento com a verso da Unity para Android.
Save Game simples
Falar de desenvolvimento de games e no falar de sistema de save e load
uma falha gigantesca. Portanto vamos falar um pouco sobre esse assunto.
Um jogador espera que todas as suas conquistas sejam salvas para que no
precise conquist-las a toda hora.
Vamos ver agora um exemplo bsico, porm poderoso de sistema
de save e load que tem a funo de salvar e depois carregar umnome.
Primeiro crie um Novo Projeto e d o nome a ele de Save_Load, feito isso
crie uma pasta para guardar seus scripts, d a ela o nome de Scripts.

Agora crie um Javascript com o nome de Menu e digite o seguinte cdigo:

Para nosso cdigo primeiro criamos uma varivel para armazenar o nome.

Depois na funo OnGUI criamos um menu bem simples.

Aqui usamos a varivel nome para armazenar o valor digitado na Textfield ou


campo de texto.

Depois criamos uma condicional para o boto save, dizendo que se clicado ele
ir salvar na varivel "nome" o que digitamos na Text field.

E por ltimo, criamos uma condicional para carregar a palavra salva na varivel
"nome" dentro de nossa Text field.

Instancie o script Menu ao objeto Main Camera.


Salve a cena como Menu, salve tambm o projeto:
Agora execute o projeto salvo.

Compilao
Agora vamos aprender como compilar um game desenvolvido por ns.
Os passos so bem simples, para teste vamos compilar o ltimo projeto
de save e load que fizemos.
Primeiro clique em File, depois em Build Settings:

Teremos a seguinte janela como resultado:

Nela escolheremos para qual plataforma vamos compilar nosso game, para PC,
MAC, WEB, IOS, ANDROID, XBOX360, PS3, WII , depois vamos clicar
em Add Current.

Isso far com que adicionemos a compilao s fases criadas, no caso como
criamos apenas uma ento s ela foi para a compilao.
Agora s clicar em Build ou Build And Run para a imagem abaixo aparecer:

Crie um nome e clique em Save.


Pronto est feito o .EXE do seu game.

Projeto Side Scroll (Scrolling)


Agora iremos iniciar o processo de desenvolvimento necessrio para um game
de uma fase. Agora veremos detalhadamente passo a passo, todo o processo
de criao, iniciando com a arte 2D e finalizando com a programao de uma
fase inteira do jogo.
Em primeiro lugar temos que definir o tipo de jogo que faremos, no caso do
nosso projeto, ser um jogo do tipo Side Scroll. Mas o que um game do
estilo Side Scroll? Para ficar mais fcil de entender vamos dar alguns
exemplos desse tipo de jogo. Um jogo do estilo side scroll so os jogos do
mesmo estilo do conhecido e mundialmente famoso Mario Bros da Nintendo,
alm dele existem inmeros jogos com esse mesmo estilo como o Sonic por
exemplo. Em nosso projeto utilizaremos o mesmo conceito e dinmica desse
tipo de jogo.
O primeiro passo para a criao de um game pensar no tema, na histria, no
objetivo e dinmica do jogo. Para tema do jogo que desenvolveremos agora,
pensamos em um tema que est em evidncia no momento, o que vem dando
timas histrias tanto para filmes, sries e games, criar histrias
sobre Zumbis. O intuito do nosso jogo ser chegar vivo at o final da fase
matando o maior nmero de zumbis possvel, para chegar at o final da fase o
jogador dever coletar itens para acumular pontos e matar os zumbis que
estiverem vindo em sua direo
Para iniciar o trabalho, primeiro devemos j ter pelo menos um esboo dos
nossos personagens e cenrios. Agora vamos detalhar todo o processo de
criao das mdias, ou seja, da parte artstica do nosso jogo, depois
passaremos para a animao dos personagens e em seguida e por fim toda a
programao. Nas prximas pginas voc ver todo esse processo
detalhadamente.

Pintura Digital com Photoshop


Vamos comear criando a cena do nosso game, para isso abra
o Photoshop vamos criar um documento com as seguintes dimenses: 1024 x
600.

Cho
A primeira coisa que criaremos ser o solo, o cho do cenrio, faremos que se
parea com um terreno clssico com grama por cima. Para isso criaremos uma
camada, ou seja, uma layer com o nome de "grama" e configurao da
camada Normal, e nela desenharemos uma figura conforme a da imagem
abaixo:

O desenho acima foi feito com um pincel do tipo duro (Dureza 100%).
Essa imagem ser a base para nosso cho, s curvas desenhadas esto
representando a rea da grama, ento deduzimos que a parte de cima da rea
ondulada a grama e a rea de baixo a terra.
Seguindo esse pensamento escolhemos um tom de verde de RGB 89,170,35 e
pintamos a grama com a ferramenta balde de tinta.

Depois de pintada a rea que ser a grama, precisaremos adicionar sombras a


ela, para isso criaremos uma camada chamada "sombra" com configurao
como Multiplicao.

Como mostra a imagem abaixo:

Perceba que criamos uma nova camada e iniciamos a pintura das sombras na
parte inferior da grama, para essa pintura utilizamos um pincel malevel de
tamanho 17 pixels, cor verde com RGB de 37,68,20.
Nota: Esse curso no est destinado a ensinar as ferramentas
do Photoshop nem as do Gimp, ou qualquer outro editor de imagens, o que
ensinaremos so as tcnicas de arte digital que envolve luz, sombras e
tonalidades de cor, caso voc no tenha domnio sobre essas ferramentas
aconselhamos fazer o curso de Photoshop.
Feito isso preciso deixar essa grama mais real, para isso vamos criar outra
camada
no Photoshop com
o
nome
de
"sombra2"
com
a
configurao Multiplicao e vamos pint-la, com um tom de verde mais
escuro que o usado na camada "sombra, vamos usar um verde com RGB de
20,38,10.
Depois de criadas as duas sombras vamos criar uma camada para o efeito de
luz sobre a grama, essa camada ter o nome de "luz" com
configurao Subexposio.

Vamos pintar a grama com um tom de verde mais claro que os usados at o
momento, no nosso caso usamos um verde com RGB de 83,203,18.

Veja que a grama tem um aspecto mais real, isso graas a um pincel especial
do Photoshop chamado Grama de Duna, aqui o utilizamos com tamanho
de 25 pixels, mas claro mesmo que voc use o Gimp esse efeito pode ser
reproduzido pintando cada grama com um pincel comum apenas movendo o
mouse em ngulos para simular cada grama.
Nossa grama j est com um aspecto bem legal, porm, no est real, para
resolver isso vamos usar o pincel Grama de Duna tamanho25 pixels para
pintar todas as bordas da grama dando um efeito como o da imagem abaixo:

Terminada a grama preciso criar a terra que fica abaixo da grama, para isso
escolha duas tonalidades de marrom para mescl-las.
Voc pode escolher qualquer tonalidade, aqui ns escolhemos como primeiro
plano o marrom com RGB de 91,53,13 e
para
o marromdo segundo
plano usamos um RGB de 119,55,4.

A seguir, usando o filtro Nuvem vamos obter um resultado parecido com a


imagem abaixo:

A essa imagem vamos adicionar efeitos a fim de deix-la mais parecida com
terra,
podemos
adicionar
um
filtro
chamado Rudo com
configurao Monocromtica com uma porcentagem de 1,5 a 2% de rudo,
para dar um aspecto spero.

Enfim, o nmero de efeitos que podemos adicionar infinito, mas por enquanto
vamos deixar nosso cho com o aspecto apresentado abaixo:

Lembre-se a tcnica de sobreposio de cores com tonalidades diferentes


aumenta o realismo das imagens sendo possvel atravs dessa tcnica simular
luz e sombra.
Arbusto
Para criar os arbustos que vo incrementar o visual do nosso game precisamos
abrir o Photoshop, criar um arquivo de 1024de largura por 600 de altura.

E depois disso usar a ferramenta de seleo retangular para delimitar a


rea onde ser desenhado nosso arbusto.

importante selecionar essa rea ilusria para que no deixemos o arbusto


muito grande.
Para desenhar nosso arbusto primeiro vamos criar uma camada
no Photoshop que chamaremos de "Desenho" com a configurao definida
como Normal.

Feito isso vamos definir as cores para trabalhar como mostra a imagem abaixo:

Como apresentado escolhemos as cores padro do Photoshop Preto (RGB de


0,0,0) e Branco (RGB de 255,255,255), escolhemos essas cores, pois
iremos desenhar sobre um fundo branco e para isso necessrio a cor preta
em primeiro plano com uma cor branca como segundo plano.
Depois de ajustado as cores vamos escolher um pincel de tamanho 5
pixels com dureza de 100%.

Opacidade e Fluxo com o valor de 100%.

Agora j podemos desenhar a imagem abaixo:

Nota: Fique atento, para criao de imagens que tero movimento lateral
(eixo X), preciso garantir que exista uma continuidade da imagem, no
podemos deixar que o jogador perceba emendas na imagem do cenrio durante
seu movimento lateral.

Para garantir que as emendas no sejam visveis preciso usar o Filtro


Deslocamento para que seja possvel verificar onde a emenda est e se a
mesma precisa de ajustes.
Depois de verificar as emendas da imagem precisamos pintar o arbusto, para
isso primeiro use a ferramenta varinha mgica para selecionar a rea
desenhada como mostra a imagem abaixo:

Selecionada a rea desenhada vamos pintar o arbusto, mas antes lembre-se de


criar uma camada para efetuar a pintura.
No nosso caso criamos uma camada com o nome de "arbusto" e com a
configurao
definida
como Normal,
depois
disso
escolheremos
a
cor verde com RGB de 46,141,24 dentro
do mosaico de
cores
do Photoshop.

Aps selecionada a cor, a aplicamos na imagem da mesma selecionando-a


previamente
conforme
fizemos
anteriormente
na gramautilizando
a
ferramenta Balde de Tinta

obtendo o seguinte resultado:

Aps concluir a pintura, vamos retirar a seleo apertando Ctrl + D. Agora


daremos mais realidade ao nosso arbusto adicionando-lhe sombras e brilho.
Para isso crie uma nova camada com o nome de "detalhe" com a configurao
definida como Normal e escolha o pincel de Grama de Duna.

Depois pinte toda a regio do arbusto tomando o cuidado de estar usando os


seguintes tons de cores, verde (RGB de 64,139,19):

Mesclando verde com branco (que a funo do pincel Grama de Duna)


teremos o seguinte efeito:

Perceba que com apenas esse efeito nossa imagem ainda no fica muito boa,
ento precisamos criar uma nova camada com o nome de "sombra" e com a
configurao definida como Normal.
Na nova camada com nomeada como "sombra" escolha um verde um pouco
mais escuro que o usado para pintar a imagem acima, nesse caso o RGB fica a
seu critrio, depois diminua a opacidade e o fluxo do pincel em 60% e com o
pincel de Grama de Duna, pinte a grama de forma que sua imagem fique
como apresentado abaixo:

Agora na mesma camada "sombra" escolha uma cor um pouco mais


escura de verde, nesse caso tambm o RGB tambm ficar ao seu critrio.
No se esquea de modificar o valor de opacidade do pincel em 90%.
Depois pinte o arbusto para que sua aparncia fique igual imagem abaixo:

Feito isso vamos alterar as configuraes da camada "sombra" para Luz


Linear.

Dessa forma teremos como resultado a imagem abaixo:

Agora vamos ajustar as camadas "detalhe" e "sombra" para que tenham um


aspecto de movimento.
Para isso use a ferramenta Borrar do Photoshop
, com pincel do
tipo Borrifo tamanho 46, aplique-a na imagem da camada "detalhe" at que a
mesma fique como mostra a imagem abaixo:

Lembre-se que a camada detalhe precisa estar definida como Normal e que
a resistncia do pincel borrar precisa ser de 30%conforme mostra a
imagem abaixo:

Depois de ter aplicado a ferramenta borrar na camada "detalhe" precisamos


fazer o mesmo na camada "sombra", mas nessa camada o valor
da resistncia do pincel borrar ser de 20%.

Agora que terminamos de ajustar nossa imagem vamos ajustar seu


deslocamento para que exista uma continuidade no eixo X, o filtro que nos
permite fazer esse ajuste o filtro deslocamento.

O valor adicionado a esse filtro aleatrio devendo ser usado o valor que
melhor se adapte a suas necessidades.
Depois de ajustado a imagem ao seu movimento no eixo X, chegou a hora de
trabalhar o visual da imagem, para isso ajuste o equilbrio de cor, o brilho,
contraste e nvel de claridade da imagem (essas configuraes esto no boto
imagem e sub-boto ajuste) de forma que a mesma tenha um aspecto realista
como a imagem abaixo:

Coqueiro
Agora continuaremos nosso projeto desenvolvendo a arte de um coqueiro que
ser usado em nosso game.
Para isso vamos abrir o Photoshop e criar um novo arquivo com o tamanho
de 1024 de largura por 600 de altura e apertar o boto Ok.
Com a cena criada, primeiramente iremos ajustar as cores de trabalho
do Photoshop para preto e branco, depois vamos criar uma nova camada
com o nome de "coqueiro" e com a configurao definida como Normal.
Depois de criada a camada vamos escolher um pincel de opacidade e fluxo
100%, tamanho de 5 pixels e dureza mxima.
Feito isso vamos desenhar o coqueiro como mostra a imagem abaixo:

Depois de desenhado o coqueiro, vamos criar uma nova camada com o nome
de pintura.
Nessa camada vamos pintar o coqueiro comeando pelos cocos, escolha um
tom de marrom, no nosso caso um marrom com RGB de95,69,20 e um pincel
com dureza de 100% e tamanho de 25 pixels. Agora pinte os cocos tomando
o cuidado de definir as configuraes da camada pintura como Multiplicao.
Fazendo isso teremos a imagem abaixo:

Pronto, pintamos os cocos, porm, ainda esto muito sem graa, ento
precisamos adicionar sombras a esses cocos, para isso vamos criar uma nova
camada com o nome de "cocos_sombra" e definir essa camada com a
configurao definida como Escurecer.
Agora vamos escolher um pincel malevel de tamanho 11 ou o tamanho que
seu projeto se adapte melhor e pintaremos apenas as bordas onde a sombra
tem maior intensidade.
Veja abaixo:

Perceba que o aspecto dos cocos melhorou muito, porm ainda so


necessrios mais alguns ajustes para que possamos obter um resultado
realmente satisfatrio.
Para isso vamos criar mais uma camada e lhe dar o nome de
"cocos_sombra2" deixe as configuraes da camada definidas comoNormal.
Nessa pintura usaremos um pincel malevel, porm com um tamanho
reduzido de apenas 7 pixels.
Por fim usando as tcnicas de tonalidades de cor vamos escolher no mosaico de
cores do Photoshop um tom mais escuro de marrom(RGB de 91,65,15) e
com ele pintaremos as bordas dos cocos para aparentar uma sombra mais forte
nas extremidades de cada coco.
Deixando a imagem com o seguinte aspecto:

Perceba que o grau de realismo da imagem aumentou, porm possvel ver os


traos do pincel e isso no bom para um game comercial.
Sendo assim vamos suavizar esse trao, para que tenha uma aparncia mais
profissional. Para essa tarefa vamos precisar usar a ferramenta
de Desfoque
, precisamos usar essa ferramenta com um
de resistncia de 88% para garantir que o efeito seja o esperado.

valor

Perceba que criamos uma iluso de brilho nos cocos, mas isso ainda pouco,
da mesma forma que a sombra tem tons mais claros e mais escuros, o brilho
tambm tem, ento no meio da pintura de brilho d pequenas pinceladas
de branco (RGB de 255,255,255) para simular um brilho mais intenso (Para
esse efeito use a mesma camada de "cocos_brilho").

Perceba que o efeito melhorou muito, mas claro que isso apenas uma base,
voc pode ajustar os efeitos para ficarem conforme seu gosto.
Agora vamos adicionar mais realismo aos nossos cocos, para isso vamos
escolher dois tons de marrom no mosaico de cores, ummarrom claro e
outro mais escuro.
Agora vamos criar uma nova camada chamada "plos" (Deixe suas
configuraes como Normal) e depois escolheremos o pincel Grama de Duna.

Tomaremos o cuidado de deixar o pincel com um tamanho que possa apenas


pintar as bordas dos cocos, um tamanho de 13 pixels por exemplo,
precisamos pintar com cautela quando estivermos usando esse pincel, pois ele
tem uma inclinao natural que precisa ser respeitada para que seja possivel
conseguir um bom resultado em nossa pintura.
Depois de ajustados os parmetros apresentados acima vamos pintar os cocos
at conseguirmos chegar a um resultado semelhante ao apresentado na
imagem abaixo:

Pronto, criamos uma pintura que simula plos com grande realismo, porm
agora precisamos adicionar uma sombra a esses plos para isso crie uma nova
camada com o nome de "plos_sombra".
Depois
escurea
as
cores
de primeiro e segundo
plano para
de marrons mais escuros do que os utilizados para pintura dos plos.

tons

Agora modifique apenas o tamanho do pincel que usamos anteriormente, o


deixando com 9 pixels e depois aplique a pintura nas bordas dos cocos.
Ateno a um detalhe, a camada de "pelos_sombra",
configurada para Diferena com uma opacidade de 90%.

precisa

estar

Fazendo dessa forma teremos uma imagem semelhante apresentada abaixo:

Pronto, veja que os plos com efeito de brilho ajudam a perceber a


profundidade do desenho, aumentando assim sua realidade.
Agora chegou a hora de pintar o tronco do nosso coqueiro, para isso vamos
criar uma nova camada com o nome de "tronco" e mudar suas configuraes
para Multiplicao, depois disso escolha um tom de cor marrom para pintar
todo o tronco no nosso caso usamos um marrom com RGB de 58,36,2.
Ateno, antes de pintar defina um pincel malevel de tamanho 17 pixels,
feito isso aplique a pintura de forma que o resultado seja semelhante a imagem
abaixo:

Com o tronco pintado chegou a hora de detalhar essa pintura, para isso crie
uma nova camada com o nome de "detalhe" e configure-a como Normal.

A seguir escolha dois tons de marrom mais escuro para pintar os detalhes, (no
nosso caso usamos um marrom de ( RGB 50,31,2) e outro de (RGB 44,27,2)
e defina como pincel o Grama de duna com um tamanho de 16 pixels.
Feito isso pinte os detalhes do tronco como mostra a imagem abaixo:

Agora na mesma camada vamos alterar as cores de primeiro e segundo plano


para um tom mais claro em primeiro plano (RGB 123,67,15) e um tom mais
escuro em segundo plano (RGB 30,15,1).
Com o mesmo pincel, o Grama de Duna selecionado com o tamanho de 16
pixels vamos detalhar os fiapos do tronco do coqueiro.
Veja na imagem abaixo:

Perceba que os detalhes transversais ficaram mais visveis.

Agora preciso adicionar uma sombra a esse detalhe para que o mesmo
apresente um aspecto mais realista.
Ento crie uma nova camada com o nome de "tronco_sombra" defina sua
configurao como Normal.
Depois escolha um tom de marrom escuro (RGB 56,35,1) para ser a sombra
do tronco, feito isso troque o pincel que era o Grama de Duna por um pincel
comum malevel com tamanho de 8 pixels.
Agora pinte o tronco at obter o seguinte resultado:

Perceba que os traos da pintura esto muito fortes at grosseiros, para


suaviz-los vamos usar a ferramenta desfoque comresistncia 88% para
suavizar as sombras de forma que fiquem como a imagem abaixo:

Agora vamos detalhar um pouco mais nosso trabalho criando para isso uma
nova camada com o nome de "tronco_sombra2" com a configurao definida
como Normal.
Nessa camada use as mesmas configuraes de pincel que usamos na primeira
sombra do tronco, apenas mudando o tom de cor para um marrom mais
escuro, fica a seu critrio o quanto mais escuro deve ser ns sugerimos
um RGB de 65,39,6
Feito isso pinte o tronco de forma que se parea com a imagem abaixo:

Perceba que nesse caso tambm teremos que suavizar o trao das sombras,
ento use a ferramenta Desfocar com resistncia de 88%, para fazer esse
trabalho. Depois de aplicado essa ferramenta sombra teremos o seguinte
resultado:

Depois de aplicado o efeito de suavizar, precisamos fazer algumas modificaes


nas camadas do tronco do coqueiro.
Primeiro v at a camada que demos o nome de "tronco" e mude sua
configurao de Multiplicao para Normal, depois na camada "detalhe"
ajuste a configurao da camada para Multiplicao com uma opacidade
de 94%, depois de feito isso, precisaremos ajustar as camadas de sombra, na
camada "tronco_sombra" no mexa em nada, deixa-a com as configuraes
que mostramos anteriormente.
Na camada "tronco_sombra2" ajuste a configurao para Luminosidade,
com esses ajustes ser possvel adicionar efeitos de luz para nosso tronco,
ento vamos criar uma nova camada com o nome de "tronco_luz", por
enquanto vamos deixar a configurao da camada como Normal.
Depois vamos escolher um tom de marrom bem claro para simular reas mais
iluminadas no tronco, no nosso caso vamos usar um RGBde 189,148,86, feito
isso vamos escolher um pincel malevel com o tamanho de 8 pixels, pronto
s pintar as reas que teoricamente recebem mais luz, da seguinte forma:

No
se
esquea
de
usar
a
ferramenta Desfocar
com resistncia de 88% e um pincel malevel de 8 pixels para suavizar o
trao do pincel e desta forma obtermos o seguinte resultado:

Pronto agora vamos melhorar essa imagem trocando a configurao da camada


de Normal para Lighter Color.
Depois com a ferramenta Borrar
escolha o pincel do tipo Borrifo, com
resistncia de 30% e passe o pincel sobre cada camada do tronco (menos a
camada com o nome de tronco) para obter um resultado como o da imagem
abaixo:

Perceba que o tronco apresenta um aspecto mais suave, mas repare que abaixo
dos cocos existe um detalhe de folhas que ainda no foi pintado.

Esse detalhe de folhas pode ser pintado na camada detalhe do tronco,


escolha o tom de verde que mais lhe agradar e pinte com umpincel
malevel de tamanho 8 pixels.

Pronto terminamos essa parte e agora vamos pintar a grama que fica na base
do tronco do nosso coqueiro, para isso crie uma nova camada e d o nome de
"grama", ajuste sua configurao para Normal.
Depois escolha dois tons de verde para pintar essa grama, um verde mais
claro (RGB de 47,72,11) e outro mais escuro (RGB de38,59,5).
Feito isso escolha o pincel Grama de Duna com um tamanho de 41 pixels e
pinte a base do tronco at obter o seguinte resultado:

Agora vamos incrementar essa grama, na mesma camada apenas troque os


tons de verde.
Onde temos um tom o verde claro, deixe ainda mais claro e onde temos um
tom mais escuro deixe mais escuro.
Agora pinte a grama at chegar a um resultado semelhante ao da imagem
abaixo:

J melhoramos muito o aspecto da imagem, porm ainda precisa melhorar,


vamos criar mais uma camada e dar a ela o nome de "grama_sombra"
configure essa camada como Multiplicao.
Usando o mesmo pincel de Grama de duna tamanho 41 pixels, v at a
cor verde do primeiro plano e deixe a com um tom mais escuro.

Agora pinte a grama at conseguir um resultado semelhante ao da imagem


abaixo:

A grama ficou com uma qualidade boa, mas perceba que o trao est muito
duro, ento para resolver isso vamos usar a ferramentaborrar com
uma resistncia de 30% e um pincel do tipo Borrifo tamanho 46 pixels.
Vamos aplicar essa ferramenta nas duas camadas de grama, a "grama" e
"grama_sombra" deixando a imagem semelhante apresentada abaixo:

Pronto! A esta nossa grama.


Agora vamos para a pintura das folhas do nosso coqueiro, antes de comear
crie uma nova camada com o nome de "folhas" deixe sua configurao definida
como Multiplicao.

Escolha um tom de verde para pintar as folhas no nosso caso escolhemos


um RGB de 103,144,53, lembre-se de escolher um tom no muito claro nem
muito escuro.
Depois escolha um pincel do tipo malevel no tamanho de 67 pixels e pinte
as folhas at obter o seguinte resultado:

Agora que pintamos nossas folhas vamos adicionar sombras a elas, para isso
crie uma nova camada com o nome de "folhas_sombra" a configurao da
camada deve ser Luz Direta com opacidade de 57%, depois v at o quadro
de escolha de cores e escolha um tom deverde mais escuro no nosso caso
escolhemos um verde com RGB de 36,70,8.
Por fim escolha um pincel do tipo malevel tamanho 17 pixels e pinte as folhas
conforme a imagem abaixo:

Agora vamos usar a ferramenta Desfoque


com resistncia de 88% e um
pincel malevel no tamanho de 22 pixels para suavizar o trao das sombras
deixando-a como mostra a imagem abaixo:

Agora vamos criar efeitos de luz nas folhas, para isso vamos criar uma nova
camada
com
o
nome
de
"folhas_luz",
configurao Clarear eopacidade de 54%.
Depois escolha um tom de verde bem claro para simular brilho nas folhas ns
escolhemos um verde com RGB de 107,149,56, depois disso escolha um
pincel malevel de tamanho 17 pixels.
Agora s pintar as regies iluminadas como mostra a imagem abaixo:

Agora vamos suavizar o trao do efeito de luz com a ferramenta Desfoque


com resistncia de 88% e pincel malevel no tamanho de 22 pixels, passe

a ferramenta sobre o brilho at obter como resultado algo parecido com a


imagem abaixo:

Pronto pessoal, nosso coqueiro est pronto para ser usado dentro do nosso
game.
Rocha
Agora vamos criar um Novo arquivo com o tamanho de 1024 de largura
por 600 de altura.
Com o arquivo criado, crie uma nova camada com o nome de rocha e
configurao Normal, depois escolha a cor preta como cor primaria:

Por fim escolha um pincel com dureza mxima, tamanho de 5 pixels.


Pronto agora desenhe uma rocha parecida com a desenhada abaixo:

Agora precisamos pintar nossa rocha, para isso crie uma camada com o nome
de "pintura" e deixe sua configurao definida como Multiplicao.
Para pintar essa rocha primeiro escolha um tom de cinza cor sugerida
(RGB de 148,148,148), lembre de escolher um tom nem muito escuro nem
muito claro e depois pinte a rocha com um pincel malevel de tamanho 55
pixels aproximadamente para que a mesma fique parecida com a imagem
abaixo:

Agora que j temos a rocha pintada vamos adicionar sombras a ela, para isso
crie uma nova camada com o nome de "rocha_sombra" com uma
configurao de Multiplicao.
Escolha um tom de cinza mais escuro, ns usamos um tom de cinza
com RGB de 96,94,94 e depois selecione um pincel malevel com tamanho
de 31 pixels.
Agora pinte a rocha para que a mesma se parea com a imagem abaixo:

Agora precisamos suavizar o trao da pintura das sombras para isso escolha a
ferramenta Desfoque com resistncia de 88%.
O tamanho do pincel de desfoque precisa ter um tamanho de 22 pixels e
precisa ser malevel.
Ajustando essas configuraes teremos um resultado semelhante ao da
imagem abaixo:

O aspecto da imagem melhorou, porm ainda no est aceitvel, ento vamos


fazer mais um pequeno ajuste.
Ainda na camada "rocha_sombra", escolha a ferramenta Borrar:
Com uma resistncia de 51% e
pixels.

um pincel

malevel de

tamanho

de 10

Passe o pincel sobre as sombras at que elas fiquem como na imagem abaixo:

Agora que j pintamos a pedra e adicionamos as sombras vamos fazer alguns


ajustes nas camadas de pintura e sombra da nossa pedra.
Primeiro na camada "pintura" mude a configurao de Multiplicao para
Normal e na camada "rocha_sombra" deixa a configurao de
Multiplicao com uma opacidade de 70%.
Teremos a seguinte imagem como resultado:

Perceba que sem as linhas de desenho o aspecto da imagem melhorou muito,


porm algumas linhas de desenho ainda esto visveis.
Para resolver esse problema vamos apag-las na camada "rocha" deixando-a
semelhante imagem abaixo:

Agora na camada "pintura" faremos alguns ajustes para deixar a qualidade da


imagem no nvel necessrio para um game.
Primeiro vamos adicionar um filtro chamado rudo, ajuste a intensidade do
rudo para 2,45%, o tipo de rudo deve sermonocromtico e Gaussiano.
Seguindo esses passos teremos algo parecido com a imagem abaixo:

Depois de adicionado o rudo na camada "pintura" criaremos mais uma


camada com o nome de "rocha_sombra2" e com configurao de
Multiplicao.
Para as sombras que iremos pintar nessa camada vamos escolher um tom
mais escuro de cinza com um RGB de 91,91,91. Vamos escolher tambm
um pincel malevel de tamanho 14 pixels e com ele vamos pintar a rocha at
conseguirmos um resultado como o da imagem abaixo:

Agora que j pintamos as sombras vamos usar a ferramenta Desfoque:


Com uma resistncia de 88% e pincel malevel de 22 pixels para suavizar o
trao das sombras.
Aplique a ferramenta at conseguir um resultado como o da imagem abaixo:

Agora que suavizamos nossas sombras vamos ajustar a configurao de


opacidade da camada "rocha_sombra2" em 68%.
Dessa forma teremos o seguinte resultado:

Pronto, agora que j criamos todas as sombras chegou a hora de criar


os efeitos de luz da rocha.
Para isso crie uma nova camada com o nome de "rocha_luz" com a
configurao da camada definida como Normal, a seguir escolha uma cor para
pintar o efeito de luz.
A cor escolhida ser um tom de cinza bem claro, no nosso caso usamos a cor
cinza com um RGB de 221,221,221 e um pincel malevel de tamanho 14
pixels.
Depois desses ajustes feitos, pinte a rocha de forma que tenhamos um
resultado semelhante ao da imagem abaixo:

Perceba que o efeito de luz j d um ar bem profissional para a nossa rocha,


mas o trao do pincel ainda est muito grosseiro.
Para suaviza-lo escolha a ferramenta Desfocar:
Com uma resistncia de 88%, com um pincel malevel no tamanho de 22
pixels.
Passe a ferramenta na pintura da luz at chegar a um resultado semelhante ao
da imagem abaixo:

Agora que suavizamos nossas sombras vamos ajustar a configurao de


opacidade da camada "rocha_sombra2" em 68%.
Dessa forma teremos o seguinte resultado:

Pronto, agora que j criamos todas as sombras chegou a hora de criar


os efeitos de luz da rocha.
Para isso crie uma nova camada com o nome de "rocha_luz" com a
configurao da camada definida como Normal, a seguir escolha uma cor para
pintar o efeito de luz.

A cor escolhida ser um tom de cinza bem claro, no nosso caso usamos a cor
cinza com um RGB de 221,221,221 e um pincel malevel de tamanho 14
pixels.
Depois desses ajustes feitos, pinte a rocha de forma que tenhamos um
resultado semelhante ao da imagem abaixo:

Perceba que o efeito de luz j d um ar bem profissional para a nossa rocha,


mas o trao do pincel ainda est muito grosseiro.
Para suaviza-lo escolha a ferramenta Desfocar:
Com uma resistncia de 88%, com um pincel malevel no tamanho de 22
pixels.
Passe a ferramenta na pintura da luz at chegar a um resultado semelhante ao
da imagem abaixo:

Perceba que agora conseguimos ver com clareza os efeitos de relevo, luz e
sombra da nossa rocha.
Podemos melhorar ainda mais o visual dessa rocha, para isso modifique a
configurao da camada "rocha_luz" para Diviso.
Dessa forma teremos o seguinte resultado:

Veja como o brilho se torna mais intenso, em um game isso fundamental.


Afinal precisamos ter em mente que o jogador vai passar pelas fases
rapidamente, ento a cena precisa ser capaz de chamar a ateno, mesmo que
vista rapidamente.

Para finalizar essa rocha precisamos tratar alguns aspectos da imagem, como
o equilbrio de cores.
Para isso, primeiramente vamos unir todas as camadas criadas clicando sobre
uma delas com o boto direito, depois em Mesclar Camadas Visveis.
Pronto, teremos agora uma nica imagem para tratar.
Agora v ao boto imagem, depois em ajustes e escolha a opo equilbrio
de cores, na janela que ir aparecer ajuste os nveis de corem -7, 7, 36.
Depois no boto Imagem Ajustes, escolha a opo brilho/contraste e
ajuste seu valor para brilho + 6 e contraste +4.
Agora mais uma vez vamos ao boto Imagem Ajustes e escolha a
opo curvas, nessa opo ajuste o valor de entrada para 137 e
de sada para 117.
Teremos como resultado a seguinte imagem:

Pronto nossa imagem j esta com uma aparncia boa, mas caso voc queira
deix-la mais profissional pode usar mais filtros para isso.
No nosso caso vamos fazer algo diferente, primeiro vamos duplicar a
camada da imagem.
Depois na imagem duplicada adicione o filtro artstico papel de carta.
Pronto, com esse filtro adicionado a uma das copias da imagem vamos
modificar
a
configurao
da
duplicata
da
imagem
para Superexposio com opacidade de 42% assim teremos como resultado
algo parecido com a imagem abaixo:

Agora com a rocha pronta precisamos criar uma pedra, a fim de adicionar um
pouco de variedade ao cenrio. O processo de pintura da pedra idntico ao da
rocha, tendo apenas seu desenho diferente.

Pronto, como resultado temos a pedra finalizada com uma diferena pequena
de brilho para diferenciar pedra de rocha.
Montanhas
Agora vamos incrementar um pouco mais nosso cenrio, j criamos arbustos,
rochas e pedras, agora vamos criar montanhas.
Crie um novo arquivo no Photoshop com 1024 de largura e 600 de altura,
dentro do arquivo crie uma camada com o nome de "montanhas".
Depois
disso
vamos
ajustar
cores primria a secundaria do Photoshop para preto e branco:

as

Depois, escolha um pincel de dureza 100% e tamanho 5 pixels. Pronto,


agora s desenhar algo parecido com a imagem abaixo:

J temos a forma das montanhas, mas lembre-se essa imagem vai deslizar em
seu eixo X (Lateralmente), ento precisamos usar o filtro deslocamento para
ajustar a emenda desse desenho como apresentado abaixo:

Veja que existe uma falha no desenho que aparece quando deslocamos seu
posicionamento no eixo X.
O que precisamos fazer nesse caso consertar essa emenda para dar um efeito
de infinito para nossas montanhas.
Para isso com o pincel que usamos para desenhar a montanha, desenhe uma
linha que seja capaz de unir as extremidades do desenho.
Veja o resultado abaixo:

Agora sim, nosso desenho tem uma continuidade. Agora que j fizemos esse
ajuste, vamos pintar nossa montanha, mas para isso primeiro precisamos criar
uma nova camada com o nome de "pintura", com configurao Normal.
Depois disso use a ferramenta de seleo Varinha Mgica e selecione toda a
parte que fica abaixo da silhueta da montanha como mostra a imagem abaixo:

A regio azul a rea que foi selecionada.


Para criar a textura da montanha vamos usar um filtro chamado nuvem, esse
filtro exige 2 cores para funcionar, ento com primeira cor vamos escolher um
tom de marrom, no nosso caso escolhemos a cor com RGB de 72, 46, 5. Para

a segunda cor escolhemos um tom de verde escuro com RGB de 35, 68, 8.
Agora aplicamos o filtro ao desenho e temos como resultado a imagem abaixo:

Para detalhar ainda mais nossa pintura vamos criar uma nova camada com o
nome de "pintura2" e com a configurao definida comoNormal. Nessa
camada vamos repetir o procedimento de pintura pelo filtro nuvem, porm
vamos usar cores diferentes. A primeira
cor ser um marrom
avermelhado com RGB de 83, 28, 9 e a segunda cor vai ser um verde mais
claro com RGB de 133, 227, 57. Teremos como resultado a imagem abaixo:

Agora para deixar essas duas imagens com um visual aceitvel, vamos fazer
uma alterao na "camada pintura2". Vamos trocar a configurao
de Normal para Luminosidade, conseguindo dessa forma um resultado como
o apresentado abaixo:

Perceba que o resultado est agradvel, porm muito perfeito e isso no


acontece no mundo real. Uma montanha no tem esse aspecto "liso", ento
para quebrar esse efeito de perfeio excessiva vamos usar a
ferramenta Borrar:

Com resistncia de 51% e um pincel no tamanho de 56 pixels malevel.


Vamos passar a ferramenta por toda a pintura das camadas "pintura" e
"pintura2" at atingirmos o seguinte resultado:

Perceba que agora o visual ficou bem mais real, mas ainda no terminamos,
vamos adicionar um filtro rudo para tirar esse aspecto de superfcie polida
das montanhas.
Ento vamos l, na camada "pintura2" v ao boto filtro e depois rudo,
adicione
um rudo
monocromtico,
do
tipo gaussiana,
com
uma porcentagem de 4,80%.
Teremos como resultado a seguinte imagem:

Perceba que aquele aspecto polido sumiu, porem, ainda d pra melhorar essa
imagem. Vamos adicionar a ela um filtro de desfoque por movimento com
um ngulo de movimento de -77 e uma distncia de 7 pixels, gerando
como resultado a imagem abaixo:

Agora vamos adicionar sombras a nossa montanha, para isso crie uma nova
camada com o nome de "montanha_sombra" com uma configurao
de Multiplicao. Para pintar essas sombras vamos escolher um tom escuro
de verde, no nosso caso escolhemos umverde com RGB de 41, 51, 10.
Depois vamos escolher um pincel do tipo Borrifo no tamanho de 46 pixels e
que seja malevel, com uma opacidade e fluxo de 80%. Pintaremos nossa
imagem at chegarmos a um resultado parecido com o da imagem abaixo:

Veja que o trao das sombras est muito rustico, precisamos suavizar e
espalhar mais esse efeito. Para isso vamos usar a ferramenta Borrar:

Com uma resistncia de 80% e


de 59 pixels.

um pincel do tipo Borrifo com

tamanho

O valor de resistncia inicia em 80%, porm depois de passar a


ferramenta Borrar em toda a pintura das sombras preciso diminuir o valor
da resistncia para 51% para que possamos suavizar levemente o trao das
sombras que esto mais prximas das bordas do desenho.
Agora s passar a ferramenta borrar nas sombras at conseguir um
resultado semelhante ao da imagem abaixo:

O resultado ficou legal, mas a cor da sombra est muito forte vamos modificar
a configurao da camada "montanha_sombra" deMultiplicao para Luz
Direta com opacidade de 67%.
Vamos ver a mudana abaixo:

melhorou bastante, mas as bordas do desenho esto tirando o ar de realidade


da imagem.
Vamos retir-las apagando as bordas na camada montanhas, ou simplesmente
deletando essa camada inteira.

Feito isso teremos como resultado algo parecido com a imagem abaixo:

Agora chegou a hora de tratar a imagem das montanhas, para isso primeiro
mescle todas as camadas que usamos para desenhar as montanhas clicando
com o boto direito do mouse sobre uma das camadas e escolhendo a
opo Mesclar Camadas Visveis. Pronto, agora com uma nica imagem,
vamos ao boto imagem, ajustes e em equilbrio de cores vamos ajustar
os nveis de cor para +30,+15, +17, depois no boto imagem ajustes, v
em brilho - contraste e
ajustes
o
valor
de brilho para +18 e
de contraste para+47, e por ltimo vamos mais uma vez ao boto imagem ajustes e em curvas ajuste, a configurao de entrada para 141 e de
sada para 119. Seguindo essas configuraes teremos o seguinte resultado:

Nossas montanhas ficaram com um aspecto bem agradvel, porm no pense


que no nosso game teremos apenas esse desenho de montanhas.
Um truque legal clonar essa imagem, aplicar um flip lateral, ferramenta que
est no boto editar - transformao.
E teremos um efeito parecido com o da imagem abaixo:

Pronto, nossas montanhas esto finalizadas.


Nuvens
Agora vamos aprender como criar nuvens para adicionar ao nosso game, para
isso
antes
de
qualquer
coisa
vamos
criar
umnovo
arquivo de 1024 de largura por 600 de altura.
Dentro desse arquivo crie uma camada com o nome de "nuvem" e
configurao Normal.
Na camada Default do Photoshop, aquela que sempre aparece com o nome
de Plano de fundo, iremos fazer uma pequena mudana de cor trocando a
de branco para preto.
Fizemos isso para que seja possvel enxergar as nuvens que tem a cor branca.
Feito esse pequeno ajuste de cor, vamos na paleta de cores e escolheremos
um branco com RGB de 255, 255, 255.
O
tipo
de pincel precisa
ser malevel de
pixels, opacidade e fluxo de 80%.

tamanho

igual

Agora pinte as nuvens de maneira que fiquem como a imagem abaixo:

a 48

Agora use a ferramenta Desfoque:

Com uma resistncia de 88% e pincel malevel no tamanho de 46 pixels.


Vamos suavizar o trao das nuvens at obtermos algo parecido com a imagem
abaixo:

O trao est mais suave, porm ainda precisa de um tratamento, escolha agora
a ferramenta Borrar:

Com uma resistncia de 30% e pincel malevel no tamanho de 39 pixels.


Aplique a ferramenta nas nuvens at conseguir algo parecido com a imagem
abaixo:

Perceba que o aspecto das nuvens melhorou muito, porm essa nuvem est
muito densa.
Vamos mudar a configurao de opacidade da camada para 60%.
Com essa alterao teremos o seguinte resultado:

Pronto, nossas nuvens esto prontas.


Personagem
Agora vamos explicar com detalhes como criar um personagem animado,
nesse tpico criaremos o heri do nosso game.
Para
isso
crie
no Photoshop com 512 de largura e 512 de altura.

um Novo arquivo

Dentro desse arquivo crie uma nova camada com o nome de passo1 e deixe a
configurao da camada como Normal.
Na cor
plano:

escolha

cor preta como primeiro

plano e branco como segundo

e por fim escolha um pincel com dureza de 100% e tamanho de 5 pixels.


Depois de todos esses ajustes desenhe o personagem como mostra a imagem
abaixo:

Nosso personagem foi desenhado na posio que ser o primeiro passo de um


ciclo de caminhada.Ainda no desenhamos os braos, mas logo adiante
adicionaremos tanto brao quanto arma ao nosso heri.
Agora vamos criar uma nova camada com o nome de "passo2" e configurao
de camada como Normal.Depois desenhe o nosso heri na seguinte posio:

Terminado esse desenho crie uma nova camada com o nome de "passo3" e
desenhe nosso heri mais uma vez na posio abaixo:

Por fim vamos desenhar nosso heri na ltima posio do movimento de


caminhar, para isso crie uma nova camada com o nome de "passo4" e
desenho personagem na posio apresentada abaixo:

Agora que desenhamos nosso heri nas quatro posies necessrias para
produzir o efeito de andar, vamos adicionar o braoe arma do nosso heri.
Faremos isso em camadas distintas para manter um controle de movimentao
dos braos.
Ento crie uma nova camada com o nome de "brao" e configurao de
camada Normal.
Com as mesmas configuraes de pincel usadas at o momento, desenho brao
como mostra na imagem abaixo:

Pronto, o brao e a arma esto desenhados, agora s precisamos copiar o


desenho
dessa
camada
"brao"
para
as
camadas passo1,passo2, passo3 e passo4.
Ao colarmos o desenho do brao em cada uma dessas camadas acima,
precisamos garantir que exista certa movimentao do brao de acordo com o
caminhar do heri.
Veja isso na imagem abaixo:

Perceba que o brao do nosso heri se move para cima e para baixo de acordo
com os passos que ele d.
Agora vamos pintar nosso heri, para isso crie uma nova camada com o nome
de "pintura" e configurao de camada comoMultiplicao.
Para pintar a pele do nosso heri escolha um tom de bege, no nosso caso
escolhemos o bege com RGB de 245, 223, 184.
Feito isso, com um pincel malevel de 8 pixels de tamanho pinte todo o
rosto do nosso heri de forma que se parea com a imagem abaixo:

Agora que pintamos o rosto do nosso heri vamos adicionar sombras a ele.
Para isso crie uma nova camada com o nome de "sombra_rosto1" e defina a
configurao da camada para Multiplicao. Depois disso vamos escolher um
tom de bege um pouco mais escuro do que o que usamos para pintar o rosto
do heri, no nosso caso usamos o bege com RGB de 202, 170, 115. Agora
vamos
escolher
um pincel
malevel com
tamanho
de 8
pixels com opacidade e fluxo de 100%.Vamos pintar as sombras para que
fiquem com o aspecto da imagem abaixo:

Agora vamos usar a ferramenta Desfoque:


Com uma resistncia de 88% e um pincel de tamanho 6 pixels para suavizar
nossa sombra.
Veja o resultado na imagem abaixo:

Pronto sombra j deu um ar mais profissional ao nosso game, agora vamos


adicionar mais uma camada de sombra ao rosto do nosso heri. Para isso crie
uma nova camada com o nome de "sombra_rosto2" com configurao de
camada Multiplicao. Depois escolha um tom de bege ainda mais escuro que
o de antes para pintar essas novas sombras, no nosso caso escolhemos
um bege com RGB de 94, 70, 29. E um pincel malevel de tamanho 6
pixels com opacidade e fluxo de 100%, agora s precisamos pintar as
sombras como mostra a imagem abaixo:

Como fizemos nas imagens anteriores necessrio suavizar o trao das


sombras usando a ferramenta Desfoque:
Com resistncia de 88% com pincel malevel de tamanho 6 pixels. Depois
de passar essa ferramenta na pintura de sombra teremos o seguinte resultado:

Agora vamos afastar um pouco a imagem para que seja possvel ver o rosto do
heri com as sombras e com a verdadeira qualidade da imagem.

Muito bom, agora que adicionamos todas as sombras do rosto vamos definir o
efeito de luz do rosto.
Para isso crie uma nova camada com o nome de "luz_rosto1" com
configurao de camada Normal. Para a pintura do efeito de luz vamos
escolher um tom de bege bem claro, no nosso caso escolhemos
um bege com RGB de 255, 246, 230.
Para
o pincel escolhemos
um pincel
malevel de
tamanho 6
pixels com opacidade e fluxo de 100%, dessa forma conseguimos obter o
resultado apresentado abaixo:

Pronto, repare que o efeito de luz valorizou mais nosso heri, mas vamos
afastar um pouco mais a imagem para que possamos ver de longe como esse
efeito se comporta em uma camada com configurao de Luz Direta ao invs
de Normal.

Pronto, o efeito ficou bem mais interessante, agora vamos pintar os cabelos e
sobrancelha do nosso heri. Para essa pintura crie uma nova camada com o
nome de "plos", e ajuste a configurao dela para Multiplicao. Depois de
criada a camada, escolheremos a cor que iremos usar para pintar os cabelos e
sobrancelha do nosso heri, vamos escolher um tom de cinza para aparentar
que nosso heri j possui uma idade avanada. No nosso caso usamos um tom
de cinza com RGB de 111, 109, 108, depois escolhemos um pincel de
dureza
mxima ou 100% com
um
tamanho
de 4
pixels com opacidade e fluxo de 100%. Por fim pintamos a sobrancelha e os
cabelos do nosso heri.

Com a sobrancelha e cabelos pintados chegou a hora de adicionarmos sombras


a eles, para isso crie uma nova camada com o nome de "pelos_sombra1" e
com uma configurao de camada como Multiplicao.
Depois escolha um tom de cinza para pintar essas sombras, no nosso caso
escolhemos um tom de cinza com RGB de 69, 69, 68.
Por fim vamos escolher um pincel do tipo Grama de duna com tamanho de 5
pixels.
Pinte as sombras na sobrancelha e nos cabelos conforme mostra a imagem
abaixo:

Pronto, as sombras foram adicionadas ao cabelo e sobrancelha, lembre-se que


depois de pintar assombras necessrio usar a ferramenta Desfoque:
Com resistncia de 88% e um pincel malevel de tamanho 3 pixels.
Agora vamos adicionar efeitos de luz aos pelos, para isso crie uma nova
camada com o nome de "pelos_luz" com configurao de camada Normal.
Para a cor do brilho no tem
cor branca de RGB 255, 255, 255.

segredo,

vamos

escolher

logo

Antes de iniciar a pintura vamos escolher um pincel do tipo Grama de


duna de tamanho 5 pixels.
Com essas configuraes ajustadas teremos o seguinte resultado:

Lembre-se depois de
ferramenta Desfoque:

pintar

efeito

de

luz

necessrio

usar

Com resistncia de 88% com pincel malevel de tamanho 3 pixels para


suavizar o trao do pincel.
Afastando a imagem teremos o seguinte resultado:

Agora vamos fazer um pequeno ajuste na boca do nosso heri, para isso crie
uma nova camada com o nome de "dentes", deixe sua configurao
como Normal.

E agora escolha uma cor avermelhada para ser a gengiva do heri, no nosso
caso escolhemos um tom de vermelho com RGB de 102, 5, 5 e pincel do
tipo dureza 100% de tamanho 1 pixel.
Pronto agora pinte um efeito semelhante o apresentado abaixo:

Agora vamos afastar a imagem para que possamos enxerg-la sem ver os
pixels ressaltados.

Pronto, j conseguimos enxergar as gengivas do heri.

Agora precisamos pintar as roupas do nosso heri, para isso vamos criar uma
nova camada com o nome de "camisa_pintura" deixaremos sua configurao
como Multiplicao e escolheremos um tom de vermelho para ser a camisa
do heri.
No nosso caso escolhemos um vermelho com RGB de 64, 2, 2, depois
precisamos escolher um pincel, ns escolhemos um pincel do tipomalevel no
tamanho de 17 pixels.
Agora s pintar toda a rea da camisa como mostra a imagem abaixo:

Bem, a camisa est pintada, mas temos um pequeno problema com o corpo e o
brao da mesma cor fica difcil diferenci-las.
Para resolver isso vamos criar uma nova camada com o nome de "brao" e sua
configurao deve ser Diviso.
Agora vamos escolher um tom de vermelho mais claro para pintar esse brao,
no nosso caso escolhemos o vermelho com RGB de 100, 16, 16.
Com
um pincel
malevel de
pixels com opacidade e fluxo de 100% pinte todo o brao e
camisa como mostra a imagem abaixo:

tamanho 5
a gola da

Agora vamos prosseguir pintando a cala do nosso heri, para isso crie uma
nova camada com o nome de "cala" e configurao Multiplicao.
Agora vamos escolher um tom de verde para a cala do heri, no nosso caso
escolhemos um verde com RGB de 69, 83, 2.
E escolheremos um pincel do tipo malevel no tamanho de 12 pixels.
Agora pintaremos a cala at obter o seguinte resultado:

Agora na mesma camada que pintamos a cala, pintaremos o sapato.


Escolha um tom de marrom para essa pintura, no nosso caso usamos
o marrom com RGB de 64, 35, 1. Aqui usamos tambm umpincel do
tipo malevel de 4 pixels.
No fim da pintura teremos o seguinte resultado:

Agora falta pouco para finalizar a arte do heri, precisamos pintar a mo e


a arma.
Para isso vamos criar uma nova camada com o nome de "mao" e com sua
configurao Normal. Depois disso vamos escolher um tom debege para
pintar a mo do heri, no nosso caso escolhemos um bege com RGB de 228,
189, 142. Agora com um pincel de dureza 100% tamanho de 4
pixels com opacidade e fluxo de 100%, vamos pintar a mo do heri como
mostra a imagem abaixo:

Agora s falta a arma, para pint-la no precisamos criar outra camada


podemos fazer isso na mesma camada da mao, usando as mesmas
configuraes tanto de camada quanto de pincel.
S vamos modificar a cor de pintura para um tom de preto, que em nosso caso
usamos o preto com RGB de 36, 36, 36.
Agora s pintar at obter o resultado abaixo:

Muito bom, agora vamos adicionar um brilho para essa arma, mais uma vez
podemos usar a mesma camada a camada "mao", escolha a
cor branca de RGB 255, 255, 255 e pinte o brilho da arma conforma a
imagem abaixo:

Legal, agora vamos afastar a imagem para enxerg-la com sua qualidade real.

Agora que j aprendemos a pintar nosso heri, faremos isso para


cada frame da animao do heri e para cada frame da animao dovilo,
para que fiquem como mostram as imagens abaixo:

Na imagem acima temos nosso heri pintado nas posies de caminhada.

Acima temos a imagem do efeito de luz que sai do cano da arma quando o
heri atira.

Na imagem acima temos nosso zumbi pintado nas posies de caminhada.


Lembrando que o processo de pintura do vilo (zumbi) exatamente o mesmo
do heri, mudando apenas as cores de acordo com o seu gosto.
Montando o game na Unity3D
Construo da Fase1
Em primeiro lugar abra sua Unity3D, depois crie um novo projeto.

D o nome de SideScroll a esse projeto.

Nota: Como tudo o que ser apresentado nesse tpico j foi explicado, no
detalharemos o processo de criao de pastas eGameObjects. Apenas
mostraremos como foi montada a cena do game SideScroll.
Agora na aba/janela Project crie pastas e cenas conforme mostra a imagem
abaixo:

Comeando
projeto:

pela

pasta Texturas,

adicione

as

seguintes texturas ao

seu

Depois na pasta Texturas_heri adicione as seguintes texturas:

Depois na pasta Material crie um material para cada textura e dois materiais
extra para ser as moedas e a bala.

Criando o Material do arbusto, com Transparente/Diffuse.


Vamos criar os materiais mostrados abaixo:

A textura da bala foi feita


de vermelho o material bala.

sem

nenhuma

textura,

apenas

pintamos

O material balas recebeu a textura tiros2 com Transparent/Diffuse e


Tiling0.2.
O material chao do tipo Diffuse e recebe a textura chao com Tiling 10.
Material
do coqueiro
textura coqueiro, Tiling 1.

do

tipo Transparent/Diffuse,

Material do espetos do tipo Transparent/Cutout/Bumped


textura espetos, Tiling 1 e cor cinza.
Material Heroi_anda,
utiliza
com Transparent/Diffuse e Tiling 0.2.

textura heroi_anda,

Material moedas,
utiliza
a
textura Default
com Transparent/Cutout/Diffuse e cor amarelo ouro.
Material montanha e montanha2,
com Transparent/Diffuse e Tiling 5.
Material nuvem ,
utiliza
com Transparent/Diffuse e Tiling 8.

Diffuse,

utiliza

da

Unity,

textura montanha,

textura nuvem,

Material rocha e pedra com suas devidas texturas e Transparent/Diffuse.

Material zumbi1 com


sua
textura, Transparent/Diffuse e Tiling em 0.21.

devida

Depois na pasta sons adicione o som de tiro que ser usado quando
o heri disparar contra os zumbis.
Vale ressaltar que o som em questo foi extrado da internet, um bom site para
baixar efeitos sonoros gratuitos ohttp://www.freesfx.co.uk.
Depois na pasta Prefabs crie trs prefabs um para bala, um para moeda e um
para zumbis.

Por ltimo na pasta Scripts crie os scripts que sero usados em nosso game.

Montando o Cenrio Parte 1


Agora vamos montar o cenrio da Fase1, veja como ele deve ficar:

1
2
3
4
5
6

Plano
Plano
Plano
Plano
Plano
Plano

Espetos, Heri, Moedas, Zumbis.


Coqueiros.
Arbustos.
Pedras e Rochas.
Montanhas.
Nuvens.

Para ter uma cena com esse visual a primeira coisa que precisamos fazer
criar o cho, para isso criaremos um cubo que dever ser escalonado e
texturizado conforme mostra a imagem abaixo:

Objeto cho aps aplicar as configuraes necessrias.

Caso sua cena no esteja como na figura acima selecione o objeto Main
Camera na guia Hierarchy e defina as seguintes configuraes:

Note que a cena est escura, precisamos adicionar uma luz, para isso, clique no
menu GameObject, depois em Create Othere selecione a opo Directional
Light.

Selecione o objeto Directional


configuraes:

Nova aparncia do game:

Light na

guia Hierarchy e

defina

suas

Montando o Cenrio Parte 2

Depois crie cubos com espessura fina para serem os coqueiros, aplique o
material coqueiro neles e distribua-os pela cena de acordo com as
configuraes abaixo:

Coqueiro1

Coqueiro2

Coqueiro3

Coqueiro4

Coqueiro5

Coqueiro6

Coqueiro7

Coqueiro8

Coqueiro9

Coqueiro10

Seu cenrio dever estar parecido com a figura abaixo:

Montando o Cenrio Parte 3


Agora, atrs dos coqueiros vamos
distribudos por toda a cena.

adicionar

alguns arbustos que

sero

Para criar esses arbustos aplique o material de arbustos aos cubos (Que
precisam ser de espessura bem fina).
Arbusto1

Arbusto2

Arbusto3

Arbusto4

Arbusto5

Arbusto6

Arbusto7

Arbusto8

Arbusto9

Arbusto10

Arbusto11

Arbusto12

Arbusto13

Arbusto14

Cenrio aps incluso dos arbustos:

Montando o Cenrio Parte 4


Agora vamos adicionar algumas rochas atrs desses arbustos, para isso faa o
mesmo procedimento aplique a textura de rocha a um cubo fino:
Rocha1

Rocha2

Rocha3

Rocha4

Rocha5

Rocha6

Rocha7

Rocha8

Cenrio aps a insero das rochas:

Agora adicione as pedras.


Pedra1

Pedra2

Pedra3

Pedra4

Montando o Cenrio Parte 5


Agora vamos colocar algumas montanhas nesse plano de fundo, para isso crie
dois cubos finos e adicione o material de montanha:
Montanha1

Montanha2

Por ltimo temos nossas nuvens que sero criadas adicionando o material
de nuvem a uma plane, essa plane deve ficar atrs das montanhas.
Para adicionar uma Plane, clique no menu GameObject, selecione Create
Other e escolha a opo Plane;

Defina as configuraes para o objeto Plane conforme figura abaixo e altere


seu nome para nuvem:

As nuvens devero estar inseridas na cena conforme figura abaixo:

Vamos criar o objeto bala, que ser criado a partir de uma cpsula. Ento
clique no menu GameObject, depois na opoCreate Other e escolha a
opo Capsule.

Aps criar o objeto capsule, renomeio para bala na guia Hierarchy.


Aplique o material bala ao objeto capsule (bala) criado.
Altere as propriedades do objeto bala na guia Inspector, conforme figura
abaixo:

Como o objeto bala vai ter coliso com os zumbis, precisamos adicionar a ele
um componente Rigidbody. Com o objeto balaselecionado, clique no
menu Component, depois em Physics e escolha a opo Rigidbody.

Configure Rigidbody com as seguintes propriedades:

Um script deve ser adicionado a bala, pois este script que ser responsvel
pela
movimentao
da bala quando
o heriatirar.
Ento
arraste
o script Mover_bala da pasta Scripts para o objeto bala da guia Hierarchy.
Quando a bala for disparada, um som de tiro deve ser emitido, ento
precisamos adicionar um som ao objeto bala.
Primeiro, com o objeto bala selecionado, clique no menu Component, depois
em Audio e escolha a opo Audio Source.

Na guia Inspector um
objeto bala.

componente Audio

Source ser

adicionado

ao

Agora vamos adicionar o arquivo de som que ir ser executado cada vez que
o heri atirar. Siga o vdeo abaixo para inserir este arquivo.
Agora que j configuramos o objeto bala, vamos transform-lo em um prefab.
Para isso, selecione a pasta Prefabs na guiaProject, depois arraste o
objeto bala da
guia Hierarchy sobre
o
objeto bala da
pasta Prefabs,
conforme vdeo abaixo:
Agora j podemos apagar o objeto bala da cena, pois no vamos utiliz-lo no
momento, o prefab bala ser disparado atravs do script Mover_bala.
Montando o Cenrio Parte 6
Agora precisamos criar os espetos que vo perseguir o heri, para isso crie
um cubo de largura mdia e adicione o materialde espetos com as seguintes
configuraes.

Objeto espetos inserido na cena:

Depois
dos espetos vamos
adicionar moedas por
toda
a
as moedas podem
ser
feitas
com cubos de espessura
mdia,
aplicaremos o material moeda.
Configuraes na guia Inspector da primeira moeda:

cena,
onde

Moeda na cena:

Depois de inserida a primeira moeda na cena, agora precisamos transform-la


em um Prefab, pois elas sero manipuladas durante o jogo atravs dos scripts.
Selecione a pasta Prefab, depois clique sobre o objeto moeda na
guia Hierarchy e arraste-o at o Prefab moeda na guiaProject, assim
criaremos o Prefab moeda.
Agora j podemos apagar o objeto moeda que se encontra na cena, para isso,
selecione e apague-o, pressionando a tecla[Delete]. Depois no lugar do
objeto moeda coloque o prefab criado, moeda.

Como exerccio crie as demais moedas da cena, clicando com o boto


direito do mouse sobre o prefab moeda na guiaHierarchy e no menu
suspenso que aparecer escolha a opo duplicate:

Espalhe a quantia de moedas que desejar pela cena, alterando apenas os


eixos X e Y delas na cena, as demais configuraes devem permanecer igual a
da primeira moeda. Observe como ficou a nossa cena depois de duplicadas e
espalhadas as moedas.

Depois das moedas precisamos adicionar os zumbis a nossa


os zumbis so cubos de espessura mediana com o material zumbi1.

Primeiro Zumbi na cena:

cena,

Como o zumbi tambm sofrer coliso com outros objetos e tambm ser
manipulado pelos scripts, faa o mesmo que voc fez com as moedas, criando
um prefab para ele e depois espalhe estes prefabs pela cena.
Duplique o zumbi criado 13 vezes e espalhe-os pela cena alterando apenas o
eixo X.

Por fim adicionamos nosso heri na cena, que


os zumbis, ser um cubo de espessura mediana.

da

mesma

forma

que

Heri adicionado a cena.

Vamos criar uma plane para os efeitos do tiro que devem ficar junto ao heri.
Para isso clique no menu GameObject, depois em Create Other e escolha a
opo Plane.

Defina as seguintes configuraes para o objeto Plane inserido.

Renomeie o objeto Plane para balas.


Adicione o material balas na plane balas que acabamos de criar.
Adicione o script Animabalas ao objeto balas, este script ser responsvel por
fazer a animao da bala quando a mesma for disparada pelo heri.
Vamos agora criar o parentesco das balas com o heroi. Para isso arraste o
objeto balas para cima do heroi na guiaHierarchy.

Montando o Cenrio Parte 7


Depois de criar a cena precisamos adicionar a cada GameObject seus cdigos.
Vamos ver quais cdigos so usados em cada GameObject.
Para o heri temos:

Arraste estes scripts da guia Project para o heroi na guia Hierarchy.

Para o zumbi temos os seguintes cdigos:

Para os espetos temos:

Nota: Todos os GameObjects que apresentam coliso (exceto o personagem


principal), precisam ter um RigidBody, para que seja possvel detectar
colises.
Precisamos ressaltar que o heri, os espetos, as moedas, os zumbis e
as balas so Gameobjects que apresentaro algum tipo de coliso entre sim.
Para que isso seja possvel preciso adicionar componentes fsicos a esses
objetos.
Para o heri como j mostramos ao longo do curso e nas vdeo aulas o
componente fsico o CharacterController.

Para os zumbis, espetos e moedas o componente fsico o RigidBody.

Outro detalhe que precisamos ressaltar o parentesco entre a cmera e


o heri.
Para que a cmera acompanhe o heri conforme o movimentamos pela cena,
precisamos arrastar o objeto Main Camera para dentro do GameObject heri.
Quando
arrastamos
um Gameobject para
dentro
de
outro
na
aba/janela Hierarchy estamos criando um parentesco entre osGameobjects,
tornando o objeto arrastado filho do objeto para onde se arrasta.
Na situao da imagem acima arrastamos a cmera para o heri, tornando
a cmera filha do heri, igual as balas.

Com o heroi selecionado, observe na guia Inspector, no script Atirar, que


temos a varivel tiro, esta varivel deve receber um objeto Rigidbody, que no
caso o prefab bala, que quando o heroi atirar dever disparar as balas.
Ento arraste oprefab bala para o Rigidbody da varivel tiro.

Construo da Fase2 (GameOver)


A fase 2 ou fase de GameOver muito simples, nessa fase/cena vamos
apenas informar ao jogador que ele perdeu o jogo.
Para isso colocaremos uma imagem com a mensagem GameOver tomando
toda a tela do game.
Para
isso
ns
vamos
usar
um Gameobject chamado GuiTexture,
esse Gameobject tem a funo de apresentar imagens na tela do game que
sero visveis durante todo o jogo.
Clique duas vezes sobre a fase GameOver na guia Assets para ativar esta
cena:

Observe na barra de ttulo se a cena que est ativa realmente a GameOver.

Agora vamos adicionar um objeto GUI Texture na cena.


Para
adicion-la
a
cena
no
tem
segredo,
em GameObject, CreateOther e por fim Gui Texture.

primeiro

vamos

Agora na aba/janela Inspector clicaremos no boto para adicionar uma textura


ao Gui Texture.
E pronto agora s precisamos ajustar o tamanho da textura com a tela do
game:

Feito isso adicionaremos a cmera da nossa cena o cdigo que cria um boto
para o jogador retornar ao game.
O cdigo ser analisado no tpico Cdigo de GameOver do heri.

Construo da Fase3 (Ganhou)


Assim como na fase 2, a fase 3 ou fase de vitria tem a funo de informar
ao jogar que ele ganhou o jogo.
Para isso vamos repetir o processo de colocar uma imagem de vitria na tela.
O processo exatamente o igual ao do tpico anterior com uma nica diferena
nessa cena vamos exibir a seguinte imagem:

E vamos adicionar a cmera dessa cena o cdigo de vitria.


O cdigo ser analisado no tpico Cdigo de Vitria do heri.
Antes de entrar nos cdigos vamos criar as Tags para os gameobject do nosso
game.
Retorne a Fase1 do game para darmos incio a criao das tags, clique duas
vezes sobre a Fase1 na guia Assets.

Selecione
o
gameobject espetos na
guia Inspector suas propriedades.

cena,

para

que

aparea

na

Agora vamos criar as tags espetos, moeda, zumbi1 e balas.


Com
o gameobject espetos selecionado,
seu gameobject.

atribua

a tag espetos ao

Cdigo de animao do heri


Vamos continuar com a explicao do projeto Side Scroll analisando o cdigo
de animao do heri. Digite o cdigo abaixo no arquivo de script Animacao:

Para nosso cdigo de animao primeiramente criamos trs variveis.

A primeira varivel numeroframes responsvel por armazenar o nmero


de frames que existem na imagem animada.
A segunda varivel atualframe tem a funo de monitorar qual o frame que
est sendo executado em determinado momento.
E a terceira varivel, tempo tem a funo de cronometrar o tempo necessrio
para que inicie um novo ciclo de animao.
Todas as variveis acima podem ter seus nomes alterados sem prejuzo algum
para o funcionamento do cdigo, porm o tipo de varivel de cada um deve ser
preservado.
Logo abaixo na funo Start, iniciamos nossas variveis com valores que
estejam de acordo com nosso projeto.

A varivel numeroframes foi iniciada com o valor 4, pelo motivo de que nossa
imagem animada tem apenas quatro frames de animao.
Na varivel atualframe adicionamos o valor inicial de 1, pois queremos que
mesmo sem nenhuma animao estar sendo executada ele comece sempre
apresentando o primeiro frame da imagem animada, para a partir dela comear
um ciclo de animao.
Por fim a varivel tempo iniciada com o valor 0.0, pois dessa forma
iniciaremos a contagem do tempo de cada ciclo de animao comeando pelo
numero 0.0.
Na funo Update, adicionamos algumas condicionais que sero responsveis
por animar nosso heri.

A primeira condicional verifica se a tecla seta para a direita esta pressionada,


se essa condio for verdadeira a primeira coisa que comea acontecer nossa
varivel tempo comear a contar seu valor atual (0.0) somado a 1.0.

Depois dentro dessa primeira condicional teremos uma nova condicional.

Essa condicional responsvel por calcular o tempo de cada ciclo de animao,


veja que a condio o tempo ser maior ou igual a 10.0.
Se essa condio for satisfeita, vamos renderizar o material aplicado ao nosso
heri respeitando suas coordenadas no eixo x.
Perceba tambm que a renderizao do material no eixo x se d pelo clculo
do valor x do material (Textura do heri) somado ao valor de1.0 divido pelo
nmero de frames da nossa imagem.
Esse clculo permite que a renderizao seja feita apenas sobre um frame,
excluindo a hiptese de renderizar mais de um frame de uma s vez.
Abaixo da renderizao executamos mais um clculo onde dizemos que a
varivel atualframe igual a o valor dela prpria mais 1.
Esse clculo serve para que tenhamos o controle de qual frame do heri esta
sendo renderizado em um determinado momento.
Por ltimo zeramos o valor de tempo, para que o mesmo possa recomear
outra contagem que sua vez ir gerar outro ciclo de animao.
Agora temos a ltima condicional contida dentro da condio de input (Apertar
tecla seta para direita).
Essa ltima condicional responsvel por verificar se o valor
varivel atualframe maior que o valor da varivel numeroframes.

da

Se essa condio for verdadeira vamos renderizar o frame 0 do material


(Textura do heri) do heri e no fim de tudo atribuiremos a
varivel atualframe o valor de 1, indicando que o frame 0 equivalente
ao atualframe 1.

Depois
de
terminada
condicional (if(Input.GetKey("right")){...}),
condicional, porm agora ser com a condio:

essa
teremos mais

uma

enorme
grande

Exatamente agora ser a condio left, o cdigo idntico ao cdigo right,


com a diferena que no left a animao ser executada quando apertarmos a
tecla seta para esquerda.
Cdigo de animao da bala do heri
Seguindo com as explicaes sobre animao, vamos mostrar o cdigo
responsvel por animar o efeito de luz no cano da arma do heri quando o
mesmo atira.

Perceba que o cdigo idntico ao cdigo de animao do heri, no sendo


necessria sua explicao.
A diferena que esse cdigo tem a seguinte condio:

Essa condio else fala para a Unity3D que caso a tecla a deixe de ser
apertada necessrio renderizar o frame 0 da imagem animada, que como
podemos ver abaixo no tem desenho algum.
Isso significa que nada aparecer na tela, que o certo afinal se no estamos
atirando o cano no pode emitir luz.
Cdigo de tiros do heri
Agora que j vimos os cdigos para movimentar o nosso heri, precisamos
desenvolver um cdigo para fazer com que nosso heri atire.

Nosso cdigo inicia com uma varivel chamada tiro e do tipo RigidBody,
essa varivel vai armazenar as balas de nossa arma.

Depois na funo Update criamos uma condio para disparar os tiros.


Na condio GetKeyDown("a") estamos dizendo a Unity3D que cada vez que
apertarmos a tecla a alguma coisa vai acontecer.

No caso do cdigo acima toda vez que a condio seja satisfeita ser criada
uma varivel temporria chamada temp.
Essa varivel do tipo RigidBody e nela ser armazenado uma instancia de
um RigidBody que em nosso caso a nossa bala.
Como j explicamos anteriormente, o cdigo Instantiate cria uma cpia de
um RigidBody em uma determinada posio e rotao.
S com essas poucas linhas de cdigo j temos um sistema para criao
de balas.
Cdigo de mover balas
Para nosso game no adianta apenas criar as balas, necessrio mov-las em
direo ao vilo.
Para isso o cdigo abaixo do script Mover_bala satisfaz nossa necessidade:

Nosso cdigo inicia com a criao de uma varivel chamada bala_vel, essa
varivel do tipo float e tem a funo de guardar a velocidade de
deslocamento da bala.

Depois na funo Start definimos a velocidade da bala como sendo 1.5.

Na funo Update adicionamos o cdigo para movimentao da bala, perceba


que para definir o movimento da bala de maneira suave (porm rpida),
multiplicamos o movimento pelo cdigo Time.deltaTime.

Por fim na funo OnTriggerEnter(), verificamos se existe coliso entre


o zumbi e a bala, se a condio for verdadeira destrumos abala.
Fazemos isso para garantir que cada bala atingir apenas um vilo.

Cdigo de morte do heri


Agora vamos descrever o funcionamento do cdigo responsvel por matar
nosso heri.
Em nosso game nosso heri morre em duas situaes, se colidir com
os espetos que se movem ou se tocar um zumbi.

Primeiro criaremos uma varivel chamada condicao essa varivel ser iniciada
na funo Start como false.

Pois no nosso cdigo ela ser responsvel por dizer se existe ou no uma
coliso entre os espetos ou zumbis e o heri.
J na funo Update teremos uma condicional
varivel condicao verdadeira ou no.

que

ir

verificar

se

Se for verdadeira carregaremos a fase que contm a cena de Game Over.

Mais abaixo veremos qual a funo que iniciar responsvel por definir o
estado da varivel condicao.
Na funo de coliso OnTriggerEnter(), criamos uma condicional que ter a
funo de verificar se existe coliso entre os espetos e oszumbis com o
nosso heri.
Caso existe uma dessas duas colises a varivel condio ser definida como
verdadeira (true).

Cdigo de GameOver do heri


Quando nosso heri morrer o jogador ser levado at a tela de Game Over, l
ele precisa ser informado que o jogo acabou e precisa ter uma nova
oportunidade de jogar e vencer o game.
Para informar o fim do game e dar essa nova oportunidade ao jogador,
usaremos o cdigo abaixo do script GameOver:

Esse cdigo muito simples nele criamos uma Funo OnGUI() que criar um
boto no meio da tela com a mensagem Jogar Novamente.
Se esse boto for clicado, carregamos a Fase1 que a fase do game
Cdigo de Vitoria do heri
Para o cdigo de vitria do heri vamos desenvolver um cdigo muito parecido
com o de GameOver.
Digite o cdigo do script Ganhou:

Veja que o cdigo idntico ao de GameOver, no tendo mais o que ser


explicado.

Cdigo de Pegar moedas do heri


Digite o cdigo de pegar moedas do script Pega_moeda:

Nosso cdigo comea com uma varivel chamada pontos, essa varivel do
tipo inteiro e tem a funo de armazenar o nmero de moedas coletadas.

Na funo Start iniciamos essa varivel com o valor de 0.

Agora na funo Update criamos uma condicional que verifica se o nmero de


pontos igual a 750, se essa condio for verdadeira o jogador ser
direcionado para a fase que contm a mensagem de vitria.

Para que isso d certo antes precisamos fazer uma verificao na


funo OnTriggerEnter, dentro dessa funo criamos uma condicional que
verifica se existiu a coliso do heri com a moeda, se a condio for
verdadeira a moeda deletada com o cdigoGameObject.Destroy() e
somado 50 pontos ao heri.

Pronto de 50 em 50 o heri chega ao valor limite que 750 e vence o jogo.


Cdigo para mover espetos
Agora vamos mostrar o cdigo responsvel por mover os espetos atrs do
heri, para isso vamos digitar o cdigo do scriptEspetos:

Veja que esse cdigo bem simples, para que ele funcione comeamos criando
uma varivel com o nome de espeto_vel.

Essa varivel do tipo float e responsvel por determinar a velocidade de


deslocamento dos espetos.
Na funo Start iniciamos o valor dessa varivel para 0.05.

Por fim na funo Update usamos o cdigo de movimentao, dentro da


funo transform.Translate(Vector3(x,y,z)) usamos
o
valor
da
varivel espeto_vel multiplicada
por Time.deltaTime para
mover
suavemente os espetos.

Cdigo para animao do vilo


Nesse cdigo vamos mostrar como animar o vilo do nosso game, o cdigo
praticamente o mesmo que o de animao do heri e dos efeitos de luz dos
tiros. Digite o cdigo do script anima_zumbi1.js

Perceba que o cdigo exatamente igual ao da animao do heri com apenas


algumas diferenas.
A primeira diferena o valor da varivel tempo.

Veja que diminumos o valor pelo fato do zumbi ser mais lento em sua
movimentao que o nosso heri.
Depois no ciclo de tempo tambm fizemos um pequeno ajuste.

Pelo fato do zumbi ser lento o ciclo de animao do mesmo feito em um


tempo maior em 12.0.

Cdigo para movimentao do vilo


No cdigo anteior apresentamos a lgica que faz nosso vilo ter a
animao de andar.
Nesse cdigo vamos mostrar como movimentar nosso vilo.
Digite o cdigo referente ao script Move_zumbi1.

Veja que esse cdigo idntico ao cdigo de mover espetos, criamos


uma varivel chamada vel onde atribumos um valor de 0.05.
Depois multiplicamos essa varivel por Time.deltaTime para obtermos
uma animao suave e por fim na funo Update movimentamos o
zumbi com o cdigo, transform.Translate(Vector3(x,y,z)).
Cdigo para vida do vilo
Nesse cdigo vamos explicar como matar nossos viles antes que os
mesmos
toquem
no heri.
Digite
o
cdigo
referente
aoscript Vida_zumbi.

Para definir a vida dos nossos viles primeiro precisamos criar uma
varivel.

A varivel vida tem a funo de armazenar o valor da vida do zumbi,


mas a funo responsvel pelo truque a funoOnTriggerEnter().

Nessa funo verificamos se existe coliso entre as balas e o zumbi, se


existir retiramos um valor de 5 do total de vida do zumbi.
E na ltima condio verificamos se o valor da vida menor que 1, se
for deletamos o zumbi da cena.
Gerando e Executando Jogo para Web
Finalizando, precisamos gerar o jogo para alguma plataforma. Vamos
gerar este jogo para Web.
Clique no menu File e escolha a opo Build & Run.

Na caixa Platform escolha a opo Web Player.

Para terminar clique na opo Build And Run, para gerar o jogo
para Web e depois execut-lo.

Caso seja solicitado uma pasta onde dever ser gerado o jogo, informe
o local desejado e clique em Selecionar pasta.

Em seguida o jogo ser executado em seu navegador padro.

Concluso
Bom pessoal chegamos ao fim do nosso curso de Unity3D voltado a
games 2D, nesse curso aprendemos as principais tcnicas de
desenvolvimento de um game 2D, abordando desde a arte at a criao
de cena e programao do jogo.