3D Game Kit

Fala galera, blz? Para quem curtiu o assets 2D Game Kit a Unity disponibilizou recentemente o assets 3D Game Kit onde podemos utilizar vários recursos para criação de jogos em 3D sem muita programação e é claro utilizando a famosa personagem Ellen do game kit 2D.

Introdução

Depois da instalação do asset, vamos criar uma nova cena.

Criando uma nova cena

Uma nova cena padrão do asset, já contém o terreno e um personagem para movimentação (Ellen), com os movimentos de atacar, correr e pular.

  • Vá para Kit Tools > Create New Scene.
  • Em New Scene Name, insira um nome para sua cena.
  • Clique em Create

Pronto, sua nova cena está criada, você pode notar como foi dito anteriormente que a cena vai possuir um terreno, Ellen, alguns menus e uma interface do usuário.

  • Agora no topo do editor vamos clicar em Play.

Os controles para Ellen são os seguintes:

Adicionando uma Plataforma Móvel

Agora que já sabemos criar uma cena nova, vamos começar a dar vida para ela, vamos adicionar uma plataforma móvel para interagir com nossa personagem.

  • Navegue até Project Window
  • Vá para Assets > 3DGameKit > Prefabs > Interactables
  • Clique com o botão esquerdo e arraste o MovingPlatform para a Scene View
  • Use as Transform Tools para converter, girar e dimensionar a plataforma onde quiser.
  • Localize a ferranenta End Point na MovingPlatform na Scene View
  • Navegue ate o Inspector
  • No componente Simple Translator
  • Use o controle deslizante Preview Position para ver onde a Plataforma irá
  • No componente Simple Translator, marque a caixinha Activate
  • Agora aperte Play

Perceba que sua MovingPlatform vai subir e vai parar quando chegar ao topo do caminho que você definiu.

Agora vamos fazer esse movimento para frente e para trás, com o MovingPlatfrom selecionado:

  • Navegue até o Inspector
  • No Simple Translator Script
  • Definir o Loop Type para Ping Pong
  • Novamente aperte o Play

Agora note que o MovingPlatform irá para o topo e voltará para baixo novamente. O MovingPlatfrom irá para qualquer posição que você definir como o ponto final.

Executado um comando para abrir uma porta

No 3D Gamet Kit, os comandos do jogo enviam um sinal para outros objetos no Unity dizendo-lhes para executar uma ação.

Vamos usar um objeto chamado Pressure Pad para acionar uma porta. Para isso vamos adicionar uma porta à cena:

  • Na Project Window, vá para Prefabs > Interactables
  • Encontre o DoorSmal e arraste-o para a Scene View
  • Posicione DoorSmal utilizando Transform Tools onde voce quiser.

Dica: Caso os Gizmos (os eixos de posição do objeto) esteja atrapalhando na hora de mover o objeto, é possivel deixar somente os gizmos do Transform Tools, para isso basta:

  • Selecionar o DoorSmal na hierarquia, navegue até o Inspetor.
  • Clique na seta do lado esquerdo do componente Simple Translator para recolhê-lo.

Nesse ponto somente o gizmo do Transform ficará visível.

Vamos adicionar agora o Pressure Pad:

  • Na Project Window, vá para Prefabs > Interactables
  • Encontre o PressurePad, clique e arraste-o para a Scene View
  • Use as Transform Tools e coloque-o perto da porta

Agora vamos conectar o PressurePad e o DoorSmall para que a porta se abra quando nossa personagem (Ellen) pisar nele.

  • Na Hierarquia clique no PressurePad para selecioná-lo
  • Na hierarquia , clique e arraste DoorSmall para o slot Interactive Object no componente Send on Trigger Enter no PressurePad

Feito isso na Scene View, devera haver uma linha branca com setas mostrando uma conexão do PressurePad para o DoorSmall.

  • Vamos da Play

Note que o Pressure Pad acenderá, e quando nosso personagem (Ellen) pisar nele, ele vai afundar e fará a porta abrir.

Trabalhando com Inimigos

O game kit possui três inimigos por padrão. Eles podem ser localizados indo na janela Project Window localize a pasta Prefabs > Characters > Enemies. Os inimigos são Chomper é um inimigo corpo-a-corpo próximo, Spitter é um inimigo projétil de longo alcance ambos ja foram vistos no Game Kit 2D e a grande novidade é o Granadeiro um inimigo do tipo chefe com padrões de ataque específicos, uma mistura de projétil, corpo a corpo e defesa contra explosão de escudo.

Vamos colocar um Chomper na cena para lutar contra Ellen:

  • Em Projeto Windows, vá para Prefabs > Characters > Enemies > Chomper.
  • Arraste o Chomper para a Scene View.
  • Use as Transform Tools para posicionar Chomper onde você quiser.

Um grande semi-círculo azul escuro aparecerá na frente de Chomper, este é o seu Detection Radius. Quando Ellen entrar nessa área, ele irá persegui-la e atacá-la.

Então vamos reduzir a área em que ele pode ver, para isso, com o Chomper selecionado na aba Hierarchy.

  • No Inspector, navegue até o componente Chomper Behaviour
  • Expanda Player Scanner clicando na seta ao lado dele
  • Em Detection Radius, vamos definir o valor para 3

Vamos também fazer com que o Chomper só possa ver de frente, para isso:

  • Deslize o controle deslizante do Detection Angle para 180

Agora Chomper só consegue ver o que está à sua frente e a uma distância muito mais próxima.

Dica: Para remover este Gizmo da Scene View, basta reduzir o Chomper Behaviour.

  • Pressione Play e corra perto do Chomper

Perceba que o Chomper detectará Ellen, mas só funcionará no local. Precisamos dizer ao Chomper onde ele pode se mover no chão, para isso vamos adicionar uma NavMesh Surface.

  • Na Hierarchy clique no Plane
  • No Inspector, vá para Add Component
  • Pesquise por NavMeshSurface
  • Pressione Enter no teclado ou clique no script para adicionar o componente ao Plane
  • Navegue para o componente de Nav Mesh Surface
  • Defina o Agent Type para Chomper (isso é usado para todos os tipos de inimigos)
  • Defina Include Layers para nada
  • Agora em Include Layers, selecione Environment
  • Em Include Layers, selecione Vegetation
  • Na parte inferior do componente Nav Mesh Surface, clique em Bake

Uma superfície azul clara aparecerá na parte superior da plataforma móvel. Isso diz a qualquer inimigo que você colocar na cena, onde eles podem andar.

  • Pressione Play e corra na frente do Chomper

Chomper agora vai correr atrás de você e lhe atacar!

  • Use o botão esquerdo do mouse Clique para atacar com sua arma!

O Chomper vai morrer depois de um hit. Para aumentar isso:

  • Va na Hierarchy, selecione Chomper
  • No Inspector, navegue até o componente Damageable
  • Aumente o Max Hit Points para quantos hits você quiser que o Chomper receba antes que ele morra. A arma de Ellen tira 1 ponto de vida por hit

Danos com objetos

Podemos infligir danos em objetos que possuam componente Damageable usando o Contact Damager.

Podemos demonstrar isso utilizando uma caixa e o nosso inimigo Chomper, para isso vamos:

  • Na Project Window, vá para Prefabs > Interactables
  • Encontre o Prefab DestructibleBox e clique e arraste-o para a Scene View
  • Use a Translate Tool para posicionar a caixa acima do Chomper
  • Coloque no alto para que você tenha tempo de visualizá-lo nos testes
  • Aperte Play

A caixa vai cair e pousar no nosso inimigo Chomper e ficar lá, nada vai acontecer.

Nota: Não fique muito perto de Chomper ou ele irá atrás de Ellen. Você pode sempre reduzir seu Raio de Detecção para 0, se desejar.

Precisamos que a caixa cause dano quando ela atingir o Chomper.

  • Va na Hierarchy, clique na seta ao lado de DestructibleBox para expor seus filhos
  • Selecione o filho DestructibleBox
  • Navegue até o Inspector
  • Role até a parte inferior do Inspetor e clique em Add Component.
  • Pesquise por Box Collider
  • Pressione Enter no seu teclado ou clique no componente Box Collider para adicioná-lo ao DestructibleBox
  • No componente Collider Box marque a caixa Is Trigger
  • Clique em Add Component
  • Pesquise por Contact Damager
  • Pressione Enter no seu teclado ou clique no Contact Damager Script para adicioná-lo como um componente
  • No componente do Contact Damager, defina o valor para 3

Observe que o valor de dano precisa ser igual aos Max Hit Points que você definiu para o Chomper para que ele receba o valor total do dano. Nós mudamos para 3 no nosso projeto, certifique-se de verificar os Max Hit Points no componente Damageable do Chomper

  • Defina Damaged Layers para o Enemy
  • Pressione Play

A caixa vai parar no Chomper, fazendo com que ele perca toda vida, entrará em estado de ragdoll e a caixa irá dar um salto. A caixa causou dano suficiente para matar o Chomper, mas o efeito não ficou muito bom. Podemos fazer com que a caixa quebre quando chegar ao Chomper. Ele já tem um Contact Damager, então vamos adaptá-lo para afetar a caixa.

  • Na Hierarchy
  • Encontre o Chomper e selecione-o
  • Navegue até o Inspector
  • Role até a parte inferior do Inspector
  • Clique em Add Component e procure por Contact Damager
  • Pressione Enter no teclado ou clique no script para adicioná-lo ao Chomper
  • No componente do Contact Damager
  • Defina o valor para 1
  • E em Damaged Layer selecione Enemy
  • Pressione Play

A caixa vai cair no Chomper, quebrando com o impacto e fazendo o Chomper perder toda sua vida.

Decorando o Ambiente

Seguindo a mesma linha do Game Kit 2D, o nosso kit também nos disponibiliza toda estrutura para decorar o ambiente do nosso jogo. Podendo ser encontrada em Prefabs > Environment > [….]

Eles são divididos em pastas de diferentes tipos. Percorra as pastas e comece a construir sua cena.

Que mundo você pode criar?

Dica: Você precisará reabastecer o NavMesh para que seus inimigos saibam que as novas superfícies adicionadas são acessíveis ou que precisam evitadas.

  • Na Hierarchy, selecione o Plane
  • Navegue até o Inspector
  • Na superfície NavMesh, clique em Bake

Rochas e Vegetação

Para enfeitar ainda mais a sua cena, o kit disponibiliza um Pintor de Pedra e um Pintor de Vegetação. Essas ferramentas permitem que você coloque vegetação e rochas com tamanhos e rotações variados, mantendo-os alinhados com a superfície em que você está pintando.

Para usar essas ferramentas:

  • Vá na Hierarchy, localize VegetationPainter
  • Clique na seta para baixo para expandir seus filhos
  • Clique no GroundCover
  • Passe o mouse sobre o chão na Scene View
  • Clique com o botão esquerdo para colocar algumas plantas onde você quiser.

Você pode alterar o tipo de objeto sendo colocado para isso:

  • Navegue até o Inspector
  • No componente Instance Painter, há fotos de cada prefab no pintor.
  • Clique na caixa branca destacada para selecionar aquele Prefab para pintar.
  • O Prefab selecionado será cinza

Os controles para o pintor podem ser encontrados na parte superior do componente do Instance Painter, veja alguns controles para que você possa começar:

Clique esquerdo = Pintar

Ctrl (Cmd) + Clique esquerdo = Excluir

Alt + Scroll = Aumentar tamanho do pincel

Espaço = Randomize posições e rotação

Qualquer objeto que você pintar será armazenado como um filho do pai. Por exemplo:

  • Navegue até a Hierarchy
  • Expanda o GroundCover

Todos os objetos desse tipo da tinta serão armazenados aqui como um filho. Você também pode clicar neles para editá-los e colocá-los individualmente.

O processo é o mesmo para pintar VegetationSmall , VegetationMedium e VegetationLarge

Pintar pedras é feito da mesma maneira:

  • Vá na Hierarchy, encontre o RockPainter
  • Clique na seta para expandir seus filhos
  • Clique em RocksSmall
  • Passe o mouse sobre a área desejada e clique para colocar as pedras.

Teleportando o Jogador

Com o kit você pode teletransportar Ellen para outros níveis ou para lugares diferentes em sua cena.

Primeiramente vamos criar um Teleporter dentro de uma cena:

  • Na Project Window, vá para Prefabs > Environment > Structures
  • Encontre GateWayHugeTeleporter

Como o nome já diz, este Gateway é muito grande:

  • Use a Scale Tool e Translate Tools para posicioná-la e dimensioná-la para o tamanho de Ellen
  • Na Hierarchy, expanda GatewayHugeTeleporter para expor seus filhos
  • Selecione TeleportPlane
  • Navegue até o Inspector
  • Clique em Add Component
  • Pesquisar por BoxCollider
  • Pressione Enter no seu teclado ou clique no BoxCollider para adicionar o component to TeleportPlane
  • No componente de Box Collider marque a caixinha Is Trigger
  • Clique em Add Component
  • Pesquisar Teleporter
  • Pressione Enter no teclado ou clique no Script Teleporter para adicioná-lo ao TeleportPlane
  • No componente Teleporter
  • Alterar a Layer para o Player
  • Na Hierarchy, localize os Checkpoints
  • Clique na seta ao lado de Checkpoint para expandir seus filhos
  • Com o TeleporterPlane selecionado na Hierarchy
  • Arraste o Checkpoint (O filho) para o campo Destination Transform do componente Teleporter
  • Na Hiearchy, encontre e expanda Ellen para revelar seus filhos
  • Encontre RespawnParticles
  • Com GateWayHugeTeleporter selecionado na Hierarchy
  • Arraste RespawnParticles para o Enter Effect no Teleporter
  • Arraste RespawnParticles para o Exit Effect no Teleporter
  • Aperte Play e vá em direção ao teleportador

Ao andar pelo teleportador, Ellen será teletransportada para o local onde inicialmente aparece e partículas azuis a cercarão.

Por fim, a maioria dos objetos dentro do Kit é reproduzida com o sistema Eventos, visto na configuração do Pressure Pad.

Explore as cenas existentes em Scenes > GamePlay para ver como outros objetos são configurados usando o sistema de comando no Nível 1 e no Nível 2.

Se precisar veja a documentação de componentes para detalhes de todos os componentes e seus parâmetros.

Caso tenha alguma dúvida em relação a esse post ou mesmo sobre a game kit 3D não hesite em deixar sua pergunta ou comentário aqui abaixo, ok?

Ahh, e não esquece de curtir e seguir a Vídeos de Ti nas redes sociais, blz?

É isso. Até a próxima!