Tutorial Unity 3D Básico - Felipe Augusto
-
Author
julio-santanna-do-rosario -
Category
Documents
-
view
969 -
download
9
Embed Size (px)
Transcript of Tutorial Unity 3D Básico - Felipe Augusto
-
PUC-SPPontifcia Universidade Catlica de So Paulo Curso Superior de Tecnologia em Jogos DigitaisDapartamento de Computao
Tutorial bsico para a game engine
SP Pontifcia Universidade Catlica de So Paulo
Curso Superior de Tecnologia em Jogos Digitais Dapartamento de Computao
Tutorial bsico para a game engine
Unity 3D
Por Felipe Augusto de Oliveira Menezes
So Paulo Outubro de 2010
Pontifcia Universidade Catlica de So Paulo
Tutorial bsico para a game engine
Por Felipe Augusto de Oliveira Menezes
-
2 | P a g e
Sumrio O que Unity ................................................................................................................................ 4
Interface .................................................................................................................................... 5
1. Scene ............................................................................................................................. 5
2. Game ............................................................................................................................. 5
3. Project ........................................................................................................................... 5
4. Hierarchy ....................................................................................................................... 5
5. Inspector ....................................................................................................................... 5
6. Animation ...................................................................................................................... 6
Ferramentas da interface utilizveis no painel Scene ........................................................... 6
Criando um novo projeto .............................................................................................................. 8
Criando um Terrain ................................................................................................................... 9
Pintando o terreno .............................................................................................................. 11
Adicionando gua ................................................................................................................ 12
Adicionando luz ................................................................................................................... 13
Adicionando First Person Controller ................................................................................... 13
Adicionando Skybox ............................................................................................................ 14
Criando o labirinto ...................................................................................................................... 14
Criando um muro: Materials e Prefabs ................................................................................... 14
Materials ............................................................................................................................. 15
Prefabs................................................................................................................................. 17
Criando a avalanche .................................................................................................................... 19
Criando uma rocha .................................................................................................................. 19
Interao com o jogador: GUI e Script .................................................................................... 20
GUI ....................................................................................................................................... 20
Script ................................................................................................................................... 21
udio ....................................................................................................................................... 24
Script ................................................................................................................................... 24
Partculas ..................................................................................................................................... 25
Fogueira ................................................................................................................................... 27
Importando unitypackages ................................................................................................. 27
Fogo ..................................................................................................................................... 27
udio ....................................................................................................................................... 29
Animao ..................................................................................................................................... 29
-
3 | P a g e
Script ....................................................................................................................................... 31
GUI ............................................................................................................................................... 32
Script ....................................................................................................................................... 33
Exportando o jogo ....................................................................................................................... 35
Referncias Bibliogrficas ........................................................................................................... 37
-
4 | P a g e
O que Unity
Unity uma ferramenta de criao e edio de
foco em jogos tridimensionais, possvel tambm o
H verses para Mac e Windows, com a possibilidade de criao para diversas plataformas:
Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360
e PlayStation 3.
Hoje h duas licensas disponveis, a
diversas caractersticas adicionais.
Este curso utilizar a licensa grtis,
http://unity3d.com/unity/
Unity uma ferramenta de criao e edio de games, ou seja, uma game engine
foco em jogos tridimensionais, possvel tambm o desenvolvimento de jogos bidimensionais.
H verses para Mac e Windows, com a possibilidade de criao para diversas plataformas:
Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360
as disponveis, a Unity e a Unity Pro. A primeira grtis e a segunda possui
diversas caractersticas adicionais.
Este curso utilizar a licensa grtis, Unity.
engine. Apesar do
desenvolvimento de jogos bidimensionais.
H verses para Mac e Windows, com a possibilidade de criao para diversas plataformas:
Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360
. A primeira grtis e a segunda possui
-
5 | P a g e
Interface Por default, a Unity abre o projeto Island Demo, que uma demostrao das capacidades da
engine nesse estado inicial. Antes de comearmos nosso prprio projeto, veremos algumas
caractersticas da interface da Unity nessa demo.
A Unity organizada por tabs, ou painis, cada uma com funes especficas e caractersticas
diferentes.
1. Scene o painel onde mostra o arquivo de cena selecionado. Pode-se selecionar objetos visveis e
edit-los manualmente por este painel.
a. View
i. Texture/Wireframe: alterna entre a viso de textura (padro) e wireframe, ou ambos.
ii. Draw: alterna entre a viso RGB (padro), Alpha, Overdraw e Mipmaps.
b. Light: ativa ou desativa a vizualizao de luzes na cena. c. Camera effects: ativa ou desativa a vizualizao dos efeitos de cmera na
cena.
2. Game Painel de demostrao e verificao do jogo quando o boto Play est ativado.
Aspect: altera a resoluo da vizualizao do game.
Maximize on Play: maximiza o painel Game quando o boto Play est ativado.
Gizmos: ferramenta de debug que mostra, por exemplo, posio de luzes e
wireframe de objetos.
Stats: ativa ou desativa a visualizao de estatsticas da cena.
3. Project Este painel contm a lista de arquivos e pastas inclusos no projeto. Lista as cenas, arquivos de
imagens, som, animaes, cdigos, etc.
a. Create: menu de opes de criao de pasta e arquivos diversos: scripts, materiais, animaes, prefabs.
4. Hierarchy Contm a lista de objetos e grupos de objetos dentro da cena, seja ele visvel ou no. Pode-se
somente selecionar objetos (ou grupos de objetos) neste painel.
5. Inspector Mostra as informaes do objeto ou grupo de objeto selecionado, caso haja um. possvel
editar a posio, escala e rotao, alm dos componentes adicionais atribudos ao objeto ou
grupo.
-
6 | P a g e
6. Animation Por padro, este painel no aparece na interface da Unity inicialmente. Sua funo
na timeline, animaes de objetos ou grupos, ou caractersticas destes, inclusos na cena sendo
editada.
a. Record: ativa ou desativa a gravao de animaes
b. Play: reproduz a animao do objeto selecionado.
c. Previous/Next Frame
Todo painel na Unity pode ser removido
menu Window na barra de menus superior.
cada painel.
Outra caracterstica user friendly
Window > Layouts h a opo de salvar o formato da interface atual, alm de quatro layouts
pr-definidos.
Ferramentas da interface utilizveis
Hand Tool (Q)
1. Boto esquerdo do mousecmera atual.
2. Boto direito do mouse/scroll3. Alt + boto esquerdo do mouse
Move Tool (W)
Move o objeto(s) selecionado(s) nos eixos
Rotate Tool (E)
Rotaciona o(s) objeto(s) selecionado(s) nos eixos
Por padro, este painel no aparece na interface da Unity inicialmente. Sua funo
objetos ou grupos, ou caractersticas destes, inclusos na cena sendo
ativa ou desativa a gravao de animaes do objeto selecionado
: reproduz a animao do objeto selecionado.
Previous/Next Frame: vai para o anterior/prximo frame na timeline.
Todo painel na Unity pode ser removido ou adicionado da interface. Para isso, acessa
na barra de menus superior. Tambm possvel alterar a posio e tamanho
friendly da Unity a possibilidade da customizao da interface. Em
h a opo de salvar o formato da interface atual, alm de quatro layouts
da interface utilizveis no painel Scene
Boto esquerdo do mouse: permite a explorao da cena nos eixos
Boto direito do mouse/scroll: zoom no centro da cmera atual. Alt + boto esquerdo do mouse: rotao em torno do centro da cmera atual.
Move o objeto(s) selecionado(s) nos eixos X, Y e Z.
Rotaciona o(s) objeto(s) selecionado(s) nos eixos X, Y e Z.
Por padro, este painel no aparece na interface da Unity inicialmente. Sua funo mostrar,
objetos ou grupos, ou caractersticas destes, inclusos na cena sendo
do objeto selecionado.
vai para o anterior/prximo frame na timeline.
. Para isso, acessa-se o
posio e tamanho de
da Unity a possibilidade da customizao da interface. Em
h a opo de salvar o formato da interface atual, alm de quatro layouts
permite a explorao da cena nos eixos X e Y da
: rotao em torno do centro da cmera atual.
-
7 | P a g e
Scale Tool (R)
Altera a escala do(s) objeto(s) selecionado(s) nos eixos
Cmeras
Para alterar o modo de visualizao a
seguinte boto, encontrado somente no painel Scene:
A visualizao padro a Perspective (
eixo desejado:
Eixo (clicvel)
X
-X
Y
-Y
Z
-Z
Centro
Altera a escala do(s) objeto(s) selecionado(s) nos eixos X, Y e Z.
Para alterar o modo de visualizao a Unity dispe de uma ferramenta bastante prtica, o
seguinte boto, encontrado somente no painel Scene:
A visualizao padro a Perspective (Persp, abaixo da ferramenta). Para alter-la clica
(clicvel) Visualizao
Direita (Right)
Esquerda (Left)
Cima (Top)
Abaixo (Bottom)
Frente (Front)
Trs (Back)
Perspectiva (Persp)
Unity dispe de uma ferramenta bastante prtica, o
la clica-se no
-
8 | P a g e
Criando um novo projeto Para criar um novo projeto, acesse na barra de menus superior o menu
seguinte janela aparecer:
Packages so pacotes de arquivos que sero utilizados no projeto. So os arquivos que
aparecem no painel Project, aps criado o projeto. O
padro da Unity. O Toon Shading
utilizaremos somente o Standard Assets.
como quiser. A Unity ento, importar os pacotes selecionados e, enfim, abrir o seu novo
projeto.
Criando um novo projeto
acesse na barra de menus superior o menu File > New Project...
so pacotes de arquivos que sero utilizados no projeto. So os arquivos que
aparecem no painel Project, aps criado o projeto. O Standard Assets possui os arquivos
Toon Shading possui materiais em cel shading, ou cartunizado.
utilizaremos somente o Standard Assets. Indique o caminho desejado e nomeie o projeto
A Unity ento, importar os pacotes selecionados e, enfim, abrir o seu novo
File > New Project.... A
so pacotes de arquivos que sero utilizados no projeto. So os arquivos que
possui os arquivos
, ou cartunizado. Neste caso
Indique o caminho desejado e nomeie o projeto
A Unity ento, importar os pacotes selecionados e, enfim, abrir o seu novo
-
9 | P a g e
Criando um Terrain Na barra de menus superior, acesse no menu
Note que o terreno foi adicionado no painel Hierarchy, com o nome de Terrain. Voc pode
renome-lo como desejar no painel Inspector, a
que o terreno tambm foi criado no painel Project, com o nome New Terrain. Para renome
lo, selecione-o e aperte F2.
O terreno criado possui as propriedades
Resolution. A seguinte janela deve aparecer:
Iremos alterar somente o comprimento do terreno para este projeto. Altere o valor do item
Terrain Lenght para isso. Terrain Width
do terreno, mas no os utilizaremo
A ferramenta Terrain > Flatten Heightmap
valor definido. Para este projeto foi utilizado o valor 20.
Selecionado o terreno na Hierarchy, aparecer no Inspector, o seguinte componente e
ferramentas:
Na barra de menus superior, acesse no menu Terrain > Create Terrain para criar um terreno
Note que o terreno foi adicionado no painel Hierarchy, com o nome de Terrain. Voc pode
lo como desejar no painel Inspector, aps selecion-lo na Hierarchy. Note tambm
que o terreno tambm foi criado no painel Project, com o nome New Terrain. Para renome
O terreno criado possui as propriedades padres. Para alter-las acesse o menu Terrain > Set
seguinte janela deve aparecer:
Iremos alterar somente o comprimento do terreno para este projeto. Altere o valor do item
Terrain Width altera a largura e Terrain Height altera a altura mxima
mas no os utilizaremos agora.
Terrain > Flatten Heightmap eleva o ponto inicial no eixo Y do terreno para o
valor definido. Para este projeto foi utilizado o valor 20.
Selecionado o terreno na Hierarchy, aparecer no Inspector, o seguinte componente e
para criar um terreno.
Note que o terreno foi adicionado no painel Hierarchy, com o nome de Terrain. Voc pode
lo na Hierarchy. Note tambm
que o terreno tambm foi criado no painel Project, com o nome New Terrain. Para renome-
Terrain > Set
Iremos alterar somente o comprimento do terreno para este projeto. Altere o valor do item
altera a altura mxima
inicial no eixo Y do terreno para o
Selecionado o terreno na Hierarchy, aparecer no Inspector, o seguinte componente e
-
10 | P a g e
Da esquerda para a direira, as ferramentas so as seguintes:
Raise / Lower Terrain: eleva e diminui o terreno. Para diminuir, segure a tecla use o boto esquerdo do mouse.
Brush Size: altera o tamanho do pincel selecionado.mouse no painel Scene para aplicar.
Opacity: fora que ser aplicada no pincel.
Paint Height: esta ferramenta eleva o terreno at a altura definida, conforme a fora (opacity).
Height: altera a altura (mximo igual
Smooth Height: alisa o terreno (clculo de mdia entre os pontos da rea do pincel).
Paint Texture: pinta o terreno com a textura selecionada.
Target Strenght:
Place Trees: cria rvores no terreno. Segure a tecla
Tree Density: densidade (proximidade e quantidade) das rvores.
Color Variation:
Tree Height: altera a altura dai. Variation:
Tree Width: altera a largura da i. Variation:
Paint Details: cria grama, pedras e outros detalhes no terreno. Segure a tecla para delet-los.
Target Strenght:
Settings for Terrain: configuraes do terreno.distncia para detalhes (Tambm pode-se alterar caractersticas do vento.
Crie o terreno que desejar, faa algo parecido com o meu resultado, ou use
de sua escolha, faa uma montanha com um buraco no meio, como a montanha superior
esquerda na imagem a seguir. Dela, faremos sair fumaa para dar a idia de um vulco.
Da esquerda para a direira, as ferramentas so as seguintes:
: eleva e diminui o terreno. Para diminuir, segure a tecla use o boto esquerdo do mouse.
altera o tamanho do pincel selecionado. Use o boto esquerdomouse no painel Scene para aplicar.
fora que ser aplicada no pincel.
esta ferramenta eleva o terreno at a altura definida, conforme a fora
altera a altura (mximo igual Terrain Height em Set Resolution
alisa o terreno (clculo de mdia entre os pontos da rea do pincel).
pinta o terreno com a textura selecionada.
Target Strenght: fora que a textura ser aplicada sobre outra textura.
cria rvores no terreno. Segure a tecla Shift para deletar rvores.
densidade (proximidade e quantidade) das rvores.
Color Variation: variao na cor das rvores.
altera a altura da rvore. Variation: variao da altura das rvores.
altera a largura da rvore. Variation: variao da largura das rvores.
cria grama, pedras e outros detalhes no terreno. Segure a tecla
Target Strenght: quantidade que ser aplicada do detalhe selecionado.
configuraes do terreno. Aqui pode-se alterar valores de distncia para detalhes (Level Of Detail, ou LOD), como rvores, texturas e grama.
se alterar caractersticas do vento.
terreno que desejar, faa algo parecido com o meu resultado, ou use-o. Independente
de sua escolha, faa uma montanha com um buraco no meio, como a montanha superior
esquerda na imagem a seguir. Dela, faremos sair fumaa para dar a idia de um vulco.
: eleva e diminui o terreno. Para diminuir, segure a tecla Shift e
Use o boto esquerdo do
esta ferramenta eleva o terreno at a altura definida, conforme a fora
Set Resolution)
alisa o terreno (clculo de mdia entre os pontos da rea do pincel).
outra textura.
para deletar rvores.
cria grama, pedras e outros detalhes no terreno. Segure a tecla Shift
aplicada do detalhe selecionado.
se alterar valores de , como rvores, texturas e grama.
Independente
de sua escolha, faa uma montanha com um buraco no meio, como a montanha superior
esquerda na imagem a seguir. Dela, faremos sair fumaa para dar a idia de um vulco.
-
11 | P a g e
Pintando o terreno Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity j dispe de
alguns e nos utilizaremos deles.
Aps selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo
Textures no h nada selecionado e, por causa disso, no h como pintar o terreno. Adicione
texturas por clicar no boto Edit Textures... > Add Textures...
Surgir uma nova janela, Add Terrain Texture
No item Splat, selecione o arquivo
Add o terreno estar todo pintado da textura selecionada, pois a
Repita o processo de adicionar texturas para adicionar as seguintes daquela mesma lista:
(Hill), GrassRock e GoodDirty.
Selecione a textura desejada e pinte o terreno como quiser. Lembre
do item Target Strengh possvel misturar texturas.
Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity j dispe de
Aps selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo
ecionado e, por causa disso, no h como pintar o terreno. Adicione
Edit Textures... > Add Textures....
Add Terrain Texture:
selecione o arquivo Cliff (Layered Rock), como na imagem. Ao clicar no boto
o terreno estar todo pintado da textura selecionada, pois a nica textura definida.
Repita o processo de adicionar texturas para adicionar as seguintes daquela mesma lista:
a textura desejada e pinte o terreno como quiser. Lembre-se que alterando o valor
possvel misturar texturas.
Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity j dispe de
Aps selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo
ecionado e, por causa disso, no h como pintar o terreno. Adicione
a imagem. Ao clicar no boto
nica textura definida.
Repita o processo de adicionar texturas para adicionar as seguintes daquela mesma lista: Grass
se que alterando o valor
-
12 | P a g e
O mesmo processo realizado para definir rvores e detalhes. Entretanto, s h uma rvore
disponvel na licensa grtis, a Palm
> Add Grass Texture > Detail Texture > Grass
H um outro artifcio para criao de rvores na Unity.
ferramenta automaticamente distribui pelo terreno
A seguir, a minha verso do terreno anterior com rvores e grama
ltimo).
Adicionando gua No painel Project, procure por water, aparecero vrios resultados. Selecione o prefab
Daylight Simple Water, e o arraste para a Scene. Ou, se preferir, o item
Water.
Com a ferramenta Scale Tool, aumente o tamanhodo objeto e, com a ferramenta Move Tool,
posicione conforme achar necessrio.
O mesmo processo realizado para definir rvores e detalhes. Entretanto, s h uma rvore
Palm. E tambm um nico item para detalhes, acesse
> Add Grass Texture > Detail Texture > Grass.
H um outro artifcio para criao de rvores na Unity. Em Terrain > Mass Places Trees
menta automaticamente distribui pelo terreno o nmero definido de rvores.
A seguir, a minha verso do terreno anterior com rvores e grama (no possvel visualizar o
No painel Project, procure por water, aparecero vrios resultados. Selecione o prefab
, e o arraste para a Scene. Ou, se preferir, o item Nighttime Simple
Com a ferramenta Scale Tool, aumente o tamanhodo objeto e, com a ferramenta Move Tool,
posicione conforme achar necessrio.
O mesmo processo realizado para definir rvores e detalhes. Entretanto, s h uma rvore
. E tambm um nico item para detalhes, acesse Edit Details
Terrain > Mass Places Trees, essa
(no possvel visualizar o
No painel Project, procure por water, aparecero vrios resultados. Selecione o prefab
Nighttime Simple
Com a ferramenta Scale Tool, aumente o tamanhodo objeto e, com a ferramenta Move Tool,
-
13 | P a g e
Adicionando luz Na barra de menus superior, clique no menu GameObject. Tudo que for um objeto dentro do
jogo, seja ele visvel ou no para o jogador, est neste menu. Acesse
Other > Directional Light.
Directional Light uma luz direcional e infinita, portanto, pode
criada, e apenas rotacionarmos ela.
Adicionando First Person Controller No painel Project, procure por
resultado da pesquisa.
Selecione-o e o arraste para o painel
Console, na barra inferior da interface do software.
Esse aviso dado pois, no painel Hierarchy,
ter somente um por cena. Um deles est dentro da Hierarchy e o outro dentro do First Person
Controller. Delete a Main Camera
dela.
Na Hierarchy selecione o First Person Controller, coloque o mouse sobre o painel Scen
pressione a tecla F para focar a cmera no objeto.
V-se que o objeto est cortado pelo terreno e, se dermos play agora, o objeto cair. Para que
isso no ocorra, v no painel Inspector e altere a posio sua posio conforme necessrio, ou
ento mova o objeto com a ferramenta Move at ele estar acima o suficiente do terreno.
Ento, d play.
Se achar que o mapa est demasiado grande para a velocidade da personagem, selecione o
First Person Controller na Hierarchy e, no Inspector, no componente
o item Speed. Pode-se alterar tambm o
, clique no menu GameObject. Tudo que for um objeto dentro do
jogo, seja ele visvel ou no para o jogador, est neste menu. Acesse GameObject > Create
Directional Light uma luz direcional e infinita, portanto, pode-se deix-la no ponto em que foi
criada, e apenas rotacionarmos ela.
Adicionando First Person Controller
No painel Project, procure por First Person Controller, ao digitar first j haver um nico
o e o arraste para o painel Hierarchy. Assim que feito, a Unity dar um aviso no
Console, na barra inferior da interface do software. Para abr-lo basta clicar na barra.
Esse aviso dado pois, no painel Hierarchy, h agora dois objetos Main Camera h e deve
Um deles est dentro da Hierarchy e o outro dentro do First Person
Delete a Main Camera fora do First Person Controller, pois no nos utilizaremos
Na Hierarchy selecione o First Person Controller, coloque o mouse sobre o painel Scen
pressione a tecla F para focar a cmera no objeto.
se que o objeto est cortado pelo terreno e, se dermos play agora, o objeto cair. Para que
isso no ocorra, v no painel Inspector e altere a posio sua posio conforme necessrio, ou
o objeto com a ferramenta Move at ele estar acima o suficiente do terreno.
Se achar que o mapa est demasiado grande para a velocidade da personagem, selecione o
First Person Controller na Hierarchy e, no Inspector, no componente FPSWalker (Script)
se alterar tambm o Jump Speed e Gravity.
, clique no menu GameObject. Tudo que for um objeto dentro do
GameObject > Create
no ponto em que foi
, ao digitar first j haver um nico
Hierarchy. Assim que feito, a Unity dar um aviso no
lo basta clicar na barra.
h e deve-se
Um deles est dentro da Hierarchy e o outro dentro do First Person
, pois no nos utilizaremos
Na Hierarchy selecione o First Person Controller, coloque o mouse sobre o painel Scene e
se que o objeto est cortado pelo terreno e, se dermos play agora, o objeto cair. Para que
isso no ocorra, v no painel Inspector e altere a posio sua posio conforme necessrio, ou
o objeto com a ferramenta Move at ele estar acima o suficiente do terreno.
Se achar que o mapa est demasiado grande para a velocidade da personagem, selecione o
(Script) altere
-
14 | P a g e
Adicionando Skybox Com o objeto Main Camera selecionado, dentro do First Person Controller, note o componente
Camera no Inspector. O primeiro item listado,
mostrado, conforme definido no componente
Entratanto esse objeto no possui um componente Skybox. Adicione um acessando
Component > Rendering > Skybox
Como padro, o componente Skybox no possui material definido. Escolha no item
Skybox o cu desejado; os que j vem incluso nessa licensa da Unity so:
Criando o labirinto
Criando um muro: Materials Para criarmos o muro utilizaremos o objeto cubo da prpria Unity. Crie
GameObject > Create Other > Cube
para focar nele.
Com o objeto Main Camera selecionado, dentro do First Person Controller, note o componente
no Inspector. O primeiro item listado, Clear Flags, corresponde ao cu que ser
mostrado, conforme definido no componente Skybox.
no possui um componente Skybox. Adicione um acessando
Component > Rendering > Skybox, enquanto a Main Camera est selecionada na Hierarchy.
dro, o componente Skybox no possui material definido. Escolha no item
o cu desejado; os que j vem incluso nessa licensa da Unity so: Blue Sky e
Materials e Prefabs
utilizaremos o objeto cubo da prpria Unity. Crie-o ao acessar
GameObject > Create Other > Cube, um cubo deve aparecer na tela, seno aperte a tecla F
Com o objeto Main Camera selecionado, dentro do First Person Controller, note o componente
, corresponde ao cu que ser
no possui um componente Skybox. Adicione um acessando
, enquanto a Main Camera est selecionada na Hierarchy.
dro, o componente Skybox no possui material definido. Escolha no item Custom
e Sunset.
o ao acessar
, um cubo deve aparecer na tela, seno aperte a tecla F
-
15 | P a g e
No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar
necessrio. Entretanto nosso muro possui muito pouco interesse, por isso, adicionaremos
textura a ele.
Materials No Project, em Create > Folder, crie uma pasta chamada Materials
do projeto, a pasta Muro dentro desta
Importaremos uma textura, mas para isso precisamos antes do arquivo de textura. Voc pode
utilizar o mesmo que utilizei ou procurar imagens em diversos sites, muitos gratuitos.
CGTextures (www.cgtextures.com
interessar mais que minha opo.
resoluo quadrada (256x256, 512x512, etc.).
Escolhida a textura, clique com o boto direito do mouse em cima da pasta
Acesse Import New Asset e escolha o diretrio do arquivo desejado, ou simplesmente arraste o
arquivo da pasta original para a pasta
Carregado o arquivo (Bricks na imagem acima)
visualizada no Inspector ao ser selecionad
Na pasta Muro, acesse Create no painel Project ou com o boto direito sobre a pasta.
Material criar um novo arquivo chamado
No Inspector pode-se ver que o novo material no h textura, como padro. Arraste o textura
importada anteriormente (bricks) para a
desejada. No Preview poder ser visualizado a textura aplicada na esf
forma do objeto por clicar no boto esquerdo na aba
No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar
cessrio. Entretanto nosso muro possui muito pouco interesse, por isso, adicionaremos
, crie uma pasta chamada Materials e, para melhor organizao
, a pasta Muro dentro desta.
ma textura, mas para isso precisamos antes do arquivo de textura. Voc pode
utilizar o mesmo que utilizei ou procurar imagens em diversos sites, muitos gratuitos.
www.cgtextures.com) o que utilizei, e h diversas outras texturas que podem te
interessar mais que minha opo. Lembre-se de utilizar somente arquivos de texturas de
resoluo quadrada (256x256, 512x512, etc.).
Escolhida a textura, clique com o boto direito do mouse em cima da pasta Muro que criamos.
e escolha o diretrio do arquivo desejado, ou simplesmente arraste o
arquivo da pasta original para a pasta Muro na Unity.
na imagem acima), a textura estar dentro da pasta e pode ser
ao ser selecionada.
Na pasta Muro, acesse Create no painel Project ou com o boto direito sobre a pasta.
criar um novo arquivo chamado New Material, o nomeie de muro.
se ver que o novo material no h textura, como padro. Arraste o textura
importada anteriormente (bricks) para a Main Color ou clique em Select e selecione a textura
poder ser visualizado a textura aplicada na esfera. Voc pode alterar a
forma do objeto por clicar no boto esquerdo na aba Preview.
No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar
cessrio. Entretanto nosso muro possui muito pouco interesse, por isso, adicionaremos
, para melhor organizao
ma textura, mas para isso precisamos antes do arquivo de textura. Voc pode
utilizar o mesmo que utilizei ou procurar imagens em diversos sites, muitos gratuitos.
diversas outras texturas que podem te
se de utilizar somente arquivos de texturas de
que criamos.
e escolha o diretrio do arquivo desejado, ou simplesmente arraste o
a e pode ser
Na pasta Muro, acesse Create no painel Project ou com o boto direito sobre a pasta. Create >
se ver que o novo material no h textura, como padro. Arraste o textura
e selecione a textura
Voc pode alterar a
-
16 | P a g e
Arraste o material muro para o objeto Cube na Hierarchy ou mesmo na Scene. O material
cobrir todo o objeto. Entretanto, esse material no parece possuir muito volume, e para
consertar isso, adicionaremos um
Importe novamente a mesma textura uti
o, fazendo meno que aquele arquivo um bumpmap, por exemplo Bricks_bump.
Selecionado esse mesmo arquivo, no Inspector ative a opo
boto Apply. A Unity converter o arquiv
O resultado ser uma imagem com tons azulados, como a imagem abaixo. Note que no painel
Project o cone do arquivo tambm
Arraste o material muro para o objeto Cube na Hierarchy ou mesmo na Scene. O material
cobrir todo o objeto. Entretanto, esse material no parece possuir muito volume, e para
consertar isso, adicionaremos um bumpmap.
Importe novamente a mesma textura utilizada na Main Color do material muro.
, fazendo meno que aquele arquivo um bumpmap, por exemplo Bricks_bump.
Selecionado esse mesmo arquivo, no Inspector ative a opo Generate Bumpmap
A Unity converter o arquivo atual para bumpmap.
O resultado ser uma imagem com tons azulados, como a imagem abaixo. Note que no painel
tambm foi alterado.
Arraste o material muro para o objeto Cube na Hierarchy ou mesmo na Scene. O material
cobrir todo o objeto. Entretanto, esse material no parece possuir muito volume, e para
material muro. Renomeie-
, fazendo meno que aquele arquivo um bumpmap, por exemplo Bricks_bump.
e clique no
O resultado ser uma imagem com tons azulados, como a imagem abaixo. Note que no painel
-
17 | P a g e
De volta para o material muro, na opo
item Bumpmap (RGB) aparecer. Selecione o arquivo de textura convertida para bumpmap
para este item.
Prefabs Utilizaremos mais de um muro no nosso projeto,
texturizao, por exemplo, a Unity possui um artifcio facilitador, os
arquivo com propriedades e componentes padronizados por aquele que o criou, podendo
existir mais de um simultaneamente na mes
Vamos para a prtica.
Por adicionar o material ao muro, ele deve ter resultado em algo parecido com isso:
Faremos um prefab desse muro. Primeiro, caso o nome do objeto ainda seja
renomeie-o de Muro no Inspector.
De volta para o material muro, na opo Shader, no Inspector, selecione Bump Diffuse
aparecer. Selecione o arquivo de textura convertida para bumpmap
Utilizaremos mais de um muro no nosso projeto, e para no repetir esse processo de
texturizao, por exemplo, a Unity possui um artifcio facilitador, os prefabs. Um prefab um
arquivo com propriedades e componentes padronizados por aquele que o criou, podendo
existir mais de um simultaneamente na mesma cena, e ainda, configurveis individualmente.
Por adicionar o material ao muro, ele deve ter resultado em algo parecido com isso:
Faremos um prefab desse muro. Primeiro, caso o nome do objeto ainda seja
no Inspector. Aps verificado isso, no Project crie uma pasta chamada
Bump Diffuse. O
aparecer. Selecione o arquivo de textura convertida para bumpmap
e para no repetir esse processo de
. Um prefab um
arquivo com propriedades e componentes padronizados por aquele que o criou, podendo
ma cena, e ainda, configurveis individualmente.
Por adicionar o material ao muro, ele deve ter resultado em algo parecido com isso:
Faremos um prefab desse muro. Primeiro, caso o nome do objeto ainda seja Cube,
Aps verificado isso, no Project crie uma pasta chamada
-
18 | P a g e
Prefabs. Dentro desta pasta, crie um prefab ao acessar
ser criado. Note que ao selecion
Arraste o objeto Muro na Hierarchy para cima do
possui todos os componentes do muro que foi adicionado e pode ser visualizado no aba
Preview no Inspector. Renomeie esse prefab de muro tambm.
Est pronto o prefab. Qualquer momento que for desejvel um novo muro na cena,
simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro ser criado
com as mesmas caractersticas que o original adicionado ao prefab, inclusive posio.
Pode-se deletar o antigo muro, o objeto Muro
armazenadas e poder ser criada cpias.
Como criaremos vrios muros para elaborao de um pequeno labirinto
na Hierarchy e agrupe todos os muros l, para melhor organi
GameObject > Create Empty para criar o objeto
Crie esse objeto nulo na posio
Todo muro que for adicionado cena atual,
labirinto final:
Dentro desta pasta, crie um prefab ao acessar Create > Prefab, e o arquivo
ser criado. Note que ao selecion-lo, nada aparece no Inspector, pois um objeto vazio
Arraste o objeto Muro na Hierarchy para cima do new prefab. Note que agora esse prefab
possui todos os componentes do muro que foi adicionado e pode ser visualizado no aba
Renomeie esse prefab de muro tambm.
b. Qualquer momento que for desejvel um novo muro na cena,
simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro ser criado
com as mesmas caractersticas que o original adicionado ao prefab, inclusive posio.
ntigo muro, o objeto Muro, o prefab continuar com as informaes
armazenadas e poder ser criada cpias.
Como criaremos vrios muros para elaborao de um pequeno labirinto, crie um objeto nulo
na Hierarchy e agrupe todos os muros l, para melhor organizao do projeto. Acesse
para criar o objeto GameObject e o renomeie como labirinto.
Crie esse objeto nulo na posio 0, 0, 0 para no haver problemas com posio global e local.
Todo muro que for adicionado cena atual, arraste-o para dentro deste objeto.
, e o arquivo new prefab
lo, nada aparece no Inspector, pois um objeto vazio.
Note que agora esse prefab
possui todos os componentes do muro que foi adicionado e pode ser visualizado no aba
b. Qualquer momento que for desejvel um novo muro na cena,
simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro ser criado
com as mesmas caractersticas que o original adicionado ao prefab, inclusive posio.
, o prefab continuar com as informaes
, crie um objeto nulo
zao do projeto. Acesse
e o renomeie como labirinto.
para no haver problemas com posio global e local.
o para dentro deste objeto. Eis meu
-
19 | P a g e
Criando a avalanche As pedras cairo das montanhas e, em determinado ponto essas pedras devem parar. Por isso
agora h algumas curvas e posies
subida terminada numa depresso
Criando uma rocha Para criar uma pedra, criaremos uma esfera acessando o menu
Sphere. Aumente o tamanho dessa esfera para um valor desejado no c
no Inspector; 10, 10, 10 pode ser
Precisamos criar um material para essa pedra. No painel Project, dentro da pasta Materials,
crie outra pasta com o nome Pedra. Procure por uma textura de rocha, ou use a mesma que
utilizei nesse projeto e importe-
textura Pedra e importe-a novamente para gerar o bumpmap, nomeado de Pedra_bump,
por exemplo.
Ao gerar o bumpmap, reduza o
algo mais desgastado.
Crie um novo material na mesma
Ento aplique o material sobre a esfera (
As pedras cairo das montanhas e, em determinado ponto essas pedras devem parar. Por isso
agora h algumas curvas e posies estratgicas nas montanhas e o caminho inicial uma
subida terminada numa depresso repentina.
Para criar uma pedra, criaremos uma esfera acessando o menu GameObject > Create Other >
. Aumente o tamanho dessa esfera para um valor desejado no componente Transform
pode ser uma boa opo.
criar um material para essa pedra. No painel Project, dentro da pasta Materials,
crie outra pasta com o nome Pedra. Procure por uma textura de rocha, ou use a mesma que
-a para essa pasta, para podermos criar o material.
a novamente para gerar o bumpmap, nomeado de Pedra_bump,
Ao gerar o bumpmap, reduza o Bumpiness, seno a rocha parecer afiada demais e queremos
mesma pasta e aplique as duas texturas como feito anteriormente.
Ento aplique o material sobre a esfera (Sphere). O resultado deve ser algo assim:
As pedras cairo das montanhas e, em determinado ponto essas pedras devem parar. Por isso
nas montanhas e o caminho inicial uma
GameObject > Create Other >
omponente Transform
criar um material para essa pedra. No painel Project, dentro da pasta Materials,
crie outra pasta com o nome Pedra. Procure por uma textura de rocha, ou use a mesma que
a para essa pasta, para podermos criar o material. Nomeie a
a novamente para gerar o bumpmap, nomeado de Pedra_bump,
, seno a rocha parecer afiada demais e queremos
aplique as duas texturas como feito anteriormente.
-
20 | P a g e
Antes de criarmos o prefab, precisamos adicionar fsica a esta rocha, pois se testarmos o jogo
agora, ela estar flutuando, parada no espao. Selecione
Component > Physics > Rigidbody
Inspector. Ao testar o jogo agora, ver que a rocha afetada por gravidade e se move
conforme o solo.
Assim feito, na pasta Prefabs criada anteriormente, crie um novo prefab chamado pedra e
adicione a esfera a ele, pois teremos mais de uma rocha.
Crie um objeto nulo para agrupar as pedras e posicione
cada objeto pode ser individualmente alterado para caso queira rochas de dimenses
diferentes.
Interao com o jogador: Nossas rochas caem das montanhas, colidem umas com as outras e com a personagem
no h desafio para o jogador a no ser que criemos algum limita
ou quantidade de vidas. E isso que faremos.
GUI Primeiramente, GUI (Graphical User Interface
exemplo uma barra de vida.
Utilizaremos as imagens que vem junto a este projeto ou,
prprias, lembre-se somente de nome
quando formos programar.
No painel Project, crie a pasta GUI e dentro dela a pasta Health. Importe para esta
arquivos h00, h10, h20, h30, h40 e h50
Create Other > GUI Texture para criar o objeto na cena.
Por ser um objeto da interface do jogador, no possvel visualiz
Scene, ento v para o painel Game.
Antes de criarmos o prefab, precisamos adicionar fsica a esta rocha, pois se testarmos o jogo
do, parada no espao. Selecione-a e acesse no menu superior
Component > Physics > Rigidbody, e o componente de mesmo nome poder ser visualizado no
Ao testar o jogo agora, ver que a rocha afetada por gravidade e se move
a pasta Prefabs criada anteriormente, crie um novo prefab chamado pedra e
adicione a esfera a ele, pois teremos mais de uma rocha.
Crie um objeto nulo para agrupar as pedras e posicione-as como desejado. Lembre
dualmente alterado para caso queira rochas de dimenses
Interao com o jogador: GUI e Script
Nossas rochas caem das montanhas, colidem umas com as outras e com a personagem
no h desafio para o jogador a no ser que criemos algum limitador, como uma barra de vida
E isso que faremos.
Graphical User Interface) uma forma visual de resposta ao jogador, por
Utilizaremos as imagens que vem junto a este projeto ou, se preferir, pode desenvolver suas
se somente de nome-las corretamente para que no haja problemas
No painel Project, crie a pasta GUI e dentro dela a pasta Health. Importe para esta
, h20, h30, h40 e h50. Selecione qualquer um destes e acesse GameObject >
para criar o objeto na cena.
Por ser um objeto da interface do jogador, no possvel visualiz-lo na cmera do painel
Scene, ento v para o painel Game. No centro da tela ter a barra de vida que importou. No
Antes de criarmos o prefab, precisamos adicionar fsica a esta rocha, pois se testarmos o jogo
a e acesse no menu superior
, e o componente de mesmo nome poder ser visualizado no
Ao testar o jogo agora, ver que a rocha afetada por gravidade e se move
a pasta Prefabs criada anteriormente, crie um novo prefab chamado pedra e
Lembre-se que
dualmente alterado para caso queira rochas de dimenses
Nossas rochas caem das montanhas, colidem umas com as outras e com a personagem, mas
dor, como uma barra de vida
) uma forma visual de resposta ao jogador, por
se preferir, pode desenvolver suas
las corretamente para que no haja problemas
No painel Project, crie a pasta GUI e dentro dela a pasta Health. Importe para esta pasta os
GameObject >
lo na cmera do painel
No centro da tela ter a barra de vida que importou. No
-
21 | P a g e
Inspector, altere a posio da barra como desejar.
GUI so diferentes, variando de 0 a 1
Ao dar Play ver que a barra estar l, esttica. No painel Hierarchy, renomeie o objeto para
vida. Feito isso, partiremos para o cdigo.
Script A Unity compatvel com as linguagens Java, C# e Boo
Script no painel Project e crie um n
Jogador. Para editar o script, clique duas vezes no arquivo ou no boto
Inicialmente definiremos as variveis que faro referncia s imagens adicionadas
anteriormente. E ento a varivel que definir a vida inicial do jogador:
Ento, criaremos a funo Update, que a cada novo frame verificar o objeto
a textura conforme retornado.
Inspector, altere a posio da barra como desejar. Os valores no componente Transform para
GUI so diferentes, variando de 0 a 1, e o eixo Z nulo j que tratamos de um plano.
barra estar l, esttica. No painel Hierarchy, renomeie o objeto para
. Feito isso, partiremos para o cdigo.
A Unity compatvel com as linguagens Java, C# e Boo, utilizaremos a primeira. Crie a pasta
Script no painel Project e crie um novo script acessando Create > JavaScript
Para editar o script, clique duas vezes no arquivo ou no boto Edit... no Inspector.
Inicialmente definiremos as variveis que faro referncia s imagens adicionadas
rivel que definir a vida inicial do jogador:
Ento, criaremos a funo Update, que a cada novo frame verificar o objeto vida
Os valores no componente Transform para
j que tratamos de um plano.
barra estar l, esttica. No painel Hierarchy, renomeie o objeto para
. Crie a pasta
Create > JavaScript. Nomeie-o
no Inspector.
Inicialmente definiremos as variveis que faro referncia s imagens adicionadas
vida e alterar
-
22 | P a g e
Finalizado o script, arraste-o para o First Person Controller na Hierarchy, ou para o Inspector
do mesmo objeto. Arraste as imagens
o para o First Person Controller na Hierarchy, ou para o Inspector
imagens corretas para cada varivel definida no script.
o para o First Person Controller na Hierarchy, ou para o Inspector
corretas para cada varivel definida no script.
-
23 | P a g e
Se dermos Play no jogo agora, nada acontecer com a barra de vida pois,
personagem colida com a rocha, no h um script que subtraia a vida
um novo java script chamado Colisao
Utilizaremos uma funo j existente na Unity
objetos.
Nisso verificamos se o objeto colidido possui a
vida do jogador em 10. Salvo o script
No Inspector, logo abaixo do nome do objeto, h a opo
nesta licensa da Unity.
Criaremos nossa prpria tag. Clique em
Se dermos Play no jogo agora, nada acontecer com a barra de vida pois, mesmo que o
personagem colida com a rocha, no h um script que subtraia a vida. Ento o faremos. Crie
Colisao.
Utilizaremos uma funo j existente na Unity, OnCollisionEnter, que verifica colises entre
ficamos se o objeto colidido possui a tag pedra, e se isso for verdade, reduzir a
o script, selecione o prefab pedra criado anteriormente.
No Inspector, logo abaixo do nome do objeto, h a opo Tag, com diversas opes j
Criaremos nossa prpria tag. Clique em Add Tag... e nomeie o Element 0 pedra.
mesmo que o
. Ento o faremos. Crie
colises entre
pedra, e se isso for verdade, reduzir a
, selecione o prefab pedra criado anteriormente.
, com diversas opes j inclusas
-
24 | P a g e
Assim, com o prefab pedra selecionado, selecione a tag pedra no Inspector.
ser realizada em todos os objetos na cena originado desse prefab.
Por fim, arraste o script Colisao
udio Colocaremos um som que ser ativado toda vez que alguma pedra
Primeiramente, criaremos a pasta Audio no painel Project e importaremos o arquivo
para ela.
Aps importado o arquivo, arraste
Awake.
Precisaremos de um script para verificar
pasta script, o novo java script Pedra.
Script Esse script funcionar como o anterior, exceto que ao invs de verificar a coliso com o objeto com a tag pedra, verificar com a tag chao que criaremodiminui a vida do jogador, ele inicia o som contido no objeto quando a verificao se faz correta. Isso pode ser vista na linha
Assim, com o prefab pedra selecionado, selecione a tag pedra no Inspector. Essa alterao
ser realizada em todos os objetos na cena originado desse prefab.
Colisao para o First Person Controller e adicione a tag Player e ele.
Colocaremos um som que ser ativado toda vez que alguma pedra tocar o cho.
Primeiramente, criaremos a pasta Audio no painel Project e importaremos o arquivo
Aps importado o arquivo, arraste-o para o prefab pedra, e apenas destive a opo
Precisaremos de um script para verificar a coliso da pedra com o cho todo hora. Crie, na
pasta script, o novo java script Pedra.
Esse script funcionar como o anterior, exceto que ao invs de verificar a coliso com o objeto com a tag pedra, verificar com a tag chao que criaremos. Tambm, esse cdigo no diminui a vida do jogador, ele inicia o som contido no objeto quando a verificao se faz correta. Isso pode ser vista na linha audio.Play();.
Essa alterao
para o First Person Controller e adicione a tag Player e ele.
tocar o cho.
Primeiramente, criaremos a pasta Audio no painel Project e importaremos o arquivo boom
a opo Play on
a coliso da pedra com o cho todo hora. Crie, na
Esse script funcionar como o anterior, exceto que ao invs de verificar a coliso com o objeto Tambm, esse cdigo no
diminui a vida do jogador, ele inicia o som contido no objeto quando a verificao se faz
-
25 | P a g e
Crie ento a tag chao e selecione
Partculas Para criar a fumaa do vulco usaremos o sistema de partculas da Unity. Acesse GameObject >
Create Other > Particle System para criar o objeto
Fumaa, por exemplo, e o posicione pouco dentro do vulco. Possivelmente tan
quanto as partculas estaro pequenas demais para o tamanho do vulco
No componente Particle Animator
desejado. Isso far com que as partculas recebam uma fora no eixo designado.
No componente Ellipsoid Particle Emitter
alterar o tamanho de cada partcula, e, mais abaixo, no item
e Z para alterar o tamanho da elipse formada pela animao.
Aumente os valores dos itens
partculas podem alcanar. Aumente tambm os valores dos itens
Emission para incrementar a emisso de partculas.
Crie ento a tag chao e selecione-a no Inspector do objeto Terrain.
Para criar a fumaa do vulco usaremos o sistema de partculas da Unity. Acesse GameObject >
Create Other > Particle System para criar o objeto Particle System na cena.
osicione pouco dentro do vulco. Possivelmente tan
quanto as partculas estaro pequenas demais para o tamanho do vulco.
Particle Animator, dentro do item Force, aumente o valor de Y para o valor
desejado. Isso far com que as partculas recebam uma fora no eixo designado.
Ellipsoid Particle Emitter aumente o valor dos itens Min Size e Max Size
alterar o tamanho de cada partcula, e, mais abaixo, no item Ellipsoid, aumente o valor de
para alterar o tamanho da elipse formada pela animao.
alores dos itens Min Energy e Max Energy para alterar a distncia que as
partculas podem alcanar. Aumente tambm os valores dos itens Min Emission
para incrementar a emisso de partculas.
Para criar a fumaa do vulco usaremos o sistema de partculas da Unity. Acesse GameObject >
na cena. Nomeie-o
osicione pouco dentro do vulco. Possivelmente tanto o objeto
para o valor
Max Size para
, aumente o valor de X, Y
para alterar a distncia que as
Min Emission e Max
-
26 | P a g e
De volta para o componente Particle Animator,
emanam uma fumaa branca ou acizentada. Altere a opacidade para que haja melhor
aparncia na mudana de cores.
Por ltimo, no componente Particle Renderer
Particles para a opo Stretched
esfrico.
De volta para o componente Particle Animator, escolha as cores desejas. Vulces geralmente
emanam uma fumaa branca ou acizentada. Altere a opacidade para que haja melhor
aparncia na mudana de cores.
Particle Renderer, altere a opo Billboard no item
Stretched, para esticar as partculas ao invs de deix-las no formato
escolha as cores desejas. Vulces geralmente
emanam uma fumaa branca ou acizentada. Altere a opacidade para que haja melhor
no item Stretch
las no formato
-
27 | P a g e
Fogueira Para fazer a fogueira, importaremos um pacote da Unity, utilizaremos novamente partculas
para produzir o fogo e o animaremos, programaremos um script
colocaremos udio, assim como nas rochas.
Importando unitypackages No painel Project, clique com o boto direito e escolha a opo
diretrio no qual est o pacote fogueira, que veio junto a este tut
todos os arquivos contido nesse pacote.
Aps carregado o pacote, voc poder ver as texturas, malhas e materias dos arquivos
carregados, alm do udio e de um prefab.
necessrio. Assim feito, est importado o unitypackage.
Fogo Criaremos agora o fogo. Crie um sistema de partculas
entretanto as cores para vermelho, laranja
ltimo, cinza para a fumaa.
Para fazer a fogueira, importaremos um pacote da Unity, utilizaremos novamente partculas
para produzir o fogo e o animaremos, programaremos um script para acender a fogueira, e
colocaremos udio, assim como nas rochas.
No painel Project, clique com o boto direito e escolha a opo Import Package. Selecione o
diretrio no qual est o pacote fogueira, que veio junto a este tutorial. A Unity importar
todos os arquivos contido nesse pacote.
Aps carregado o pacote, voc poder ver as texturas, malhas e materias dos arquivos
carregados, alm do udio e de um prefab. Adicione o prefab na cena, e altere-o como achar
, est importado o unitypackage.
Criaremos agora o fogo. Crie um sistema de partculas e edite como anteriormente, mudando
para vermelho, laranja, amarelo e novamente vermelho para o fogo, e
Para fazer a fogueira, importaremos um pacote da Unity, utilizaremos novamente partculas
para acender a fogueira, e
. Selecione o
A Unity importar
Aps carregado o pacote, voc poder ver as texturas, malhas e materias dos arquivos
o como achar
e edite como anteriormente, mudando
para o fogo, e, por
-
28 | P a g e
Selecione tambm a opo Stretched em Stretch Particles no componente Particle Renderer.
Note que desabilitei a opo
necessrio para animao. Essa opo habilita ou desabilita a
deixaremos desabilitada por enquanto
Nomeie esse sistema de partculas fogo. Com ele selecionado acesse no menu superior
Component > Physics > Box Collider
escala dele para que fique menor que a fogueira, como na imagem:
Selecione tambm a opo Stretched em Stretch Particles no componente Particle Renderer.
Note que desabilitei a opo Emit no componente Ellipsoid Particle Emitter, pois ser
Essa opo habilita ou desabilita a emisso de partculas
enquanto.
Nomeie esse sistema de partculas fogo. Com ele selecionado acesse no menu superior
Component > Physics > Box Collider para adicionar coliso, na forma de um cubo.
que fique menor que a fogueira, como na imagem:
Selecione tambm a opo Stretched em Stretch Particles no componente Particle Renderer.
e Ellipsoid Particle Emitter, pois ser
emisso de partculas e a
Nomeie esse sistema de partculas fogo. Com ele selecionado acesse no menu superior
para adicionar coliso, na forma de um cubo. Altere a
-
29 | P a g e
udio Para adicionar o udio a fogueira, basta arrastar o arquivo
para o Inspector do objeto, ou na Hierarchy.
Ative a opo Loop pois queremos que o som repita e mudhaver som se o jogador no acender a fogueira.
Animao No painel Project, crie a pasta Animations. Com o sistema de partcula
abra o painel Animation. Nessa nova pasta, c
Para adicionar o udio a fogueira, basta arrastar o arquivo fire_atmosphere no painel Project
para o Inspector do objeto, ou na Hierarchy.
pois queremos que o som repita e mude o valor do Volume para 0, pois no haver som se o jogador no acender a fogueira.
No painel Project, crie a pasta Animations. Com o sistema de partcula fogo selecionado,
Nessa nova pasta, crie uma nova animao em Create New Clip
no painel Project
para 0, pois no
selecionado,
Create New Clip, na
-
30 | P a g e
barra logo acima da hierarquia desse painel, ou simplesmente crie pelo painel Project, como as
vezes anteriores. Nomeie esta animao Fogo.
Na hierarquia do painel Animation
deste, o item Emit. Clique no boto
inicialmente 0.
Clique no boto em frente a esse nmero e escolha a opo
definido na timeline, ou seja, adicionar um
Na timeline, v para o frame 30 e mude o valor para 1, o que automaticamente adicionar um
keyframe naquele ponto.
O fogo est animado, mas precisamos fazer o mesmo processo com o udio
hierarquia do painel Animation por Audio Source. No frame
aumente para 2.
barra logo acima da hierarquia desse painel, ou simplesmente crie pelo painel Project, como as
vezes anteriores. Nomeie esta animao Fogo.
do painel Animation encontre o componente Ellipsoid Particle Emitter e, dentr
Clique no boto Record e ver o valor relativo a este item, que
Clique no boto em frente a esse nmero e escolha a opo Add Key, isto marcar o valor
, ou seja, adicionar um keyframe.
Na timeline, v para o frame 30 e mude o valor para 1, o que automaticamente adicionar um
O fogo est animado, mas precisamos fazer o mesmo processo com o udio. Procure na
hierarquia do painel Animation por Audio Source. No frame 0, deixe o Volume 0, no frame 30
barra logo acima da hierarquia desse painel, ou simplesmente crie pelo painel Project, como as
encontre o componente Ellipsoid Particle Emitter e, dentro
, que deve ser
, isto marcar o valor
Na timeline, v para o frame 30 e mude o valor para 1, o que automaticamente adicionar um
. Procure na
0, deixe o Volume 0, no frame 30
-
31 | P a g e
Por fim, precisamos definir o tipo de animao. Na barra abaixo da hierarquia desse painel h
opes de tipo de animaes:
Once: a animao ser iniciada e finalizada uma s vez, toda vez que ativada.
apropriada mas encontraramos problemas para nosso futuro cdigo.
Loop: a animao repetidade infinitamente.
Clamp Forever: aps finalizada, a animao no ser repetida e nem poder ser
ativada novamente.
Ping Pong: a animao vai e volta, realme
assistir um filme e depois assist
A opo que selecionaremos ser
quando o personagem colidir com a fogueira, a a
0 toda vez que ele colidisse.
Finalizada esta parte, partamos para o cdigo.
Script Como dito, o script reconhecer o momento em que o personagem colidir com o cubo de
coliso que adicionamos ao sistema de part
cdigo parecido com o anteriormente feito
java script chamado Acender.
precisamos definir o tipo de animao. Na barra abaixo da hierarquia desse painel h
: a animao ser iniciada e finalizada uma s vez, toda vez que ativada.
apropriada mas encontraramos problemas para nosso futuro cdigo.
a animao repetidade infinitamente.
aps finalizada, a animao no ser repetida e nem poder ser
a animao vai e volta, realmente como uma bola de ping-pong, ou como
assistir um filme e depois assist-lo de trs para frente e assim infinitamente.
ser Clamp Forever, pois o script que criaremos far com que
quando o personagem colidir com a fogueira, a animao comece, isso faria voltar o volume a
Finalizada esta parte, partamos para o cdigo.
Como dito, o script reconhecer o momento em que o personagem colidir com o cubo de
coliso que adicionamos ao sistema de partculas fogo, e que a animao iniciaria da. O
o anteriormente feito Colisao, com diferenas bsicas. Crie um novo
precisamos definir o tipo de animao. Na barra abaixo da hierarquia desse painel h
: a animao ser iniciada e finalizada uma s vez, toda vez que ativada. Parece
aps finalizada, a animao no ser repetida e nem poder ser
pong, ou como
lo de trs para frente e assim infinitamente.
, pois o script que criaremos far com que
nimao comece, isso faria voltar o volume a
Como dito, o script reconhecer o momento em que o personagem colidir com o cubo de
culas fogo, e que a animao iniciaria da. O
Crie um novo
-
32 | P a g e
A funo verifica o momento da coliso e se a tag do objeto
animao Fogo do objeto colidido.
Crie a tag fogo e a associe o sistema de partcula de mesmo nome, e o cdigo estar pronto.
GUI Para finalizar, faremos um menu incial, de entrada para o jogo.
Project e crie uma nova cena no projeto em
Crie um cube e posicione-o frente a cmera
painel Project, na pasta Standard Assets > Fonts
verso da Unity, Courier. Com essa fonte selecionada a
Text para criar um novo objeto de texto
altere seu texto para Play Game e, tambm, o nomeie Play.
A fonte pode parecer um pouco desfocada, pa
Size no Inspector da fonte em questo.
Adicione um Box Collider nesse objeto ao acessar
Aps realizada as alteraes desejadas, duplique esse objeto Play
abaixo e mude o texto e seu nome para Quit, para criarmos o boto de sada do jogo.
isso, precisaremos de um script.
A funo verifica o momento da coliso e se a tag do objeto fogo. Caso for, el
animao Fogo do objeto colidido.
Crie a tag fogo e a associe o sistema de partcula de mesmo nome, e o cdigo estar pronto.
faremos um menu incial, de entrada para o jogo. Crie a pasta Scenes no
uma nova cena no projeto em File > New Scene.
o frente a cmera (Main Camera), ao modo que cobra toda a tela.
Standard Assets > Fonts h uma fonte default que vem com essa
essa fonte selecionada acesse GameObject > Create Other > 3D
para criar um novo objeto de texto com determinada fonte. Posicione-o como desejar e
altere seu texto para Play Game e, tambm, o nomeie Play.
A fonte pode parecer um pouco desfocada, para corrigir isso, aumente o valor do item
no Inspector da fonte em questo.
nesse objeto ao acessar Component > Physiscs > Box Collider
Aps realizada as alteraes desejadas, duplique esse objeto Play, coloque-o um pouco mais
e mude o texto e seu nome para Quit, para criarmos o boto de sada do jogo.
fogo. Caso for, ela inicia a
Crie a tag fogo e a associe o sistema de partcula de mesmo nome, e o cdigo estar pronto.
Crie a pasta Scenes no painel
cobra toda a tela. No
h uma fonte default que vem com essa
GameObject > Create Other > 3D
o como desejar e
ra corrigir isso, aumente o valor do item Font
Component > Physiscs > Box Collider.
o um pouco mais
e mude o texto e seu nome para Quit, para criarmos o boto de sada do jogo. Para
-
33 | P a g e
Script Crie um novo java script chamado Menu na pasta Script no painel Project. Faremos com que
quando o mouse passe por cima desses objetos, sua cor seja alterada, para
jogador. Mas primeiro, definiremos uma varivel que definir ou no se o boto o boto de
sada.
Na imagem acima, a funo OnMouseEnter
boto, a cor da fonte seja alterada para preto. A funo abaixo,
cor retorne para branco quando o mouse no esteja em acima do boto.
A funo na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,
dependendo do boto clicado (respectivamente, Play e Quit).
Crie um novo java script chamado Menu na pasta Script no painel Project. Faremos com que
o mouse passe por cima desses objetos, sua cor seja alterada, para feedback
jogador. Mas primeiro, definiremos uma varivel que definir ou no se o boto o boto de
OnMouseEnter faz com que quando o mouse esteja em cima do
boto, a cor da fonte seja alterada para preto. A funo abaixo, OnMouseExit, faz com que a
cor retorne para branco quando o mouse no esteja em acima do boto.
A funo na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,
dependendo do boto clicado (respectivamente, Play e Quit).
Crie um novo java script chamado Menu na pasta Script no painel Project. Faremos com que
feedback para o
jogador. Mas primeiro, definiremos uma varivel que definir ou no se o boto o boto de
em cima do
, faz com que a
A funo na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,
-
34 | P a g e
A linha Application.LoadLevel(1)
Settings, acessvel no menu File > Build Settings
As cenas devem estar listadas a, caso uma ou mais no esteja, pode
atualmente na Unity clicando no boto
O nmero em frente ao diretrio e nome da cena o nmero de referncia ela, como no
cdigo que acabamos de escrever. Caso a cena que chamei de quest no esteja numerada 1,
altere a order arrastando as cenas
Por fim, lembre-se de ativar a opo Botao Quit que definimos no Inspector do objeto
Quit. Podemos adicionar luzes e outros detalhes, como preferir.
Application.LoadLevel(1) carrega o nvel 1 do jogo, que pode ser definido na
File > Build Settings. A seguinte janela deve aparecer:
As cenas devem estar listadas a, caso uma ou mais no esteja, pode-se adicionar a cena aberta
atualmente na Unity clicando no boto Add Current.
O nmero em frente ao diretrio e nome da cena o nmero de referncia ela, como no
escrever. Caso a cena que chamei de quest no esteja numerada 1,
as cenas ou simplesmente altere o nmero no cdigo.
se de ativar a opo Botao Quit que definimos no Inspector do objeto
nar luzes e outros detalhes, como preferir.
carrega o nvel 1 do jogo, que pode ser definido na Build
se adicionar a cena aberta
O nmero em frente ao diretrio e nome da cena o nmero de referncia ela, como no
escrever. Caso a cena que chamei de quest no esteja numerada 1,
se de ativar a opo Botao Quit que definimos no Inspector do objeto
-
35 | P a g e
Por hora o boto Quit no funcionar pois o jogo est sendo rodado dentro da Unity.
Detalhes H alguns simples detalhes que podemos adicionar para finalizar o nosso jogo. Por exemplo,
para dar mais imerso, adicionar som das ondas, alguns insetos na pequena floresta de
coqueiros ali.
Os arquivos crickets, gulls_and_waves
e pssaros do litoral, e um leve tremor de terra, caso queira adicionar logo no
avalanche. Deixe a opo Loop ativada para os arquivos de som crickets e gulls_and_waves.
Aps importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o
painel Hierarchy que estaro inclusos no jogo. Posicion
distncia do som faz diferena para a experincia.
Podemos tambm colocar cubos nas extremidades do mapa para que o jogador no caia.
Entretanto esses cubos no podem ser vistos, ento simplesmente desabilite ou remova
componente Mesh Renderer do cubo.
Parede Invisivel.
Exportando o jogo Com o jogo finalizado, agora veremos algumas propriedades de exportao e como exportar o
jogo. No menu Edit > Project Settings >
pr-definidas pela Unity. Entretanto cada uma dessas opes pode ser editada logo abaixo, no
Inspector.
Por hora o boto Quit no funcionar pois o jogo est sendo rodado dentro da Unity.
H alguns simples detalhes que podemos adicionar para finalizar o nosso jogo. Por exemplo,
adicionar som das ondas, alguns insetos na pequena floresta de
gulls_and_waves e rockslide, so respectivamente sons de insetos, ondas
e pssaros do litoral, e um leve tremor de terra, caso queira adicionar logo no incio do jogo, na
Deixe a opo Loop ativada para os arquivos de som crickets e gulls_and_waves.
Aps importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o
painel Hierarchy que estaro inclusos no jogo. Posicione-os de forma coerente, pois no 3D a
distncia do som faz diferena para a experincia.
Podemos tambm colocar cubos nas extremidades do mapa para que o jogador no caia.
Entretanto esses cubos no podem ser vistos, ento simplesmente desabilite ou remova
do cubo. Para facilitar ainda mais, faa um prefab chamado
Com o jogo finalizado, agora veremos algumas propriedades de exportao e como exportar o
Edit > Project Settings > Quality pode-se alterar a qualidade entre as opes
definidas pela Unity. Entretanto cada uma dessas opes pode ser editada logo abaixo, no
Por hora o boto Quit no funcionar pois o jogo est sendo rodado dentro da Unity.
H alguns simples detalhes que podemos adicionar para finalizar o nosso jogo. Por exemplo,
adicionar som das ondas, alguns insetos na pequena floresta de
espectivamente sons de insetos, ondas
incio do jogo, na
Deixe a opo Loop ativada para os arquivos de som crickets e gulls_and_waves.
Aps importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o
os de forma coerente, pois no 3D a
Podemos tambm colocar cubos nas extremidades do mapa para que o jogador no caia.
Entretanto esses cubos no podem ser vistos, ento simplesmente desabilite ou remova o
Para facilitar ainda mais, faa um prefab chamado
Com o jogo finalizado, agora veremos algumas propriedades de exportao e como exportar o
se alterar a qualidade entre as opes
definidas pela Unity. Entretanto cada uma dessas opes pode ser editada logo abaixo, no
-
36 | P a g e
Em Edit > Project Settings > Player
da empresa e do jogo, tornar o modo tela
Em Build Settings h algumas opes de plataforma para exportao do jogo. Selecione a
opo desejada, por exemplo Windows Standalone
clique no boto Build.
Escolha o diretrio que deseja salvar o jogo e seu nome; para jog
executvel.
Edit > Project Settings > Player pode-se alterar algumas outras configuraes como o nome
presa e do jogo, tornar o modo tela-cheia padro, cone do jogo, entre outros
Em Build Settings h algumas opes de plataforma para exportao do jogo. Selecione a
Windows Standalone caso use alguma verso do Windows, e
Escolha o diretrio que deseja salvar o jogo e seu nome; para jog-lo basta clicar no arquivo
s outras configuraes como o nome
cone do jogo, entre outros.
Em Build Settings h algumas opes de plataforma para exportao do jogo. Selecione a
caso use alguma verso do Windows, e
lo basta clicar no arquivo
-
37 | P a g e
Referncias Bibliogrficas
GOLDSTONE, Will. Unity Game Development Essentials. Birmingham, Packt Publishing Ltd.,
2009.
TornadoTwins: http://www.youtube.com/user/tornadotwins
http://tornadotwins.com/