Saúdo-vos, Khabrovites! Nesta parte, vou criar e personalizar a bola para o jogo Pong. Se você perdeu o começo, então está aqui . O nível do artigo ainda é iniciante.
Sob o corte, ainda existem muitas capturas de tela.
Ligue para as crianças e seja bem-vindo no gato.
Para edição, o projeto é aberto clicando duas vezes no nome do projeto ou no botão "Editar".

Quando você reinicia o mecanismo, a cena criada anteriormente não abre. Você pode abri-lo clicando duas vezes no painel "Sistema de arquivos", o painel analógico no Unity é chamado de Projeto.
Agora você pode criar a bola, a ordem correta para esse mecanismo, o corpo físico e seus dois herdeiros: o colisor e os gráficos. Mas farei isso em uma ordem diferente e, ao mesmo tempo, direi a você por que essa ordem de nós é necessária.
A primeira coisa que quero fazer com a bola é vê-la. Portanto, começarei com os gráficos. Eu posso desenhar um quadrado branco de 3 por 3 pixels em qualquer editor de imagens. No entanto, não gosto de fazer em um programa de terceiros, o que posso fazer direito no mecanismo.
Para adicionar um nó à cena, clique no sinal de mais no painel da cena. (Obviamente, é possível usar o menu de contexto ou as teclas de atalho)

Uma enorme lista de vários tipos de nós aparece na janela que é aberta. Todos precisam ser visualizados, idealmente, ler sobre cada um dos nós na documentação ou, pelo menos, visualizar todos os nós diretamente na lista, lendo a descrição de cada um deles.
Isso ajudará a entender melhor quais nós estão no mecanismo e o que fazer com eles. E para o nosso objetivo atual, o nó Polygon2D é adequado.

Por padrão, todos os nós são criados como filhos em relação ao nó raiz.Se você precisar criar um nó filho para um nó específico, crie-o selecionando primeiro o nó pai. Obviamente, isso não é necessário com o nó raiz.
É hora de prestar atenção no lado direito da janela, existe um painel de inspetores.

Para os menoresUm quadrado é uma figura geométrica composta por 4 ângulos e 4 lados, com todos os lados iguais um ao outro.
O tamanho do polígono determina o número de ângulos, após o qual uma lista de pontos aparece, cujas coordenadas devem ser inseridas. Pessoalmente, prefiro começar no canto superior esquerdo e mover no sentido horário os pontos. Esboçando uma figura ao redor do centro. Por padrão, em Godot, o centro de todos os nós é o canto superior esquerdo da cena. E a introdução de frações de pixel é permitida.

Agora você pode configurar "Transform" e posicionar a bola no centro da cena.
Para vê-lo melhor, você precisa aumentar um pouco a cena do jogo na parte principal da janela.
Rolar o rolo do mouse permite aumentar e reduzir a cena, e clicar no rolo e mover o mouse move a cena.

Agora você precisa fazer a bola se mover, e há duas maneiras principais:
- Você pode alterar a configuração "Transform" e mover a bola da mesma maneira que eu a movi para o centro do palco, mas usando o código do programa e sem problemas.
- E você pode adicionar a este gráfico um nó de um elemento físico chamado "Sólido" ou "Objeto físico". E mova o efeito do mecanismo físico nesse objeto.
O mecanismo físico permite que você use os movimentos mais precisos, suaves e confiáveis, sem precisar descrever todos os cálculos complexos.
Além disso, além do movimento da bola, ainda precisamos determinar se a bola encontrou a borda da tela? Se enfrentou, qual fronteira? A bola atingiu uma raquete? Se enfrentar qual das raquetes e qual parte? Mas é mais fácil verificar essas coisas usando um mecanismo físico.
Em geral, existe um esquema muito simples para essa escolha. Se todos os objetos do jogo se moverem ao longo da grade e houver uma fila de movimento. Por exemplo, no xadrez, um jogador preto não inicia seu turno antes que o jogador branco complete sua jogada. E nenhum dos jogadores tem o direito de mover várias peças ao mesmo tempo.
Nesses jogos, é conveniente alterar diretamente as configurações de "Transformação".
Para todos os outros casos, existe um mecanismo de física.
Agora, acho óbvio que é mais conveniente usar o mecanismo de física no jogo Pong.
Para fazer isso, você precisa da bola, agora este é o nó "Polygon2D" adicione o nó "PhysicsBody2D"

Mas existem três nós: Cinemático, Rígido e Estático. De acordo com a descrição:
- Cinemático é um objeto físico que se move de acordo com o código de programa escrito, não obedecendo ao mecanismo físico. (Nossa opção)
- Rígido é um objeto físico completamente subordinado ao mecanismo físico.
- Estático é um objeto físico imóvel.
Análogos desses nós estão disponíveis em todos os mecanismos de jogo que eu conheço, e no Unity eles têm os mesmos nomes e propriedades.
Após adicionar o nó "KinematicBody2D", uma notificação de erro é exibida.

Passando o mouse sobre ele, fica claro que a causa do erro é a falta de uma máscara colisor para este nó; nesse caso, foi-me oferecida uma opção entre duas opções: CollisionShape2D ou CollisionPoligon2D.
Eu já tentei criar um polígono, agora quero ver o formulário. Que na criação relata outro erro. Desta vez, ela diz que a máscara parece estar lá, mas ninguém criou a forma da máscara.
É criado no painel "Inspetor". Para o nosso quadrado, a forma "RectangleShape2D" é adequada com as seguintes configurações.

Agora você pode começar a mover a bola pela tela, mas, com o mecanismo físico, você só pode mover o “corpo físico” com todos os herdeiros e ele se moverá em relação ao seu pai. Nesse caso, o corpo e o colisor se moverão em relação ao quadrado desenhado no palco, que permanecerá estacionário na tela. A correção é muito simples:
- Para que o corpo físico se mova em relação à cena, deve ser feito um nó filho da cena.

- Para que o quadrado desenhado se mova com o corpo físico, ele deve ser feito filho em relação ao corpo físico.

Agora movendo o corpo físico, moverei a máscara de colisão junto com o quadrado desenhado.
A bola está pronta para o movimento, da próxima vez que finalmente a lançarmos e veremos como ficará no jogo.
Ficarei feliz por suas críticas nos comentários.