Configurando a área de jogo

Nesta primeira parte, vamos configurar a área de jogo. Vamos começar importando os assets iniciais e configurando a cena do jogo.

Preparamos um projeto Godot com os modelos 3D e sons que usaremos para este tutorial, vinculados na página de índice. Se você ainda não o fez, pode baixar o arquivo aqui: `Squash the Creeps assets <https://github.com/GDQuest/godot-3d-dodge-the-creeps/releases/tag/1.0.0> `__.

Depois de baixá-lo, extraia o arquivo .zip em seu computador. Abra o gerenciador de projetos Godot e clique no botão Importar.

imagem1

No pop-up de importação, insira o caminho completo para o diretório recém-criado squash_the_creeps_start/. Você pode clicar no botão Procurar à direita para abrir um navegador de arquivos e navegar até o arquivo project.godot que a pasta contém.

imagem2

Clique em Importar & Editar para abrir o projeto no editor.

imagem3

O projeto inicial contém um ícone e duas pastas: art/ e fonts/. Lá, você encontrará os recursos de arte e música que usaremos no jogo.

imagem4

Existem dois modelos 3D, player.glb e mob.glb, alguns materiais que pertencem a esses modelos e uma faixa de música.

Configurando a área jogável

Vamos criar nossa cena principal com um simples como raiz. No encaixe Scene, clique no botão Add Node representado por um ícone "+" no canto superior esquerdo e clique duas vezes em Node. Nomeie o nó "Principal". Como alternativa, para adicionar um nó à cena, você pode pressionar Ctrl + a (ou Cmd + a no macOS).

imagem5

Salve a cena como Main.tscn pressionando Ctrl + s (Cmd + s no macOS).

Começaremos adicionando um piso que evitará que os personagens caiam. Para criar colisores estáticos como piso, paredes ou tetos, você pode usar nós StaticBody. Eles requerem nós filhos CollisionShape para definir a área de colisão. Com o nó Main selecionado, adicione um nó StaticBody e, em seguida, um CollisionShape. Renomeie o StaticBody como Chao.

|imagem 6|

Um sinal de aviso ao lado de CollisionShape aparece porque não definimos sua forma. Se você clicar no ícone, aparecerá um pop-up com mais informações.

image7

Para criar uma forma, com a CollisionShape selecionada, vá até o Inspector e clique no campo [empty] ao lado da propriedade Shape. Crie uma nova Forma de caixa.

image8

A forma de caixa é perfeita para terrenos planos e paredes. Sua espessura o torna confiável para bloquear até mesmo objetos em movimento rápido.

A estrutura de arame de uma caixa aparece na viewport com três pontos laranja. Você pode clicar e arrastá-los para editar as extensões da forma interativamente. Também podemos definir com precisão o tamanho no inspetor. Clique no BoxShape para expandir o recurso. Defina suas Extensões para 30 no eixo X, 1 para o eixo Y e 30 para o eixo Z.

image9

Nota

Em 3D, as unidades de translação e tamanho são em metros. O tamanho total da caixa é o dobro de sua extensão: 60 por 60 metros no plano do solo e 2 unidades de altura. O plano do solo é definido pelos eixos X e Z, enquanto o eixo Y representa a altura.

Formas de colisão são invisíveis. Precisamos adicionar um piso visual que o acompanhe. Selecione o nó Ground e adicione um MeshInstance como seu filho.

image10

No Inspector, clique no campo ao lado de Mesh e crie um recurso CubeMesh para criar um cubo visível.

imagem11

Mais uma vez, é muito pequeno por padrão. Clique no ícone do cubo para expandir o recurso e defina seu Tamanho para 60, 2 e 60. Como o recurso do cubo trabalha com um tamanho em vez de extensões, precisamos usar esses valores para que correspondam à nossa forma de colisão.

imagem12

Você deve ver uma ampla placa cinza que cobre a grade e os eixos azul e vermelho na janela de visualização.

Vamos mover o chão para baixo para que possamos ver a grade do chão. Selecione o nó Ground, mantenha pressionada a tecla Ctrl para ativar o encaixe da grade (Cmd no macOS) e clique e arraste para baixo no eixo Y. É a seta verde no gizmo de movimento.

imagem13

Nota

Se você não conseguir ver o manipulador de objetos 3D como na imagem acima, certifique-se de que Modo de seleção esteja ativo na barra de ferramentas acima da visualização.

imagem14

Mova o chão para baixo 1 metro. Um rótulo no canto inferior esquerdo da viewport informa o quanto você está transladando o nó.

image15

Nota

Mover o nó Ground para baixo move os dois filhos junto com ele. Certifique-se de mover o nó Ground, não o MeshInstance ou o CollisionShape.

Vamos adicionar uma luz direcional para que nossa cena não fique toda cinza. Selecione o nó Main e adicione um DirectionalLight como filho dele. Precisamos movê-lo e girá-lo. Mova-o para cima clicando e arrastando na seta verde do manipulador e clique e arraste no arco vermelho para girá-lo em torno do eixo X, até que o chão esteja iluminado.

No Inspetor, ative Sombra -> Ativado clicando na caixa de seleção.

image16

Neste ponto, seu projeto deve se parecer com isso.

image17

Esse é o nosso ponto de partida. Na próxima parte, trabalharemos a cena do jogador e o movimento da base.