Encontre um tesouro de efeitos visuais e de iluminação em nosso novo jogo de combinar 3 Gem Hunter Match

Gem Hunter Match, uma nova amostra oficial do Unity, mostra como um jogo de quebra-cabeça/combinar 3 2D pode se destacar da concorrência com iluminação atraente e efeitos visuais criados no Universal Render Pipeline (URP) no Unity 2022 LTS.
Baixe o exemplo, junto com seu minimanual, e prepare-se para mergulhar em busca de riquezas em águas azuis cristalinas repletas de joias coloridas e criaturas marinhas. Você aprenderá a preparar e iluminar sprites 2D para adicionar profundidade, aplicar um shader Sprite Custom Lit para brilho e criar efeitos de brilho e ondulação.
Veja a partida do Gem Hunterscript em Amostras do Unity.

O Gem Hunter Match segue o URP 3D Sample e o Happy Harvest como o mais recente de uma série de samples, criados por diversas equipes da Unity, que ilustram os muitos recursos do URP no Unity 2022 LTS para projetos multiplataforma 3D e 2D. No final desta postagem, disponibilizamos links para mais excelentes recursos de aprendizado do URP.
Esta parte jogável de um jogo de quebra-cabeça de combinar 3 multiplataforma está disponível na Unity Asset Store e na Unity Samples. Você pode personalizar o Gem Hunter Match com seus recursos ou jogabilidade, ou reutilizar qualquer um de seus sprites, shaders, efeitos, áudio, texturas e scripts em um projeto seu.

Bolhas, corais e uma sereia atenta formam o pano de fundo do tabuleiro de jogo em Gem Hunter Match. Pérolas, safiras rosas, estrelas do mar vermelho-rubi, peixes azuis, mariscos dourados e tartarugas marinhas sonolentas povoam o tabuleiro em três níveis jogáveis. Limpe as gemas e ganhe reforços e moedas combinando três ou mais itens. Os reforços ajudam você a atingir os objetivos, mas se você falhar, você perde um coração. Caixas de madeira e cordas são bloqueadores; combine três ao lado de uma caixa de madeira ou embaixo de um pedaço de corda para removê-los.

O loop de jogo simples inclui um inventário que você pode reutilizar. Aqui estão seus principais elementos:
A cena principal: Esta tela lista todos os níveis jogáveis, que são referenciados a partir de um ScriptableObject chamado LevelList, localizado dentro da pasta Data .
A cena do nível: Isto mostra a configuração do jogo. Você precisa limpar os elementos na seção Metas .
Na pasta Data/BonusItems , você encontrará os boosters e o prefab referenciado que contém parâmetros como o formato de combinação a ser gerado (no caso de várias peças terem o mesmo formato de combinação, uma aleatória será escolhida). Você pode criar seus próprios boosters no menu superior em Ativos > Criar > Correspondência 2D.
Fim do nível / A Loja: Acesse a loja quando você falhar ou completar um nível; compre reforços, corações ou outras moedas. Todos os itens da loja estão na pasta chamada Data/ShopItems (você também pode adicionar os seus próprios em Assets > Create > 2D Match). Os itens na loja incluem:
Moedas: Ganhe moedas com combinações de três ou mais e use-as como moeda fiduciária. Corações ou vidas: Esses reforços lhe dão a chance de tentar novamente um nível em que falhou. Se o jogador ficar sem esses reforços em um jogo de combinar 3, geralmente há um período de espera para que eles possam repor seus pontos de vida/saúde.
Estrelas: Você as coleta após completar cada nível; em jogos de combinar 3, as estrelas geralmente fazem parte do metagame, da decoração ou são usadas para avançar na história.

Os jogos de quebra-cabeça/combinar 3 em 2D são populares porque são fofos e coloridos, fáceis e divertidos de jogar e acessíveis a qualquer pessoa, de quase qualquer lugar.
Eles também podem incluir belas artes, mas com sua câmera estática, jogabilidade repetitiva e, em muitos casos, iluminação e sombras pré-definidas, eles não são conhecidos por efeitos visuais e de luz de ponta. E ainda há muitas maneiras de adicionar toques de brilho e cintilância para uma diversão extra.
Um shader Sprite Custom Lit é uma das técnicas usadas para criar efeitos visuais no Gem Hunter Match. Este shader substitui a iluminação da cena, permitindo-nos modificar as informações de textura da luz 2D e controlar a iluminação em cada peça. O resultado é uma iluminação criativa dos sprites, como o efeito cintilante que se move sobre as peças.
Os dados de posição da luz são movidos para o shader, eliminando a necessidade de objetos de luz reais na cena, o que também ajuda a mantê-la organizada. A iluminação encapsulada por objeto no shader funciona bem para melhor isolamento e edição em escala e melhora o desempenho onde o processamento em lote é possível.
Com as informações de luz e sombra mantidas no shader, apenas as informações de cor são incluídas nos sprites. O mapa normal é usado pelo sistema de luz 2D para calcular a direção de cada pixel, garantindo que ele receba mais ou menos luz com base em sua posição. O mapa de máscara é usado por luzes que podem afetar um canal RGB específico.
O pré-fabricado Luzes nas cenas de nível do Gem Hunter Match contém as luzes 2D para a grade. Essas luzes afetam o shader Sprite Lit padrão e são aplicadas aos itens de grade incluídos na Camada de Classificação que recebe luz.
A imagem a seguir ilustra as etapas de criação dos sprites e como o shader Sprite Custom Lit se encaixa no processo.

Em Gem Hunter Match, uma posição de luz “fictícia” é representada pelo LightRotator GameObject, que é animado para criar um efeito de brilho nas gemas. As modificações na textura de luz 2D e os destaques fabricados com o nó Produto Escalar são usados no Gráfico de Sombreamento TileShader que é aplicado às gemas no jogo.

O nó Produto Escalar pode ser útil em projetos 2D quando você deseja fazer iluminação personalizada. O produto escalar mede o quão próximos dois vetores estão alinhados. No exemplo, a posição LightDirection é comparada com a direção aparente de cada pixel no mapa Normal. A imagem em preto e branco amostrada pode ser usada para adicionar luz ao sprite e atualizar os valores em tempo de execução para todas as peças usando o mesmo shader.

O shader Radial Warp usa a configuração de textura da camada de classificação de câmera 2D URP. Esse recurso prático dá acesso aos gráficos gerados até a Camada de Classificação indicada nas configurações do Renderizador 2D URP, que você pode usar no Shader Graph para aplicar efeitos. Na amostra Happy Harvest , a textura da camada de classificação da câmera é usada para criar um efeito de refração de água e, em Dragon Crashers, ela é usada para distorção de fumaça. Neste exemplo, usamos isso para aplicar uma distorção que simula uma onda de choque, adicionando um apelo visual extra quando você faz uma correspondência. É o tipo de efeito que cria um impacto que seus jogadores vão lembrar.

Esperamos que você baixe Gem Hunter Match, jogue e personalize-o e depois experimente suas técnicas gráficas em seus próprios projetos. Tudo isso e muito mais são abordados na sessão Unite 2023, Técnicas de iluminação e IA para seu jogo 2D.
Não perca estes outros exemplos, e-books e tutoriais para URP:
- E-book: Arte de jogo 2D, animação e iluminação para artistas
- E-book: Introdução ao Universal Render Pipeline para criadores avançados do Unity
- Unite 2023: Acelere seu desenvolvimento multiplataforma com o que há de mais moderno em URP
- Transmissão ao vivo: O que há de novo no Universal Render Pipeline do Unity?
- Tutorial em vídeo: Boa colheita: Culturas personalizadas e notas do jogador
- E-book: O guia definitivo para criar efeitos visuais avançados no Unity
Não deixe de participar da conversa sobre o Universal Render Pipeline nos fóruns do Unity ou participe das discussões do Unity.