O Desdobramento de UVs para mapas de iluminação é longo, e uma maneira de reduzir isso é usar a ferramenta de geração automática da Unreal Engine 5 (UE5) para gerar um UV de mapa de iluminação a partir de texturas UVs existentes na importação ou pelo Editor de Malha Estática.
Ressalvas e considerações
Por padrão, um UV de mapa de iluminação gerado automaticamente reembala os gráficos UV existentes a partir do primeiro UV da malha estática (Canal 0 do UV na UE5). Esse UV é comumente usado como o UV de textura; portanto, é possível que os gráficos UV não estejam posicionados ou configurados da melhor maneira para um UV de mapa de iluminação, mesmo com as ferramentas de geração automática na UE5.
Tenha em mente os pontos a seguir ao criar um UV de mapa de iluminação gerado automaticamente.
- Os UVs de mapas de iluminação gerados exigem um UV de origem existente para serem reempacotados, e esse processo é tão bom quanto o que o UV usou; ou seja, se os gráficos UV não forem divididos e posicionados corretamente, não será possível um bom reempacotamento.
- Durante o reempacotamento, a UE5 não dividirá as bordas do gráfico do UV para criar ilhas UV separadas. Ele reempacota apenas os gráficos UV existentes do índice de UV de origem.
- Os gráficos UV são normalizados quando gerados, maximizando a cobertura do espaço UV com gráficos dimensionados ou esticados de forma independente.
Configurações das opções de importação
Durante a importação, um UV de mapa de iluminação será gerado para qualquer malha estática por padrão quando a opção Generate Lightmap UVs (Gerar UV de mapa de iluminação) estiver habilitada. O UV de mapa de iluminação será gerado a partir do índice UV 1 da malha estática (Canal 0 de UV na UE5) e atribuído ao Lightmap Coordinate Index (Índice de coordenadas do mapa de iluminação) 1.
Clique na imagem para ampliá-la.
Você pode inspecionar o UV de mapa de iluminação gerado usando o Editor de Malha Estática. Consulte Desdobramento de UVs para mapas de iluminação para obter mais informações.
Configurações da geração de mapas de iluminação
O menu Build Settings (Configurações de compilação) do Editor de Malha Estática contém configurações para gerar e reempacotar UVs de mapas de iluminação. Essas opções permitem gerar um UV de mapa de iluminação sem precisar fazer isso durante a importação ou após a importação, caso você queira refinar o UV de mapa de iluminação gerado.
Clique na imagem para ampliá-la.
Habilite Generate Lightmap UVs para usar as opções de geração de UV detalhadas na tabela a seguir e controlar como o UV de mapa de iluminação é gerado e empacotado:
Clique na imagem para ampliá-la.
| Propriedade | Descrição |
|---|---|
| Min Lightmap Resolution | Determina o preenchimento mínimo necessário para gráficos UV ao empacotar UVs. Esse valor-alvo garante que o empacotamento tenha a precisão do texel até a resolução mínima do mapa de iluminação usada. Ele limitará o vazamento de luz e sombra que pode ocorrer quando o valor de Lightmap Resolution (Resolução do mapa de iluminação) for menor que esse valor. |
| Source Lightmap Index | Escolhe o canal UV do qual gerar o UV do mapa de iluminação. |
| Destination Lightmap Index | Define o canal UV em que o UV do mapa de iluminação gerado será armazenado. |
Como gerar um UV de mapa de iluminação
As etapas a seguir abordam o processo de geração de um novo UV de mapa de iluminação no Editor de Malha Estática.
-
Abra o Editor de Malha Estática. No painel Detalhes, acesse Build Settings de LOD0.
Clique na imagem para ampliá-la.
-
Gere UVs de mapas de iluminação com as seguintes configurações:
Clique na imagem para ampliá-la.
- Habilite Generate Lightmap UVs.
- Defina Min Lightmap Resolution como uma potência de 2 ideal, que deve ser a menor resolução de mapa de iluminação que essa malha usará. Isso garante que menos artefatos de luz e sombra possam afetar os gráficos UV.
- Normalmente, o Source Lightmap Index deve ser deixado como 0 ou definido como um canal UV existente para gerar o UV de mapa de iluminação. Apenas os canais UV disponíveis estarão disponíveis para seleção.
- Destination Lightmap Index define o canal UV para criar ou armazenar o UV de mapa de iluminação. Pode ser qualquer valor (em que o valor representa o número real de canais UV atuais para essa malha estática) mais um.
-
Clique em Apply Changes (Aplicar alterações).
-
No painel Detalhes, em General Settings (Configurações gerais), defina o seguinte:
Clique na imagem para ampliá-la.
- Insira uma Lightmap Resolution que essa malha estática deve usar por padrão para qualquer instância colocada em um nível. A resolução inserida deve ser maior que a Min Lightmap Resolution usada para gerar o UV de mapa de iluminação em Build Settings.
- Defina Lightmap Coordinate Index como o canal UV usado para o UV de mapa de iluminação. Em geral, corresponde a Destination Lightmap Index usado para gerar o UV de mapa de iluminação em Build Settings. Esse canal UV determina qual canal UV será usado na geração das texturas de mapas de iluminação durante uma compilação de iluminação.
Neste exemplo, o UV da textura foi usado para criar um UV de mapa de iluminação. O UV de textura é usado como a fonte de reempacotamento para o UV de mapa de iluminação, e o UV da textura foi projetado de uma maneira que funciona melhor para não desperdiçar espaço de textura. Com essa abordagem, partes da malha são aumentadas (ou reduzidas) com base em sua importância para obter uma resolução de textura adequada sem desperdiçar espaço na textura.


Quando o UV de mapa de iluminação é gerado, ele é dimensionado para ter a mesma densidade (normalizado) e compactado no UV de espaço com preenchimento suficiente entre cada gráfico UV para evitar artefatos de luz e sombra de uma compilação de iluminação. Aqui, você pode notar um pouco de espaço desperdiçado no UV de mapa de iluminação gerado; no entanto, isso é desprezível e não justificaria retrabalhar o UV em uma ferramenta personalizada apenas para fazê-lo usar esse espaço.
Como regenerar UVs de mapa de iluminação existentes
É possível regenerar (ou reempacotar) um UV de mapa de iluminação existente usando Build Settings do Editor de Malha Estática. Há vantagens em regenerar um UV de mapa de iluminação para uma malha estática.
- Isso permite alterar o preenchimento entre os gráficos UV para usar uma Min Lightmap Resolution maior ou menor sem reimportar a malha. Um fator ideal quando você tem muitos gráficos UV individuais e tem um pacote mais compacto no UV de mapa de iluminação.
- Ele permite que você reempacote qualquer UV de mapa de iluminação existente de qualquer Source Lightmap Index, incluindo um canal UV de mapa de iluminação gerado anteriormente.
As etapas a seguir demonstram como regenerar um UV personalizado a partir de uma malha estática importada:
-
Abra o Editor de Malha Estática. No painel Detalhes, acesse Build Settings de LOD0 para definir as seguintes opções:
Clique na imagem para ampliá-la.
- Opcional Defina Min Lightmap Resolution como um novo valor que seja maior ou menor. Essa ação ajusta a quantidade de preenchimento entre os gráficos UV.
- Defina Source Lightmap Index para o canal UV que deseja reempacotar.
- Defina Destination Lightmap Index para que seja o mesmo que "Source Lightmap Index".
-
Clique em Apply Changes (Aplicar alterações).
Veja a seguir uma comparação entre o UV de mapa de iluminação personalizado importado originalmente e a malha estática. Você perceberá que os gráficos UV foram dimensionados de forma desproporcional em relação aos outros, mas é perfeitamente aceitável como um UV de mapa de iluminação porque atende aos critérios de UV sem sobreposição. A regeneração do UV normalizará todos os gráficos UV e apresentará um resultado de incorporação de iluminação e sombra distribuído uniformemente. Cada gráfico UV também receberá uma quantidade adequada de preenchimento entre eles para garantir menos artefatos de vazamento de sombras e luzes.


Vale ressaltar que o foco do UV de mapa de iluminação personalizado é ter uma cobertura para peças menores que o jogador verá mais de perto. Ao aumentar a cobertura de algumas partes, a resolução do mapa de iluminação pode ser reduzida para obter o mesmo resultado da resolução do mapa de iluminação empacotada. Use seu bom senso se isso for algo que você deve resolver fora da UE5 para seus ativos específicos.