Compartilhar é se importar!
Tutorial completo do jogo Unity 2D 2019 – Fazendo uma máscara de mini mapa
Nesta seção, criaremos o minimapa e usaremos uma máscara para moldá-lo em algo mais atraente do que um grande retângulo na tela.
Tutorial completo do jogo Unity 2D 2019 – Fazendo pequenas modificações
Antes de começarmos com o minimapa, vamos aumentar o tamanho das nossas naves, pois elas são bem pequenas e podem ser difíceis de ver em telas menores. Queremos que isso seja jogável em muitos tamanhos de tela diferentes, então vamos facilitar um pouco dobrando o tamanho das naves. Para fazer isso, vamos editar o sprite da nave espacial clicando nele na janela do projeto. Em seguida, defina os pixels por unidade para 64 e clique em aplicar para atualizar os sprites.

Assim que você fizer isso, verá que as naves espaciais estão com o dobro do tamanho unique. Essas são apenas as imagens, os colisores ainda estão no tamanho regular de 0,1. Então precisamos editá-los também. Selecione o objeto do jogador e edite o colisor para que agora tenha 0,2 de raio. Que é o dobro do valor anterior de 0,1. Nosso jogador agora está pronto, então vamos atualizar os inimigos também. Desta vez, editaremos o pré-fabricado inimigo. É isso para as pequenas modificações.
Tutorial completo do jogo Unity 2D 2019 – Mini Map Digital camera
Para fazermos um minimapa, precisamos de uma câmera que será usada para criar a imagem usada no minimapa. Pense nisso como uma câmera alta no céu sobre o nosso mundo. Adicionar uma câmera é o mesmo que adicionar qualquer outro objeto do jogo. Clique com o botão direito na visualização de hierarquia e selecione câmera e pronto! Temos uma câmera. A câmera precisará de alguns ajustes para funcionar como uma câmera de minimapa, mas a primeira coisa que faremos é renomeá-la para MapCam. Então definiremos seu método de projeção como Ortográfico, seu tamanho como 7 e sua cor padrão como preto. Finalmente, atualizamos a máscara de seleção e removemos a camada padrão clicando nela. Isso significa que nossa câmera ignorará qualquer coisa na camada padrão e, no nosso caso, apenas desenhará o jogador e os inimigos.
Tutorial completo do jogo Unity 2D 2019 – Textura de renderização do mini mapa
Nossa câmera ainda está funcionando como uma câmera regular, queremos que ela renderize sua visão para uma imagem em vez de para nós, o jogador. Para fazer isso, primeiro precisamos fazer uma textura de renderização. Uma textura de renderização é uma imagem que será criada apenas em tempo de execução e não armazenada como um arquivo e pode ser criada clicando com o botão direito na janela do projeto e clicando em criar > textura de renderização.
Nomeie nossa textura de renderização como mpRenderTexture e arraste-a para a textura alvo da nossa câmera. Agora, nossa textura de renderização sempre conterá a visualização da nossa câmera e podemos usar essa textura para exibir na tela com alguns elementos da IU.
Tutorial completo do jogo Unity 2D 2019 – Mini Map UI
Para exibir nossa nova textura de renderização de mini mapa, usaremos a UI do canvas. Crie um objeto vazio chamado MapContainer. Este será o contêiner que contém nosso mapa e máscara. Dentro dele, crie outro vazio chamado MapMask. Esta será a máscara que mostra ou oculta parte do nosso mapa com base no valor alfa da textura da máscara que adicionaremos. Crie nosso terceiro e último vazio dentro do MapMask e chame-o de MapTexture. Isto exibirá nossa textura de renderização.
Atualize as âncoras, pos X, pos Y, largura e altura dos nossos 3 novos objetos vazios para corresponder às imagens abaixo.
Agora que nossos elementos de UI estão bem posicionados, adicionaremos texturas e máscaras para fazê-los mostrar o minimapa. Adicione um componente Uncooked Picture ao nosso MapTexture e defina a Texture para o nosso mpRenderTexture. Agora você deve conseguir ver a imagem do minimapa capturada pela nossa câmera na cena e na visualização do jogo. Mas é um retângulo grande, feio e simples.
Tutorial completo do jogo Unity 2D 2019 – Máscaras de minimapa e mascaramento
O mascaramento nos permite mostrar apenas uma parte de uma textura com base no valor alfa de outra textura. Por exemplo, temos nosso minimapa que é um retângulo grande. Poderíamos usar uma máscara para renderizar esse retângulo como um círculo usando uma imagem de um círculo cercado por pixels transparentes e aplicando-a como uma máscara à textura do nosso minimapa.


Infelizmente, as imagens que usaremos são brancas e não aparecerão muito bem neste web site, no entanto, elas foram legendadas, então você deve conseguir ver onde elas estão. Baixe essas imagens(ou obtê-los diretamente do repositório do github) pois os usaremos para nosso mascaramento. Agora que sabemos o que é mascaramento, vamos adicioná-lo ao nosso projeto. Em nosso objeto MapMask, adicione 2 novos componentes. Um componente Picture que conterá nossa imagem de máscara e um Masks (script) que transformará nossa imagem em uma máscara. Adicione a imagem Mini Map Masks que baixamos ao nosso projeto arrastando-a para nossa pasta de imagens. Agora adicione-a como nossa imagem de origem e defina a cor como preto.
Agora você deve ter um minimapa mascarado e ele deve ser parecido com a imagem abaixo:
Isto é melhor, mas poderia usar uma borda para destacá-lo um pouco mais. Em nosso contêiner de mapa, adicione um novo componente Picture e defina a imagem de origem para a imagem Mini Map Masks Border que baixamos anteriormente. Ajuste a cor para algo que você goste. Usei azul puro em 80 alfa e você deve ter um novo minimapa authorized em seu jogo.
O passo ultimate é fazer a câmera seguir o jogador. Isso é simplificado pelo fato de já seguirmos o jogador na câmera principal, então tudo o que precisamos fazer é adicionar o script FollowPlayer ao MapCam e arrastar o objeto do jogador para o slot do objeto do jogador em nosso script FollowPlayer.
Agora você deve ter algo semelhante à imagem acima (ampliei o mapa 2x para ficar mais claro na imagem acima)
A fonte finalizada está disponível em github aqui.
Compartilhar é se importar!