terça-feira, 10 de agosto de 2010

021 - Space invaders (6): Hora de adestrar aliens parte 2

Certo, galera. Temos enfim os scripts que farão os aliens se moverem. Agora precisamos posiciona - los no cenário de forma a determinar as suas trajetórias e ações. Faremos um passo a passo disso.

Até este ponto usamos as formas que o próprio Unity nos oferecia, ou seja, cubos. Para criar os modelos que realmente serão usados no jogo, precisaremos de ferramentas de modelagem adicionais, afinal o Unity não é uma boa pedida para modelagem. Nesse caso, sugiro para vocês o SketchUp. Maiores informações sobre ela podem ser encontradas no blog de Anderson Sampaio.

Existem outras ferramentas além dessa. Tô sugerindo essa pois boa parte da modelagem foi feita nela.

Vamos começar a treinar os aliens para não fazerem feio na hora do jogo.

1) Se lembra do terreno que pedi no inicio do tutorial? Será nele que colocaremos os aliens da espera, ou seja, aqueles que você não vê enquanto joga.



2) Vamos criar a área onde todo o jogo se desenvolverá - onde a nave do protagonista vai ficar e por onde os aliens irão passar.
GameObject >> Create Other >> Plane



3) Ajuste as dimensões do plano (Inspector >> Transform >> Scale)
X = 200
Y = 100
Z = 150
O Eixo y não influencia muito no plano.



4) Agora é hora de acionar o SketchUp. Aqui nós vamos usar o formato .FBX. Vá no menu Assets >> Import New Asset.



5) Selecione o .fbx do seu modelo de alien e clique em Import.



6) O arquivo importado aparecerá como novo objeto na guia Project.



7) Jogue esse novo objeto no cenário e edite as suas dimensões.
X = 400
Y = 400
Z = 400



8) Se você criar um modelo monocromático, como esse do primeiro alien, você pode alterar a textura do modelo pelo próprio Unity. Crie um novo material (Assets >> Create >> Material)



9) Nomeie "Cor Alien 1"

10) Clique no modelo do alien que está no cenário.

11) Na guia Hierarchy, perceba que esse modelo está dividido em partes. Vamos editar cada parte com o nome "Mesh"



12) Clique em um dos "Mesh" de seu alien.

13) Vá em Inspector >> Mesh Renderer >> Element

14) Mude para "Cor Alien 1"





15) Faça isso para todas as Mesh que tiver no alien.



16) Converta esse alien em um prefab. Só relembrando como se converte algo em prefab:
Assets >> Create >> Prefab
Nesse momento o ícone do prefab está cinza
Nomeie o prefab com F2
Arraste o objeto da guia Hierarchy para dentro do icone do prefab criado
Agora temos o ícone azul.

Nesse caso, nomeie - o de "Alien_Direita"

17) Delete o alien atual (que está na guia Hierarchy) e substitua - o pelo prefab.

18) Aplique nele o script "Move_alien_direita" que criamos no post anterior. Cuidado para não aplicar em alguma parte do prefab. O script deve ser aplicado em "Alien_direita".
Isso fará com que você perca o prefab temporariamente.



19) Clique em Apply



20) Copie e cole mais 4 desses aliens, posicionando - os em diagonal. Procure usar as setas para posiciona - los no mesmo plano. (As coloridas que aparecem na tela, não as do teclado!!!)



21) Edite cada alien separadamente conforme a figura abaixo:



22) Salve e teste. Ctrl+S e Ctrl+P
Perceba que os aliens se movem para a direita, mas não caem. Eles flutuam no ar.

Isso acontece porque eles não são corpos rígidos - corpos com massa - e acabam não sofrendo influência da gravidade local e de outras forças externas.

23) Selecione um dos aliens.
Component >> Physics >> Rigidbody
De novo perderemos o prefab tempoariamente. Novamente, Apply
Isso aplicará "Rigidbody" aos 4 aliens restantes.



24) Salve e teste.
Agora os aliens sofrem ação da gravidade, mas acabam atravessando o plano.

Isso ocorre porque eles não possuem superficie de contato. São "fantasmas" na verdade.

25) Selecione um dos aliens
Component >> Physics >> Box Collider



26) Ajuste a posição e as dimensões do Box Collider
Sugiro como na figura abaixo



27) Apply!

28) Salve e teste.
Agora os aliens deslizam pelo plano e caem logo em seguida.
Se estiverem muito próximos, poderão até bater uns nos outros, desviando a sua trajetória. Procure posiciona - los de forma que isso não aconteça.

Siga esses mesmos passos para criar outros aliens, para que você possa aplicar os outros 5 scripts restantes.

Dicas:

  1. Nomeie cada alien dessa forma: "Alien_[nome do script]"
  2. Dê para cada alien uma cor diferente (caso ele seja monocromático, ou seja, as cores de cada parte não tenham sido editadas préviamente no SketchUp)
  3. Na hora de ajustar os Tstart dos novos aliens, procure colocar o mesmo intervalo entre eles (1 >> 1,5 >> 2 >> 2,5 >> 3 >> 3,5)
  4. Se houver um alien com outro script de movimento, coloque um intervalo maior entre os Tstart. (EX.: Entre o último "Alien_direita" e o primeiro "Alien_esquerda". Coloque Tstart = 3 para "Alien_direita" e Tstart = 4 para "Alien_esquerda").
A seguir, vamos aprender a fazer os aliens atirarem.

Nenhum comentário:

Postar um comentário