Cursos / Jogos Digitais / Inteligência Artificial para Jogos / Aula

arrow_back Aula 02 - Comportamentos de navegação

1.1 Cenário inicial

Passo 01 – Construir o campo de futebol

Para começar, você precisa construir o cenário do jogo (que será em 2D) no Unity. Crie, então, o campo de futebol e, por enquanto, apenas um jogador, como ilustra a Figura 02.

Figura 02 - Cenário inicial do jogo de futebol
Cenário inicial do jogo de futebol

Os assets dessa etapa do cenário podem ser encontrados AQUI. Nesse link, você encontrará as imagens playerA.png, playerB.png, grass.png, ball.png e lines.png, algumas serão utilizadas para montar o cenário inicial desse jogo.

Agora, crie um novo projeto Unity voltado para jogos 2D e organize sua pasta de Assets definindo as seguintes subpastas:

  • Scenes: onde as cenas serão salvas;
  • Sprites: onde as imagens serão guardadas;
  • Scripts: onde os códigos de comportamento serão salvos.

Em seguida, copie as imagens do link para a pasta Sprites e crie um objeto do jogo. Para isso, você pode utilizar drag-and-drop. Denomine o objeto de “player A” e use o componente Sprite Renderer para associar a imagem playerA.png a esse objeto. Faça o mesmo para criar dois outros objetos do jogo: as linhas do campo (lines.png) e o gramado (grass.png), respectivamente.

Ao criar esses novos objetos, pode ser que eles fiquem sobre o “player A”. Para ter certeza de que os jogadores estarão sempre na frente (sobre) do campo de futebol, você deve criar uma camada de ordenação (sorting layer) chamada Terrain, a qual associará os objetos grass e lines. Ao definir que Terrain venha antes da camada padrão (Default), você garantirá que os objetos grass e lines sejam sempre desenhados antes dos jogadores. Lembre-se de ajustar a camada que você acabou de criar para vir antes da camada Default, conforme exibe a Figura 03.

Figura 03 - Definição de uma camada (layer) específica para os elementos do terreno
Definição de uma camada (layer) específica para os elementos do terreno

Após a definição da camada Terrain, associe os objetos grass e lines a ela, especificando a ordem de grass como 0 e lines como 1. Assim, lines ficará sempre sobre o campo.

A Figura 04 mostra como as informações devem estar.

Figura 04 - Associação dos objetos na camada de ordenação e a definição de sua ordem na camada
Associação dos objetos na camada de ordenação e a definição de sua ordem na camada

No futebol, há regras específicas para quando a bola sai na lateral ou na linha de fundo, então, para seguir essas regras, insira sensores no cenário, de forma a detectar quando algum elemento sai do campo. Em seguida, crie 4 objetos vazios (Create Empty) para representar as duas laterais e as duas linhas de fundo e insira o componente BoxCollider2D em cada um deles. Ajuste os valores de tamanho (Size) e deslocamento (Offset), de maneira que cada um dos sensores capture seu respectivo lado (lateral e escanteio).

Atenção

Lembre-se, também, de especificar que esses Colliders são gatilhos de eventos (Is Trigger), caso contrário, eles agirão como objetos de colisão e outros objetos não poderão passar por eles.

Por fim, para melhorar a organização desse cenário, crie um objeto vazio e o renomeie para soccer field. Esse objeto servirá para agrupar os elementos do campo de futebol: o gramado (grass), as linhas de delimitação do campo (lines) e os sensores de lateral e escanteio. Mova-os, arrastando-os com o mouse, de forma obter a hierarquia apresentada na Figura 05.

Figura 05 - Hierarquia dos objetos criados até o momento
Hierarquia dos objetos criados até o momento

Versão 5.3 - Todos os Direitos reservados