Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 neste tutorial, vinculados na página de índice. Caso ainda não tenha feito isso, você pode baixar o arquivo aqui: Recursos de Squash the Creeps.
Após baixá-lo, extraia o arquivo .zip em seu computador. Abra o Gerenciador de Projetos do Godot e clique no botão Import.
Na janela de importação, informe o caminho completo para o diretório recém-criado 3d_squash_the_creeps_starter/. Você pode clicar no botão Browse à direita para abrir um explorador de arquivos e navegar até o arquivo project.godot contido na pasta.
Clique em Import para abrir o projeto no editor.
Uma janela informando que o projeto foi gerado por uma versão mais antiga do Godot pode aparecer. Clique em OK para converter o projeto para sua versão atual do Godot.
Se ele não abrir imediatamente, abra o projeto a partir da sua lista de projetos.
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.
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 Node simples como raiz. No painel Scene, clique no botão Add Child Node, representado por um ícone de "+", no canto superior esquerdo e dê um duplo clique em Node. Renomeie o nó para Main. Um método alternativo para renomear o nó é clicar com o botão direito em Node e escolher Rename (ou F2). Como alternativa, para adicionar um nó à cena, você pode pressionar Ctrl + A (Cmd + A no macOS).
Salve a cena como main.tscn pressionando Ctrl + S (Cmd + S no macOS).
Começaremos adicionando um chão que impedirá os personagens de cair. Para criar colisores estáticos, como o chão, paredes ou tetos, você pode usar nós StaticBody3D. Eles exigem nós filhos CollisionShape3D para definir a área de colisão. Com o nó Main selecionado, adicione um nó StaticBody3D e, em seguida, um CollisionShape3D. Renomeie o StaticBody3D para Ground.
A tua árvore de cena deve parecer assim
Um sinal de aviso ao lado do CollisionShape3D aparece porque não definiu sua forma. Se você clicar no ícone, um popup aparece para lhe dar mais informações.
Para criar uma forma, selecione o nó CollisionShape3D , vá para o Inspector e clique no campo <empty> ao lado da propriedade Shape. Crie um novo BoxShape3D.
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 (wireframe) de uma caixa aparece na viewport com três pontos laranjas. Você pode clicar e arrastar esses pontos para editar as extensões da forma de maneira interativa. Também podemos definir o tamanho com precisão no inspetor. Clique no BoxShape3D para expandir o recurso. Defina o seu Size como 60 no eixo X, 2 no eixo Y e 60 no eixo Z.
As formas de colisão são invisíveis. Precisamos adicionar um chão visual que as acompanhe. Selecione o nó Ground e adicione um MeshInstance3D como seu filho.
No Inspector, clique no campo ao lado de Mesh e crie um recurso BoxMesh para criar um cubo visível.
Mais uma vez, o tamanho padrão é muito pequeno. Clique no ícone de caixa para expandir o recurso e defina seu Size (tamanho) como 60, 2 e 60.
You should see a wide gray slab that covers the grid, as well as blue and red axes in the viewport.
Vamos mover o chão para baixo para podermos visualizar a grade do piso. Para isso, pode-se usar o recurso de ajuste à grade. O ajuste à grade pode ser ativado de duas maneiras no editor 3D. A primeira é pressionando o botão Use Snap (ou a tecla Y). A segunda é selecionando um nó, arrastando uma alça do manipulador e então mantendo pressionada a tecla Ctrl (Cmd no macOS) enquanto continua arrastando o nó selecionado.
Comece ativando o alinhamento à grade com o método de sua preferência. Em seguida, mova o nó Ground usando o eixo Y (a seta verde no gizmo).
Nota
Se você não conseguir ver o manipulador de objetos 3D como na imagem acima, certifique-se de que o Transform Mode esteja ativo na barra de ferramentas acima da visualização.
Mova o chão 1 metro para baixo para que a grade do editor fique visível. Um rótulo no canto inferior esquerdo da viewport indica o quanto você está deslocando o nó.
Nota
Mover o nó Ground para baixo move ambos os filhos junto com ele. Certifique-se de mover o nó Ground, não o MeshInstance3D nem o CollisionShape3D.
Ultimately, Ground's Y position should be -1.
Let's add a directional light so our scene isn't all gray. Select the Main
node and add a child node DirectionalLight3D.
Precisamos mover e rotacionar o nó DirectionalLight3D. Mova-o para cima clicando e arrastando a seta verde do manipulador e clique e arraste o arco vermelho para rotacioná-lo em torno do eixo X, até que o chão esteja iluminado.
No Inspector, ative Shadow marcando a caixa de seleção.
Neste ponto, seu projeto deve se parecer com isso.
Esse é o nosso ponto de partida. Na próxima parte, trabalharemos a cena do jogador e o movimento da base.