tutorial unity 3d básico - felipe augusto

37
PUC-SP Pontifí Curso S Daparta Tutorial bás P ícia Universidade Católica de São Pa Superior de Tecnologia em Jogos Digitais amento de Computação sico para a game eng Unity 3D Por Felipe Augusto de Oliveira São Paulo Outubro de 2010 aulo gine Menezes

Upload: fernando-henrique-caetano

Post on 30-Dec-2015

144 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial Unity 3D Básico - Felipe Augusto

PUC-SPPontifícia Universidade Católica de São Paulo Curso Superior de Tecnologia em Jogos DigitaisDapartamento de Computação

Tutorial básico para a game engine

SP Pontifícia Universidade Católica de São Paulo

Curso Superior de Tecnologia em Jogos Digitais Dapartamento de Computação

Tutorial básico para a game engine

Unity 3D

Por Felipe Augusto de Oliveira Menezes

São Paulo Outubro de 2010

Pontifícia Universidade Católica de São Paulo

Tutorial básico para a game engine

Por Felipe Augusto de Oliveira Menezes

Page 2: Tutorial Unity 3D Básico - Felipe Augusto

2 | P a g e

Sumário 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 utilizáveis 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

Interação com o jogador: GUI e Script .................................................................................... 20

GUI ....................................................................................................................................... 20

Script ................................................................................................................................... 21

Áudio ....................................................................................................................................... 24

Script ................................................................................................................................... 24

Partículas ..................................................................................................................................... 25

Fogueira ................................................................................................................................... 27

Importando unitypackages ................................................................................................. 27

Fogo ..................................................................................................................................... 27

Áudio ....................................................................................................................................... 29

Animação ..................................................................................................................................... 29

Page 3: Tutorial Unity 3D Básico - Felipe Augusto

3 | P a g e

Script ....................................................................................................................................... 31

GUI ............................................................................................................................................... 32

Script ....................................................................................................................................... 33

Exportando o jogo ....................................................................................................................... 35

Referências Bibliográficas ........................................................................................................... 37

Page 4: Tutorial Unity 3D Básico - Felipe Augusto

4 | P a g e

O que é Unity

Unity é uma ferramenta de criação e edição de

foco em jogos tridimensionais, é possível também o

Há versões para Mac e Windows, com a possibilidade de criação para diversas plataformas:

Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360

e PlayStation 3.

Hoje há duas licensas disponíveis, a

diversas características adicionais.

Este curso utilizará a licensa grátis,

http://unity3d.com/unity/

Unity é uma ferramenta de criação e edição de games, ou seja, uma game engine

foco em jogos tridimensionais, é possível também o desenvolvimento de jogos bidimensionais.

Há versões para Mac e Windows, com a possibilidade de criação para diversas plataformas:

Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360

as disponíveis, a Unity e a Unity Pro. A primeira é grátis e a segunda possui

diversas características adicionais.

Este curso utilizará a licensa grátis, Unity.

engine. Apesar do

desenvolvimento de jogos bidimensionais.

Há versões para Mac e Windows, com a possibilidade de criação para diversas plataformas:

Windows, Mac, Wii, iPad, iPhone, browser e, suporte recentemente adicionado para Xbox 360

. A primeira é grátis e a segunda possui

Page 5: Tutorial Unity 3D Básico - Felipe Augusto

5 | P a g e

Interface Por default, a Unity abre o projeto Island Demo, que é uma demostração das capacidades da

engine nesse estado inicial. Antes de começarmos nosso próprio projeto, veremos algumas

características da interface da Unity nessa demo.

A Unity é organizada por tabs, ou painéis, cada uma com funções específicas e características

diferentes.

1. Scene É o painel onde mostra o arquivo de cena selecionado. Pode-se selecionar objetos visíveis e

editá-los manualmente por este painel.

a. View

i. Texture/Wireframe: alterna entre a visão de textura (padrão) e wireframe, ou ambos.

ii. Draw: alterna entre a visão RGB (padrão), Alpha, Overdraw e Mipmaps.

b. Light: ativa ou desativa a vizualização de luzes na cena. c. Camera effects: ativa ou desativa a vizualização dos efeitos de câmera na

cena.

2. Game Painel de demostração e verificação do jogo quando o botão Play está ativado.

•••• Aspect: altera a resolução da vizualização do game.

•••• Maximize on Play: maximiza o painel Game quando o botão Play está ativado.

•••• Gizmos: ferramenta de debug que mostra, por exemplo, posição de luzes e

wireframe de objetos.

•••• Stats: ativa ou desativa a visualização de estatísticas da cena.

3. Project Este painel contém a lista de arquivos e pastas inclusos no projeto. Lista as cenas, arquivos de

imagens, som, animações, códigos, etc.

a. Create: menu de opções de criação de pasta e arquivos diversos: scripts, materiais, animações, prefabs.

4. Hierarchy Contém a lista de objetos e grupos de objetos dentro da cena, seja ele visível ou não. Pode-se

somente selecionar objetos (ou grupos de objetos) neste painel.

5. Inspector Mostra as informações do objeto ou grupo de objeto selecionado, caso haja um. É possível

editar a posição, escala e rotação, além dos componentes adicionais atribuídos ao objeto ou

grupo.

Page 6: Tutorial Unity 3D Básico - Felipe Augusto

6 | P a g e

6. Animation Por padrão, este painel não aparece na interface da Unity inicialmente. Sua função é

na timeline, animações de objetos ou grupos, ou características destes, inclusos na cena sendo

editada.

a. Record: ativa ou desativa a gravação de animações

b. Play: reproduz a animação do objeto selecionado.

c. Previous/Next Frame

Todo painel na Unity pode ser removido

menu Window na barra de menus superior.

cada painel.

Outra característica user friendly

Window > Layouts há a opção de salvar o formato da interface atual, além de quatro layouts

pré-definidos.

Ferramentas da interface utilizáveis

Hand Tool (Q)

1. Botão esquerdo do mouse

câmera atual. 2. Botão direito do mouse/scroll

3. Alt + botão 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 padrão, este painel não aparece na interface da Unity inicialmente. Sua função é

objetos ou grupos, ou características destes, inclusos na cena sendo

ativa ou desativa a gravação de animações do objeto selecionado

: reproduz a animação do objeto selecionado.

Previous/Next Frame: vai para o anterior/próximo frame na timeline.

Todo painel na Unity pode ser removido ou adicionado da interface. Para isso, acessa

na barra de menus superior. Também é possível alterar a posição e tamanho

friendly da Unity é a possibilidade da customização da interface. Em

há a opção de salvar o formato da interface atual, além de quatro layouts

da interface utilizáveis no painel Scene

Botão esquerdo do mouse: permite a exploração da cena nos eixos

Botão direito do mouse/scroll: zoom no centro da câmera atual. Alt + botão esquerdo do mouse: rotação em torno do centro da câmera 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 padrão, este painel não aparece na interface da Unity inicialmente. Sua função é mostrar,

objetos ou grupos, ou características destes, inclusos na cena sendo

do objeto selecionado.

vai para o anterior/próximo frame na timeline.

. Para isso, acessa-se o

posição e tamanho de

da Unity é a possibilidade da customização da interface. Em

há a opção de salvar o formato da interface atual, além de quatro layouts

permite a exploração da cena nos eixos X e Y da

: rotação em torno do centro da câmera atual.

Page 7: Tutorial Unity 3D Básico - Felipe Augusto

7 | P a g e

Scale Tool (R)

Altera a escala do(s) objeto(s) selecionado(s) nos eixos

Câmeras

Para alterar o modo de visualização a

seguinte botão, encontrado somente no painel Scene:

A visualização padrão é a Perspective (

eixo desejado:

Eixo (clicável)

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 visualização a Unity dispõe de uma ferramenta bastante prática, o

seguinte botão, encontrado somente no painel Scene:

A visualização padrão é a Perspective (Persp, abaixo da ferramenta). Para alterá-la clica

(clicável) Visualização

Direita (Right)

Esquerda (Left)

Cima (Top)

Abaixo (Bottom)

Frente (Front)

Trás (Back)

Perspectiva (Persp)

Unity dispõe de uma ferramenta bastante prática, o

la clica-se no

Page 8: Tutorial Unity 3D Básico - Felipe Augusto

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 são pacotes de arquivos que serão utilizados no projeto. São os arquivos que

aparecem no painel Project, após criado o projeto. O

padrão da Unity. O Toon Shading

utilizaremos somente o Standard Assets.

como quiser. A Unity então, 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...

são pacotes de arquivos que serão utilizados no projeto. São os arquivos que

aparecem no painel Project, após 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 então, importará os pacotes selecionados e, enfim, abrirá o seu novo

File > New Project.... A

são pacotes de arquivos que serão utilizados no projeto. São os arquivos que

possui os arquivos

, ou cartunizado. Neste caso

Indique o caminho desejado e nomeie o projeto

A Unity então, importará os pacotes selecionados e, enfim, abrirá o seu novo

Page 9: Tutorial Unity 3D Básico - Felipe Augusto

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 também 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 não 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, após selecioná-lo na Hierarchy. Note também

que o terreno também foi criado no painel Project, com o nome New Terrain. Para renomeá

O terreno criado possui as propriedades padrões. 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 máxima

mas não 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 também

que o terreno também 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 máxima

inicial no eixo Y do terreno para o

Selecionado o terreno na Hierarchy, aparecerá no Inspector, o seguinte componente e

Page 10: Tutorial Unity 3D Básico - Felipe Augusto

10 | P a g e

Da esquerda para a direira, as ferramentas são as seguintes:

• Raise / Lower Terrain: eleva e diminui o terreno. Para diminuir, segure a tecla use o botão esquerdo do mouse.

•••• Brush Size: altera o tamanho do pincel selecionado.mouse no painel Scene para aplicar.

•••• Opacity: força que será aplicada no pincel.

• Paint Height: esta ferramenta eleva o terreno até a altura definida, conforme a força (opacity).

•••• Height: altera a altura (máximo igual à

• Smooth Height: alisa o terreno (cálculo de média 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: configurações do terreno.distância para detalhes (Também pode-se alterar características do vento.

Crie o terreno que desejar, faça algo parecido com o meu resultado, ou use

de sua escolha, faça uma montanha com um buraco no meio, como a montanha superior

esquerda na imagem a seguir. Dela, faremos sair fumaça para dar a idéia de um vulcão.

Da esquerda para a direira, as ferramentas são as seguintes:

: eleva e diminui o terreno. Para diminuir, segure a tecla use o botão esquerdo do mouse.

altera o tamanho do pincel selecionado. Use o botão esquerdomouse no painel Scene para aplicar.

força que será aplicada no pincel.

esta ferramenta eleva o terreno até a altura definida, conforme a força

altera a altura (máximo igual à Terrain Height em Set Resolution

alisa o terreno (cálculo de média entre os pontos da área do pincel).

pinta o terreno com a textura selecionada.

Target Strenght: força 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: variação na cor das árvores.

altera a altura da árvore. Variation: variação da altura das árvores.

altera a largura da árvore. Variation: variação da largura das árvores.

cria grama, pedras e outros detalhes no terreno. Segure a tecla

Target Strenght: quantidade que será aplicada do detalhe selecionado.

configurações do terreno. Aqui pode-se alterar valores de distância para detalhes (Level Of Detail, ou LOD), como árvores, texturas e grama.

se alterar características do vento.

terreno que desejar, faça algo parecido com o meu resultado, ou use-o. Independente

de sua escolha, faça uma montanha com um buraco no meio, como a montanha superior

esquerda na imagem a seguir. Dela, faremos sair fumaça para dar a idéia de um vulcão.

: eleva e diminui o terreno. Para diminuir, segure a tecla Shift e

Use o botão esquerdo do

esta ferramenta eleva o terreno até a altura definida, conforme a força

Set Resolution)

alisa o terreno (cálculo de média 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, faça uma montanha com um buraco no meio, como a montanha superior

esquerda na imagem a seguir. Dela, faremos sair fumaça para dar a idéia de um vulcão.

Page 11: Tutorial Unity 3D Básico - Felipe Augusto

11 | P a g e

Pintando o terreno Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity já dispõe de

alguns e nos utilizaremos deles.

Após selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo

Textures não há nada selecionado e, por causa disso, não há como pintar o terreno. Adicione

texturas por clicar no botão 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 é possível misturar texturas.

Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity já dispõe de

Após selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo

ecionado e, por causa disso, não 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 botão

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

é possível misturar texturas.

Para pintar o terreno, primeiro precisamos do material a ser pintado. A Unity já dispõe de

Após selecionado o terreno, selecione a ferramenta Paint Texture no Inspector. No campo

ecionado e, por causa disso, não há como pintar o terreno. Adicione

a imagem. Ao clicar no botão

única textura definida.

Repita o processo de adicionar texturas para adicionar as seguintes daquela mesma lista: Grass

se que alterando o valor

Page 12: Tutorial Unity 3D Básico - Felipe Augusto

12 | P a g e

O mesmo processo é realizado para definir árvores e detalhes. Entretanto, só há uma árvore

disponível na licensa grátis, a Palm

> Add Grass Texture > Detail Texture > Grass

Há um outro artifício para criação de árvores na Unity.

ferramenta automaticamente distribui pelo terreno

A seguir, a minha versão do terreno anterior com árvores e grama

último).

Adicionando água No painel Project, procure por “water”, aparecerão vários 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 necessário.

O mesmo processo é realizado para definir árvores e detalhes. Entretanto, só há uma árvore

Palm. E também um único item para detalhes, acesse

> Add Grass Texture > Detail Texture > Grass.

Há um outro artifício para criação de árvores na Unity. Em Terrain > Mass Places Trees

menta automaticamente distribui pelo terreno o número definido de árvores.

A seguir, a minha versão do terreno anterior com árvores e grama (não é possível visualizar o

No painel Project, procure por “water”, aparecerão vários 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 necessário.

O mesmo processo é realizado para definir árvores e detalhes. Entretanto, só há uma árvore

. E também um único item para detalhes, acesse Edit Details

Terrain > Mass Places Trees, essa

(não é possível visualizar o

No painel Project, procure por “water”, aparecerão vários resultados. Selecione o prefab

Nighttime Simple

Com a ferramenta Scale Tool, aumente o tamanhodo objeto e, com a ferramenta Move Tool,

Page 13: Tutorial Unity 3D Básico - Felipe Augusto

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 visível ou não 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 câmera no objeto.

Vê-se que o objeto está cortado pelo terreno e, se dermos play agora, o objeto cairá. Para que

isso não ocorra, vá no painel Inspector e altere a posição sua posição conforme necessário, ou

então mova o objeto com a ferramenta Move até ele estar acima o suficiente do terreno.

Então, 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 também o

, clique no menu GameObject. Tudo que for um objeto dentro do

jogo, seja ele visível ou não 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 não nos utilizaremos

Na Hierarchy selecione o First Person Controller, coloque o mouse sobre o painel Scen

pressione a tecla F para focar a câmera no objeto.

se que o objeto está cortado pelo terreno e, se dermos play agora, o objeto cairá. Para que

isso não ocorra, vá no painel Inspector e altere a posição sua posição conforme necessário, 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 também 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 não 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 não ocorra, vá no painel Inspector e altere a posição sua posição conforme necessário, 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

Page 14: Tutorial Unity 3D Básico - Felipe Augusto

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 não possui um componente Skybox. Adicione um acessando

Component > Rendering > Skybox

Como padrão, o componente Skybox não possui material definido. Escolha no item

Skybox o céu desejado; os que já vem incluso nessa licensa da Unity são:

Criando o labirinto

Criando um muro: Materials

Para criarmos o muro utilizaremos o objeto cubo da própria 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 céu que será

mostrado, conforme definido no componente Skybox.

não possui um componente Skybox. Adicione um acessando

Component > Rendering > Skybox, enquanto a Main Camera está selecionada na Hierarchy.

drão, o componente Skybox não possui material definido. Escolha no item

o céu desejado; os que já vem incluso nessa licensa da Unity são: Blue Sky e

Materials e Prefabs

utilizaremos o objeto cubo da própria Unity. Crie-o ao acessar

GameObject > Create Other > Cube, um cubo deve aparecer na tela, senão aperte a tecla F

Com o objeto Main Camera selecionado, dentro do First Person Controller, note o componente

, corresponde ao céu que será

não possui um componente Skybox. Adicione um acessando

, enquanto a Main Camera está selecionada na Hierarchy.

drão, o componente Skybox não possui material definido. Escolha no item Custom

e Sunset.

o ao acessar

, um cubo deve aparecer na tela, senão aperte a tecla F

Page 15: Tutorial Unity 3D Básico - Felipe Augusto

15 | P a g e

No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar

necessário. 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 opção.

resolução quadrada (256x256, 512x512, etc.).

Escolhida a textura, clique com o botão direito do mouse em cima da pasta

Acesse Import New Asset e escolha o diretório 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 botão direito sobre a pasta.

Material criará um novo arquivo chamado

No Inspector pode-se ver que o novo material não há textura, como padrão. 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 botão esquerdo na aba

No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar

cessário. Entretanto nosso muro possui muito pouco interesse, por isso, adicionaremos

, crie uma pasta chamada Materials e, para melhor organização

, 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 opção. Lembre-se de utilizar somente arquivos de texturas de

resolução quadrada (256x256, 512x512, etc.).

Escolhida a textura, clique com o botão direito do mouse em cima da pasta Muro que criamos.

e escolha o diretório 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 botão direito sobre a pasta.

criará um novo arquivo chamado New Material, o nomeie de “muro”.

se ver que o novo material não há textura, como padrão. 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 botão esquerdo na aba Preview.

No Inspector ou com a ferramenta Scale Tool, altere a escala do objeto conforme achar

cessário. Entretanto nosso muro possui muito pouco interesse, por isso, adicionaremos

, para melhor organização

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 diretório do arquivo desejado, ou simplesmente arraste o

a e pode ser

Na pasta Muro, acesse Create no painel Project ou com o botão direito sobre a pasta. Create >

se ver que o novo material não há textura, como padrão. Arraste o textura

e selecione a textura

Você pode alterar a

Page 16: Tutorial Unity 3D Básico - Felipe Augusto

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 não parece possuir muito volume, e para

consertar isso, adicionaremos um

Importe novamente a mesma textura uti

o, fazendo menção que aquele arquivo é um bumpmap, por exemplo “Bricks_bump”.

Selecionado esse mesmo arquivo, no Inspector ative a opção

botão 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 também

Arraste o material “muro” para o objeto Cube na Hierarchy ou mesmo na Scene. O material

cobrirá todo o objeto. Entretanto, esse material não parece possuir muito volume, e para

consertar isso, adicionaremos um bumpmap.

Importe novamente a mesma textura utilizada na Main Color do material “muro”.

, fazendo menção que aquele arquivo é um bumpmap, por exemplo “Bricks_bump”.

Selecionado esse mesmo arquivo, no Inspector ative a opção 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

também 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 não parece possuir muito volume, e para

material “muro”. Renomeie-

, fazendo menção 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

Page 17: Tutorial Unity 3D Básico - Felipe Augusto

17 | P a g e

De volta para o material “muro”, na opção

item Bumpmap (RGB) aparecerá. Selecione o arquivo de textura convertida para bumpmap

para este item.

Prefabs Utilizaremos mais de um muro no nosso projeto,

texturização, por exemplo, a Unity possui um artifício facilitador, os

arquivo com propriedades e componentes padronizados por aquele que o criou, podendo

existir mais de um simultaneamente na mes

Vamos para a prática.

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 opção 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 não repetir esse processo de

texturização, por exemplo, a Unity possui um artifício 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, configuráveis 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. Após verificado isso, no Project crie uma pasta chamada

Bump Diffuse. O

aparecerá. Selecione o arquivo de textura convertida para bumpmap

e para não repetir esse processo de

. Um prefab é um

arquivo com propriedades e componentes padronizados por aquele que o criou, podendo

ma cena, e ainda, configuráveis 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”,

Após verificado isso, no Project crie uma pasta chamada

Page 18: Tutorial Unity 3D Básico - Felipe Augusto

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” também.

Está pronto o prefab. Qualquer momento que for desejável um novo muro na cena,

simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro será criado

com as mesmas características que o original adicionado ao prefab, inclusive posição.

Pode-se deletar o antigo muro, o objeto “Muro”

armazenadas e poderá ser criada cópias.

Como criaremos vários muros para elaboração 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 posição

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” também.

b. Qualquer momento que for desejável um novo muro na cena,

simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro será criado

com as mesmas características que o original adicionado ao prefab, inclusive posição.

ntigo muro, o objeto “Muro”, o prefab continuará com as informações

armazenadas e poderá ser criada cópias.

Como criaremos vários muros para elaboração de um pequeno labirinto, crie um objeto nulo

na Hierarchy e agrupe todos os muros lá, para melhor organização do projeto. Acesse

para criar o objeto GameObject e o renomeie como “labirinto”.

Crie esse objeto nulo na posição 0, 0, 0 para não haver problemas com posição 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 desejável um novo muro na cena,

simplesmente arraste esse prefab para o painel Scene ou Hierarchy. O novo muro será criado

com as mesmas características que o original adicionado ao prefab, inclusive posição.

, o prefab continuará com as informações

, crie um objeto nulo

zação do projeto. Acesse

e o renomeie como “labirinto”.

para não haver problemas com posição global e local.

o para dentro deste objeto. Eis meu

Page 19: Tutorial Unity 3D Básico - Felipe Augusto

19 | P a g e

Criando a avalanche As pedras cairão das montanhas e, em determinado ponto essas pedras devem parar. Por isso

agora há algumas curvas e posições

subida terminada numa depressão

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

Então aplique o material sobre a esfera (

As pedras cairão das montanhas e, em determinado ponto essas pedras devem parar. Por isso

agora há algumas curvas e posições estratégicas nas montanhas e o caminho inicial é uma

subida terminada numa depressão 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 opção.

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, senão a rocha parecerá afiada demais e queremos

mesma pasta e aplique as duas texturas como feito anteriormente.

Então aplique o material sobre a esfera (Sphere). O resultado deve ser algo assim:

As pedras cairão 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”,

, senão a rocha parecerá afiada demais e queremos

aplique as duas texturas como feito anteriormente.

Page 20: Tutorial Unity 3D Básico - Felipe Augusto

20 | P a g e

Antes de criarmos o prefab, precisamos adicionar física a esta rocha, pois se testarmos o jogo

agora, ela estará flutuando, parada no espaço. 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 dimensões

diferentes.

Interação com o jogador: Nossas rochas caem das montanhas, colidem umas com as outras e com a personagem

não há desafio para o jogador a não 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,

próprias, 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, não é possível visualizá

Scene, então vá para o painel Game.

Antes de criarmos o prefab, precisamos adicionar física a esta rocha, pois se testarmos o jogo

do, parada no espaço. 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 dimensões

Interação com o jogador: GUI e Script

Nossas rochas caem das montanhas, colidem umas com as outras e com a personagem

não há desafio para o jogador a não 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 não 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, não é possível visualizá-lo na câmera do painel

Scene, então vá para o painel Game. No centro da tela terá a barra de vida que importou. No

Antes de criarmos o prefab, precisamos adicionar física 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 dimensões

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 não haja problemas

No painel Project, crie a pasta “GUI” e dentro dela a pasta “Health”. Importe para esta pasta os

GameObject >

lo na câmera do painel

No centro da tela terá a barra de vida que importou. No

Page 21: Tutorial Unity 3D Básico - Felipe Augusto

21 | P a g e

Inspector, altere a posição da barra como desejar.

GUI são diferentes, variando de 0 a 1

Ao dar Play verá que a barra estará lá, estática. No painel Hierarchy, renomeie o objeto para

“vida”. Feito isso, partiremos para o código.

Script A Unity é compatível 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 botão

Inicialmente definiremos as variáveis que farão referência às imagens adicionadas

anteriormente. E então a variável que definirá a vida inicial do jogador:

Então, criaremos a função Update, que a cada novo frame verificará o objeto

a textura conforme retornado.

Inspector, altere a posição da barra como desejar. Os valores no componente Transform para

GUI são diferentes, variando de 0 a 1, e o eixo Z é nulo já que tratamos de um plano.

barra estará lá, estática. No painel Hierarchy, renomeie o objeto para

. Feito isso, partiremos para o código.

A Unity é compatível 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 botão Edit... no Inspector.

Inicialmente definiremos as variáveis que farão referência às imagens adicionadas

riável que definirá a vida inicial do jogador:

Então, criaremos a função 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á, estática. No painel Hierarchy, renomeie o objeto para

. Crie a pasta

Create > JavaScript. Nomeie-o

no Inspector.

Inicialmente definiremos as variáveis que farão referência às imagens adicionadas

vida” e alterará

Page 22: Tutorial Unity 3D Básico - Felipe Augusto

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 variável definida no script.

o para o First Person Controller na Hierarchy, ou para o Inspector

corretas para cada variável definida no script.

Page 23: Tutorial Unity 3D Básico - Felipe Augusto

23 | P a g e

Se dermos Play no jogo agora, nada acontecerá com a barra de vida pois,

personagem colida com a rocha, não há um script que subtraia a vida

um novo java script chamado “Colisao

Utilizaremos uma função 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 opção

nesta licensa da Unity.

Criaremos nossa própria 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, não há um script que subtraia a vida. Então o faremos. Crie

Colisao”.

Utilizaremos uma função já existente na Unity, OnCollisionEnter, que verifica colisões 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 opção Tag, com diversas opções já

Criaremos nossa própria tag. Clique em Add Tag... e nomeie o Element 0 “pedra”.

mesmo que o

. Então o faremos. Crie

colisões entre

“pedra”, e se isso for verdade, reduzirá a

, selecione o prefab “pedra” criado anteriormente.

, com diversas opções já inclusas

Page 24: Tutorial Unity 3D Básico - Felipe Augusto

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.

Após 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 invés de verificar a colisão 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 verificação se faz correta. Isso pode ser vista na linha

Assim, com o prefab “pedra” selecionado, selecione a tag “pedra” no Inspector. Essa alteração

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 chão.

Primeiramente, criaremos a pasta “Audio” no painel Project e importaremos o arquivo “

Após importado o arquivo, arraste-o para o prefab “pedra”, e apenas destive a opção

Precisaremos de um script para verificar a colisão da pedra com o chão todo hora. Crie, na

pasta script, o novo java script “Pedra”.

Esse script funcionará como o anterior, exceto que ao invés de verificar a colisão com o objeto com a tag “pedra”, verificará com a tag “chao” que criaremos. Também, esse código não diminui a vida do jogador, ele inicia o som contido no objeto quando a verificação se faz correta. Isso pode ser vista na linha audio.Play();.

Essa alteração

para o First Person Controller e adicione a tag “Player” e ele.

tocar o chão.

Primeiramente, criaremos a pasta “Audio” no painel Project e importaremos o arquivo “boom”

a opção Play on

a colisão da pedra com o chão todo hora. Crie, na

Esse script funcionará como o anterior, exceto que ao invés de verificar a colisão com o objeto Também, esse código não

diminui a vida do jogador, ele inicia o som contido no objeto quando a verificação se faz

Page 25: Tutorial Unity 3D Básico - Felipe Augusto

25 | P a g e

Crie então a tag “chao” e selecione

Partículas Para criar a fumaça do vulcão usaremos o sistema de partículas da Unity. Acesse GameObject >

Create Other > Particle System para criar o objeto

“Fumaça”, por exemplo, e o posicione pouco dentro do vulcão. Possivelmente tan

quanto as partículas estarão pequenas demais para o tamanho do vulcão

No componente Particle Animator

desejado. Isso fará com que as partículas recebam uma força no eixo designado.

No componente Ellipsoid Particle Emitter

alterar o tamanho de cada partícula, e, mais abaixo, no item

e Z para alterar o tamanho da elipse formada pela animação.

Aumente os valores dos itens

partículas podem alcançar. Aumente também os valores dos itens

Emission para incrementar a emissão de partículas.

Crie então a tag “chao” e selecione-a no Inspector do objeto Terrain.

Para criar a fumaça do vulcão usaremos o sistema de partículas da Unity. Acesse GameObject >

Create Other > Particle System para criar o objeto Particle System na cena.

osicione pouco dentro do vulcão. Possivelmente tan

quanto as partículas estarão pequenas demais para o tamanho do vulcão.

Particle Animator, dentro do item Force, aumente o valor de Y para o valor

desejado. Isso fará com que as partículas recebam uma força no eixo designado.

Ellipsoid Particle Emitter aumente o valor dos itens Min Size e Max Size

alterar o tamanho de cada partícula, e, mais abaixo, no item Ellipsoid, aumente o valor de

para alterar o tamanho da elipse formada pela animação.

alores dos itens Min Energy e Max Energy para alterar a distância que as

partículas podem alcançar. Aumente também os valores dos itens Min Emission

para incrementar a emissão de partículas.

Para criar a fumaça do vulcão usaremos o sistema de partículas da Unity. Acesse GameObject >

na cena. Nomeie-o

osicione pouco dentro do vulcão. Possivelmente tanto o objeto

para o valor

Max Size para

, aumente o valor de X, Y

para alterar a distância que as

Min Emission e Max

Page 26: Tutorial Unity 3D Básico - Felipe Augusto

26 | P a g e

De volta para o componente Particle Animator,

emanam uma fumaça branca ou acizentada. Altere a opacidade para que haja melhor

aparência na mudança de cores.

Por último, no componente Particle Renderer

Particles para a opção Stretched

esférico.

De volta para o componente Particle Animator, escolha as cores desejas. Vulcões geralmente

emanam uma fumaça branca ou acizentada. Altere a opacidade para que haja melhor

aparência na mudança de cores.

Particle Renderer, altere a opção Billboard no item

Stretched, para esticar as partículas ao invés de deixá-las no formato

escolha as cores desejas. Vulcões geralmente

emanam uma fumaça branca ou acizentada. Altere a opacidade para que haja melhor

no item Stretch

las no formato

Page 27: Tutorial Unity 3D Básico - Felipe Augusto

27 | P a g e

Fogueira Para fazer a fogueira, importaremos um pacote da Unity, utilizaremos novamente partículas

para produzir o fogo e o animaremos, programaremos um script

colocaremos áudio, assim como nas rochas.

Importando unitypackages No painel Project, clique com o botão direito e escolha a opção

diretório no qual está o pacote “fogueira”, que veio junto a este tut

todos os arquivos contido nesse pacote.

Após carregado o pacote, você poderá ver as texturas, malhas e materias dos arquivos

carregados, além do áudio e de um prefab.

necessário. Assim feito, está importado o unitypackage.

Fogo Criaremos agora o fogo. Crie um sistema de partículas

entretanto as cores para vermelho, laranja

último, cinza para a fumaça.

Para fazer a fogueira, importaremos um pacote da Unity, utilizaremos novamente partículas

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 botão direito e escolha a opção Import Package. Selecione o

diretório no qual está o pacote “fogueira”, que veio junto a este tutorial. A Unity importará

todos os arquivos contido nesse pacote.

Após carregado o pacote, você poderá ver as texturas, malhas e materias dos arquivos

carregados, além 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 partículas 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 partículas

para acender a fogueira, e

. Selecione o

A Unity importará

Após 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

Page 28: Tutorial Unity 3D Básico - Felipe Augusto

28 | P a g e

Selecione também a opção Stretched em Stretch Particles no componente Particle Renderer.

Note que desabilitei a opção

necessário para animação. Essa opção habilita ou desabilita a

deixaremos desabilitada por enquanto

Nomeie esse sistema de partículas “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 também a opção Stretched em Stretch Particles no componente Particle Renderer.

Note que desabilitei a opção Emit no componente Ellipsoid Particle Emitter, pois será

Essa opção habilita ou desabilita a emissão de partículas

enquanto.

Nomeie esse sistema de partículas “fogo”. Com ele selecionado acesse no menu superior

Component > Physics > Box Collider para adicionar colisão, na forma de um cubo.

que fique menor que a fogueira, como na imagem:

Selecione também a opção Stretched em Stretch Particles no componente Particle Renderer.

e Ellipsoid Particle Emitter, pois será

emissão de partículas e a

Nomeie esse sistema de partículas “fogo”. Com ele selecionado acesse no menu superior

para adicionar colisão, na forma de um cubo. Altere a

Page 29: Tutorial Unity 3D Básico - Felipe Augusto

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 opção Loop pois queremos que o som repita e mudhaverá som se o jogador não acender a fogueira.

Animação No painel Project, crie a pasta “Animations”. Com o sistema de partícula

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 não haverá som se o jogador não acender a fogueira.

No painel Project, crie a pasta “Animations”. Com o sistema de partícula fogo selecionado,

Nessa nova pasta, crie uma nova animação em Create New Clip

” no painel Project

para 0, pois não

selecionado,

Create New Clip, na

Page 30: Tutorial Unity 3D Básico - Felipe Augusto

30 | P a g e

barra logo acima da hierarquia desse painel, ou simplesmente crie pelo painel Project, como as

vezes anteriores. Nomeie esta animação “Fogo”.

Na hierarquia do painel Animation

deste, o item Emit. Clique no botão

inicialmente 0.

Clique no botão em frente a esse número e escolha a opção

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 animação “Fogo”.

do painel Animation encontre o componente Ellipsoid Particle Emitter e, dentr

Clique no botão Record e verá o valor relativo a este item, que

Clique no botão em frente a esse número e escolha a opção 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

Page 31: Tutorial Unity 3D Básico - Felipe Augusto

31 | P a g e

Por fim, precisamos definir o tipo de animação. Na barra abaixo da hierarquia desse painel há

opções de tipo de animações:

• Once: a animação será iniciada e finalizada uma só vez, toda vez que ativada.

apropriada mas encontraríamos problemas para nosso futuro código.

• Loop: a animação é repetidade infinitamente.

• Clamp Forever: após finalizada, a animação não será repetida e nem poderá ser

ativada novamente.

• Ping Pong: a animação vai e volta, realme

assistir um filme e depois assistí

A opção que selecionaremos será

quando o personagem colidir com a fogueira, a a

0 toda vez que ele colidisse.

Finalizada esta parte, partamos para o código.

Script Como dito, o script reconhecerá o momento em que o personagem colidir com o cubo de

colisão que adicionamos ao sistema de part

código é parecido com o anteriormente feito “

java script chamado “Acender”.

precisamos definir o tipo de animação. Na barra abaixo da hierarquia desse painel há

: a animação será iniciada e finalizada uma só vez, toda vez que ativada.

apropriada mas encontraríamos problemas para nosso futuro código.

a animação é repetidade infinitamente.

após finalizada, a animação não será repetida e nem poderá ser

a animação vai e volta, realmente como uma bola de ping-pong, ou como

assistir um filme e depois assistí-lo de trás para frente e assim infinitamente.

será Clamp Forever, pois o script que criaremos fará com que

quando o personagem colidir com a fogueira, a animação comece, isso faria voltar o volume a

Finalizada esta parte, partamos para o código.

Como dito, o script reconhecerá o momento em que o personagem colidir com o cubo de

colisão que adicionamos ao sistema de partículas “fogo”, e que a animação iniciaria daí. O

o anteriormente feito “Colisao”, com diferenças básicas. Crie um novo

precisamos definir o tipo de animação. Na barra abaixo da hierarquia desse painel há

: a animação será iniciada e finalizada uma só vez, toda vez que ativada. Parece

após finalizada, a animação não será repetida e nem poderá ser

pong, ou como

lo de trás para frente e assim infinitamente.

, pois o script que criaremos fará com que

nimação 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 animação iniciaria daí. O

Crie um novo

Page 32: Tutorial Unity 3D Básico - Felipe Augusto

32 | P a g e

A função verifica o momento da colisão e se a tag do objeto

animação “Fogo” do objeto colidido.

Crie a tag “fogo” e a associe o sistema de partícula de mesmo nome, e o código 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 câmera

painel Project, na pasta Standard Assets > Fonts

versão da Unity, Courier. Com essa fonte selecionada a

Text para criar um novo objeto de texto

altere seu texto para “Play Game” e, também, o nomeie “Play”.

A fonte pode parecer um pouco desfocada, pa

Size no Inspector da fonte em questão.

Adicione um Box Collider nesse objeto ao acessar

Após realizada as alterações desejadas, duplique esse objeto “Play”

abaixo e mude o texto e seu nome para “Quit”, para criarmos o botão de saída do jogo.

isso, precisaremos de um script.

A função verifica o momento da colisão e se a tag do objeto é “fogo”. Caso for, el

animação “Fogo” do objeto colidido.

Crie a tag “fogo” e a associe o sistema de partícula de mesmo nome, e o código 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 câmera (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, também, o nomeie “Play”.

A fonte pode parecer um pouco desfocada, para corrigir isso, aumente o valor do item

no Inspector da fonte em questão.

nesse objeto ao acessar Component > Physiscs > Box Collider

Após realizada as alterações desejadas, duplique esse objeto “Play”, coloque-o um pouco mais

e mude o texto e seu nome para “Quit”, para criarmos o botão de saída do jogo.

é “fogo”. Caso for, ela inicia a

Crie a tag “fogo” e a associe o sistema de partícula de mesmo nome, e o código 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 botão de saída do jogo. Para

Page 33: Tutorial Unity 3D Básico - Felipe Augusto

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 variável que definirá ou não se o botão é o botão de

saída.

Na imagem acima, a função OnMouseEnter

botão, a cor da fonte seja alterada para preto. A função abaixo,

cor retorne para branco quando o mouse não esteja em acima do botão.

A função na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,

dependendo do botão 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 variável que definirá ou não se o botão é o botão de

OnMouseEnter faz com que quando o mouse esteja em cima do

botão, a cor da fonte seja alterada para preto. A função abaixo, OnMouseExit, faz com que a

cor retorne para branco quando o mouse não esteja em acima do botão.

A função na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,

dependendo do botão 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 variável que definirá ou não se o botão é o botão de

em cima do

, faz com que a

A função na imagem abaixo encaminha o jogador para o jogo ou para fora do programa,

Page 34: Tutorial Unity 3D Básico - Felipe Augusto

34 | P a g e

A linha Application.LoadLevel(1)

Settings, acessável no menu File > Build Settings

As cenas devem estar listadas aí, caso uma ou mais não esteja, pode

atualmente na Unity clicando no botão

O número em frente ao diretório e nome da cena é o número de referência à ela, como no

código que acabamos de escrever. Caso a cena que chamei de “quest” não esteja numerada 1,

altere a order arrastando as cenas

Por fim, lembre-se de ativar a opção “Botao Quit” que definimos no Inspector do objeto

“Quit”. Podemos adicionar luzes e outros detalhes, como preferir.

Application.LoadLevel(1) carrega o nível 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 não esteja, pode-se adicionar a cena aberta

atualmente na Unity clicando no botão Add Current.

O número em frente ao diretório e nome da cena é o número de referência à ela, como no

escrever. Caso a cena que chamei de “quest” não esteja numerada 1,

as cenas ou simplesmente altere o número no código.

se de ativar a opção “Botao Quit” que definimos no Inspector do objeto

nar luzes e outros detalhes, como preferir.

carrega o nível 1 do jogo, que pode ser definido na Build

se adicionar a cena aberta

O número em frente ao diretório e nome da cena é o número de referência à ela, como no

escrever. Caso a cena que chamei de “quest” não esteja numerada 1,

se de ativar a opção “Botao Quit” que definimos no Inspector do objeto

Page 35: Tutorial Unity 3D Básico - Felipe Augusto

35 | P a g e

Por hora o botão “Quit” não 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 imersão, adicionar som das ondas, alguns insetos na pequena floresta de

coqueiros ali.

Os arquivos crickets, gulls_and_waves

e pássaros do litoral, e um leve tremor de terra, caso queira adicionar logo no

avalanche. Deixe a opção Loop ativada para os arquivos de som crickets e gulls_and_waves.

Após importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o

painel Hierarchy que estarão inclusos no jogo. Posicion

distância do som faz diferença para a experiência.

Podemos também colocar cubos nas extremidades do mapa para que o jogador não caia.

Entretanto esses cubos não podem ser vistos, então simplesmente desabilite ou remova

componente Mesh Renderer do cubo.

“Parede Invisivel”.

Exportando o jogo Com o jogo finalizado, agora veremos algumas propriedades de exportação e como exportar o

jogo. No menu Edit > Project Settings >

pré-definidas pela Unity. Entretanto cada uma dessas opções pode ser editada logo abaixo, no

Inspector.

Por hora o botão “Quit” não 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, são respectivamente sons de insetos, ondas

e pássaros do litoral, e um leve tremor de terra, caso queira adicionar logo no início do jogo, na

Deixe a opção Loop ativada para os arquivos de som crickets e gulls_and_waves.

Após importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o

painel Hierarchy que estarão inclusos no jogo. Posicione-os de forma coerente, pois no 3D a

distância do som faz diferença para a experiência.

Podemos também colocar cubos nas extremidades do mapa para que o jogador não caia.

Entretanto esses cubos não podem ser vistos, então simplesmente desabilite ou remova

do cubo. Para facilitar ainda mais, faça um prefab chamado

Com o jogo finalizado, agora veremos algumas propriedades de exportação e como exportar o

Edit > Project Settings > Quality pode-se alterar a qualidade entre as opções

definidas pela Unity. Entretanto cada uma dessas opções pode ser editada logo abaixo, no

Por hora o botão “Quit” não 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

início do jogo, na

Deixe a opção Loop ativada para os arquivos de som crickets e gulls_and_waves.

Após importados, preferencialmente para a pasta Audio, basta arrastar esses arquivos para o

os de forma coerente, pois no 3D a

Podemos também colocar cubos nas extremidades do mapa para que o jogador não caia.

Entretanto esses cubos não podem ser vistos, então simplesmente desabilite ou remova o

Para facilitar ainda mais, faça um prefab chamado

Com o jogo finalizado, agora veremos algumas propriedades de exportação e como exportar o

se alterar a qualidade entre as opções

definidas pela Unity. Entretanto cada uma dessas opções pode ser editada logo abaixo, no

Page 36: Tutorial Unity 3D Básico - Felipe Augusto

36 | P a g e

Em Edit > Project Settings > Player

da empresa e do jogo, tornar o modo tela

Em Build Settings há algumas opções de plataforma para exportação do jogo. Selecione a

opção desejada, por exemplo Windows Standalone

clique no botão Build.

Escolha o diretório que deseja salvar o jogo e seu nome; para jogá

executável.

Edit > Project Settings > Player pode-se alterar algumas outras configurações como o nome

presa e do jogo, tornar o modo tela-cheia padrão, ícone do jogo, entre outros

Em Build Settings há algumas opções de plataforma para exportação do jogo. Selecione a

Windows Standalone caso use alguma versão do Windows, e

Escolha o diretório que deseja salvar o jogo e seu nome; para jogá-lo basta clicar no arquivo

s outras configurações como o nome

ícone do jogo, entre outros.

Em Build Settings há algumas opções de plataforma para exportação do jogo. Selecione a

caso use alguma versão do Windows, e

lo basta clicar no arquivo

Page 37: Tutorial Unity 3D Básico - Felipe Augusto

37 | P a g e

Referências Bibliográficas

GOLDSTONE, Will. Unity Game Development Essentials. Birmingham, Packt Publishing Ltd.,

2009.

TornadoTwins: http://www.youtube.com/user/tornadotwins

http://tornadotwins.com/