Tutorial Unity 3D Básico - Felipe Augusto

of 37 /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

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/