Este é o terceiro de uma série de artigos que explica como desenvolvedores e artistas técnicos podem configurar e usar o High Definition Render Pipeline (HDRP) no Unity para obter realismo gráfico de alta qualidade. O HDRP representa um salto tecnológico na renderização em tempo real do Unity, para que você possa trabalhar com a luz exatamente como ela se comporta no mundo real.
Não deixe de ler os outros artigos da nossa série de instruções sobre iluminação de alta qualidade:
O HDRP inclui vários tipos e formatos de luz diferentes para ajudá-lo a controlar a iluminação em sua cena.
Tipos de luz
Estes são os tipos Light disponíveis, semelhantes a outros pipelines de renderização no Unity:
- Direcional: Isto se comporta como a luz de uma fonte infinitamente distante, com raios de luz perfeitamente paralelos que não diminuem de intensidade. As luzes direcionais geralmente substituem a luz solar. Numa cena exterior, esta será frequentemente a sua luz principal.
- Ver: Isso é semelhante a um holofote do mundo real, que pode assumir a forma de um cone, pirâmide ou caixa. Um ponto cai ao longo do eixo z frontal, bem como em direção às bordas da forma de cone/pirâmide.
- Apontar: Esta é uma luz omnidirecional que ilumina todas as direções a partir de um único ponto no espaço. É útil para fontes de luz radiantes, como uma lâmpada ou vela.
- Área: Isso projeta luz da superfície de uma forma específica (um retângulo, tubo ou disco). Uma luz de área funciona como uma ampla fonte de luz com intensidade uniforme no centro, como uma janela ou tubo fluorescente.
Modifique como as luzes Spot, Point e Area desaparecem com o Range. Muitas luzes HDRP diminuem usando a lei do inverso do quadrado, como fontes de luz no mundo real.
As luzes spot e de área têm formas adicionais para controlar como cada luz desaparece, conforme abordado nas seções a seguir.
As luzes HDRP Spot podem assumir três formatos:
- Cone: Projeta luz de um único ponto para uma base circular. Ajuste o Ângulo Externo (graus) e o Ângulo Interno (porcentagem) para moldar o cone e modificar sua atenuação angular.
- Pirâmide: Projeta luz de um único ponto em uma base quadrada. Ajuste a forma da pirâmide com o Spot Angle e Aspect Ratio.
- Caixa: Projeta luz uniformemente em um volume retangular. Um tamanho X e Y determina o retângulo base e o Intervalo controla a dimensão Y. Esta luz não tem atenuação, a menos que a opção Range Attenuation esteja marcada, o que pode ser usado para simular a luz solar dentro dos limites da caixa.
As luzes de área HDRP podem assumir três formatos:
- Retângulo: Projeta luz a partir de um retângulo na direção Z positiva local, até um intervalo definido.
- Tubo: Projeta luz a partir de uma única linha em todas as direções, até um intervalo definido. Esta luz só funciona no modo Tempo Real.
- Disco: Projeta luz a partir de um formato de disco na direção Z positiva local, até um intervalo definido. Esta luz só funciona no modo Baked.
Todos os tipos de luz HDRP possuem propriedadesde emissão que definem a aparência da luz.
Você pode mudar a aparência da luz para cor e especificar uma cor RGB. Caso contrário, altere para Filtro e Temperatura para uma entrada fisicamente mais precisa.
A temperatura da cor define a cor com base em graus Kelvin. Consulte a folha de referências de Iluminação e Exposição mais abaixo nesta página para referência.
Você também pode adicionar uma cor que funcione como um filtro, tingindo a luz com outro matiz. Isso é semelhante a adicionar um gel colorido na fotografia.
O HDRP inclui alguns controles avançados no menu Mais Itens (⋮) no canto superior direito do Inspetor. Selecione Mostrar propriedades adicionais para ver opções extras.
Isso inclui opções para Affect Diffuse e Affect Specular. Na iluminação de cenas ou cinematográficas, por exemplo, você pode separar as luzes que controlam os destaques brilhantes independentemente daquelas que produzem luz difusa mais suave.
Você também pode usar o Multiplicador de Intensidade para ajustar a intensidade geral da luz sem realmente alterar o valor da intensidade original. Isso é útil para iluminar ou escurecer várias luzes ao mesmo tempo.
HDRP permite que você use camadas de luz para fazer com que a luz afete apenas malhas específicas em sua cena. Estas são LayerMasks que você pode associar a um componente Light e MeshRenderer.
Nas propriedades da luz, clique no botão Mais opções para visualizar o menu suspenso Camada de luz em Geral. Escolha quais LayerMasks você deseja associar à Light. Você também pode selecionar Mostrar propriedades adicionais no menu Mais itens (☰). Da mesma forma, isso exibe o menu suspenso Light Layer em Geral. Escolha as LayerMasks que deseja associar à Light.
Em seguida, configure os MeshRenderers com a Rendering Layer Mask. Somente as luzes na LayerMask correspondente afetarão a malha. Esse recurso é inestimável para consertar vazamentos de luz e garante que as luzes atinjam apenas os alvos pretendidos. Também pode fazer parte do fluxo de trabalho configurar a iluminação da cena, para que apenas os personagens recebam luzes cinematográficas dedicadas.
Por exemplo, se você quiser evitar que as luzes internas de um edifício penetrem acidentalmente nas paredes externas, você poderá configurar Camadas de Luz específicas para o interior e o exterior. Isso garante que você tenha um controle preciso de suas configurações de luz.
Para configurar suas camadas de luz, vá para as configurações padrão do HDRP. A seção Nomes de camadas permite definir o nome da string para camadas leves de 0 a 7.
Para obter mais informações, incluindo a lista completa de propriedades Light, consulte a documentação do componente Light.
O Unity 2021 LTS e superior inclui um sistema Light Anchor para ajudá-lo a configurar as luzes rapidamente, controlando o ângulo e a distância entre a câmera e o objeto. Também permite selecionar ângulos de iluminação comuns por meio de nove predefinições.
Se você precisar iluminar uma cena cinematográfica, produto ou tomada usando várias luzes ao redor de personagens ou acessórios, o componente Light Anchor oferece manipulação de luz rápida e eficiente no espaço da tela em torno de um alvo âncora.
Primeiro, certifique-se de que sua câmera esteja marcada como MainCamera e, em seguida, adicione um componente Light Anchor à luz Spot que você deseja controlar. Alinhe a luz e o assunto; esta posição é agora o ponto de ancoragem da luz Spot. Aumente a distância entre o ponto de ancoragem e a luz Spot, ou até mesmo ajuste a posição da luz ao redor do ponto de ancoragem ajustando a órbita, a elevação e a rotação da luz na visualização do jogo, em vez de ajustar manualmente a transformação do luz na vista Cena.
Para obter mais informações, confira esta apresentação introdutória sobre Light Anchors.
HDRP usa unidades físicas de luz (PLU) para medir a intensidade da luz. Eles correspondem às medições SI da vida real para iluminância, incluindo candela, lúmen, lux e nits. Observe que o PLU espera que uma unidade no Unity seja igual a um metro para precisão.
Unidades
As unidades físicas de luz podem incluir unidades de fluxo luminoso e de iluminância. O fluxo luminoso representa a quantidade total de luz emitida por uma fonte, enquanto a iluminância se refere à quantidade total de luz recebida por um objeto (geralmente em fluxo luminoso por unidade de área).
Como a iluminação comercial e a fotografia podem expressar unidades de forma diferente dependendo da aplicação, o Unity oferece suporte a várias unidades de luz física para compatibilidade:
- Candeia: Uma unidade equivale ao fluxo luminoso de uma vela de cera. Isso também é comumente chamado de poder de vela.
- Lúmen: Esta é a unidade SI de fluxo luminoso definida como uma candela sobre um ângulo sólido (esteradiano). Você normalmente verá lúmens nas especificações de lâmpadas comerciais. Use-o com luzes Unity Spot, Point ou Area.
- Lux: Uma fonte de luz que emite um lúmen em uma área de um metro quadrado tem uma iluminância de um lux. Os medidores de luz do mundo real geralmente leem lux. Você usará frequentemente esta unidade com luzes direcionais no Unity.
- Lêndeas: Esta é uma unidade de luminância equivalente a uma candela por metro quadrado. Dispositivos de exibição e painéis de LED (televisores ou monitores, por exemplo) geralmente medem seu brilho em nits.
- EV100: A intensidade correspondente ao EV100 tem um Valor de Exposição com filme ISO 100 (veja a seção Fórmula do Valor de Exposição nesta página). Aumentar a exposição resulta na duplicação da iluminação, devido ao comportamento logarítmico.
Para recriar uma fonte de iluminação real, mude para a unidade listada nas especificações técnicas e conecte o fluxo luminoso ou luminância correto. O HDRP corresponderá às unidades físicas de iluminação, eliminando muitas das suposições ao definir as intensidades.
Clique no ícone para escolher predefinições para Exterior, Interior, Decorativoe Vela. Essas configurações fornecem um bom ponto de partida se você não corresponder explicitamente a um valor específico.
Valores comuns de iluminação e exposição
A folha de dicas mostrada aqui contém temperatura de cor e intensidades de iluminação de fontes de luzcomuns do mundo real. Ele também contém valores de exposição para diferentes cenários de iluminação.
Você pode encontrar uma tabela completa de valores de iluminação na documentação das Unidades Físicas de Luz.
Faça com que suas luzes pontuais, spot e de área imitem de perto a queda de luzes reais usando um perfil IES. Isso funciona como um cookie Light para aplicar especificações específicas do fabricante a um padrão de luz. Os perfis IES dão às luzes um impulso extra de realismo.
Importe um perfil IES de Assets > Import New Asset. O importador criará automaticamente um Light Prefab com a intensidade correta. Em seguida, basta arrastar o Prefab para a vista Scene ou Hierarchy e ajustar sua temperatura de cor.
No mundo real, a luz reflete e se espalha ao nosso redor. O céu e o solo contribuem para a iluminação do ambiente à medida que fótons aleatórios saltam entre a atmosfera e a terra e, finalmente, para o observador.
No HDRP, você pode usar Visual Environment Override para definir o céu e o ambiente geral de uma cena.
Por exemplo, use Modo ambiente: Dinâmico para definir a iluminação do céu para a substituição atual que aparece em Sky > Typedo ambiente visual.
De outra forma, Modo ambiente: Estático o padrão é a configuração do céu na guia Ambienteda janela Iluminação.
Mesmo com outras fontes de luz desativadas, o Ambiente Visual fornece luz ambiente geral à Cena de Amostra.
Adicionar a luz principal do sol completa a iluminação geral da cena. A luz ambiente ajuda a preencher as áreas de sombra para que não pareçam estranhamente escuras.
HDRP inclui três técnicas diferentes para gerar céus. Defina o tipo de céu como HDRI Sky, Gradient Skyou Physically Based Sky. Em seguida, adicione a substituição apropriada no menu Sky.
Aplicar um ambiente visual Sky é semelhante a envolver todo o mundo virtual com uma esfera gigante iluminada. Os polígonos coloridos da esfera fornecem luz geral do céu, do horizonte e do solo.
HDRI Sky permite representar o céu com um mapa cúbico feito a partir de fotografias de High Dynamic Range (HDRI). Você pode encontrar inúmeras fontes gratuitas e de baixo custo de HDRIs online. Um bom ponto de partida é o Unity HDRI Pack na Asset Store. Se você estiver se sentindo aventureiro, também temos um guia para fotografar seus próprios HDRIs.
Depois de importar seus ativos HDRI, adicione HDRI Sky Override para carregar o HDRI Sky Asset. Isso também permite ajustar opções para Distorção, Rotaçãoe Modo de atualização.
Como o céu é uma fonte de iluminação, especifique o Modo de intensidadee escolha um valor de Exposição/Multiplicador/Lux correspondente para controlar a intensidade da iluminação ambiental. Consulte a folha de referências de Iluminação e Exposição acima para obter exemplos de valores de intensidade e exposição.
Animando camadas de nuvem
Você pode animar seu HDRI Sky e distorcer o mapa HDRI de forma processual ou com um mapa de fluxo. Isso permite simular um efeito de vento em um HDRI estático ou criar outros efeitos visuais específicos.
Escolha Gradient Sky no Visual Environment para aproximar o céu de fundo com uma rampa de cores. Em seguida, adicione o Gradient Sky Override. Use Top, Middlee Bottom para determinar as cores do gradiente.
Misture a rampa de cores com Gradient Diffusione ajuste a Intensidade para a intensidade da iluminação.
Para algo significativamente mais realista do que um gradiente, use o Physically Based Sky Override.
Isso gera processualmente um céu que incorpora fenômenos como o espalhamento de Mie e o espalhamento de Rayleigh, que simulam a dispersão da luz pela atmosfera, recriando a coloração do céu natural. O Sky com base física requer uma luz direcional para uma simulação precisa.
Fumaça, neblina e neblina são ferramentas tradicionais da cinematografia. Eles podem ajudar a adicionar profundidade e dimensão à iluminação do palco ou criar um clima atmosférico.
Use o Fog para obter uma vantagem semelhante no HDRP. Sua opacidade depende da distância do objeto à Câmera. A névoa também pode ocultar o plano de recorte distante da câmera, mesclando a geometria distante de volta à cena.
HDRP implementa Global Fog como um Fog Override. Aqui, a neblina desaparece exponencialmente devido à distância da Câmera e à altura do espaço mundial.
Configure o Fog Override em um volume em sua cena. A Altura Base determina um limite onde a névoa constante e mais espessa começa a diminuir, viajando para cima. A densidade da neblina continua diminuindo exponencialmente, até atingir a Altura Máxima.
Da mesma forma, a Distância de atenuação da neblina e a Distância máxima da neblina controlam como a neblina desaparece com uma distância maior da câmera. Alterne o modo de cor entre uma cor constante e a cor do céuexistente.
Ative a Névoa Volumétrica para simular a dispersão atmosférica. Certifique-se de verificar Nevoeiro e Volumétrico em Iluminação > Configurações de quadro (em Câmera ou em Configurações padrão de HDRP). Além disso, ative a névoa volumétrica no recurso de pipeline HDRP.
Distância de neblina volumétrica define a distância (em metros) do plano de recorte próximo da câmera até a parte traseira de seu buffer de iluminação volumétrica. Isso preenche a atmosfera com um material transportado pelo ar, obstruindo parcialmente os GameObjects dentro do alcance.
A iluminação volumétrica pode simular a renderização de raios solares dramáticos, como raios crepusculares atrás das nuvens ao pôr do sol ou passando pela folhagem.
Cada componente de Luz (exceto Luzes de área) possui um grupo Volumétrico. Marque Enablee defina o Multiplier e o Shadow Dimmer. Uma luz em tempo real ou em modo misto produzirá 'raios divinos' dentro da névoa volumétrica. O Multiplicador ajusta a intensidade, enquanto o Shadow Dimmer controla como as superfícies de projeção de sombra cortam a luz.
A Sala 2 na Cena de Amostra apresenta uma clarabóia e Névoa Volumétrica. A moldura da caixa de vidro esculpe sombras volumétricas dos raios de sol vindos do teto. Aumente o Shadow Dimmer e exagere o Multiplicador para intensificar o efeito.
Se você quiser efeitos de neblina mais detalhados do que o Fog Override pode fornecer, o HDRP também oferece neblina volumétrica local (chamada de componente de volume de densidade antes do HDRP 12).
Este é um componente separado, fora do sistema Volume. Crie um GameObject de Névoa Volumétrica Local no menu (GameObject > Renderização > Névoa Volumétrica Local) ou clique com o botão direito sobre a Hierarquia (Renderização > Névoa Volumétrica Local).
Isso gera uma caixa delimitadora cheia de neblina. Ajuste o tamanho, o controle do eixo e as opções de mesclagem/desbotamento. Por padrão, a névoa é uniforme, mas você pode aplicar uma Textura 3D ao campo Textura na subseção Textura da Máscara de Densidade . Isso dá ao usuário mais flexibilidade em relação à aparência da neblina.
Baixe exemplos em Gerenciador de pacotes > Amostras de textura 3D volumétrica local ou siga os procedimentos da documentação para criar suas próprias máscaras de densidade.
Adicione um pouco de velocidade de rolagem para animação e ajuste o Tiling. Sua Névoa Volumétrica pode então rolar suavemente pela cena.
O HDRP voxeliza a Névoa Volumétrica Local para melhorar o desempenho, embora a voxelização possa parecer grosseira. Para reduzir o serrilhado, use uma textura de máscara de densidade e aumente a distância de mesclagem para suavizar as bordas da neblina.
Nas versões 12 e superiores do HDRP, você pode ativar resoluções volumétricas locais de até 256x256x256 em seu ativo de pipeline HDRP. Isso permite efeitos mais precisos e em grande escala.
Os céus não pareceriam completos sem nuvens. No HDRP 12 e superior, use Cloud Layers para gerar nuvens de aparência natural que complementam Sky e Visual Environment Overrides.
Nuvens Volumétricas produzem nuvens realistas com espessura real que reagem à iluminação e ao vento.
A camada de nuvem é uma textura 2D que você pode animar usando um mapa de fluxo com canais vermelhos e verdes para controlar o deslocamento do vetor. Ele fica em frente ao céu e oferece a opção de projetar sombras no solo.
No modo Play, use a camada de nuvem para adicionar um leve movimento ao céu, tornando o fundo mais dinâmico.
Em um volume local ou global, habilite Nuvens de Fundo no Ambiente Visual. Em seguida, adicione Cloud Layer Override.
O Cloud Map em si é uma textura que usa uma projeção cilíndrica, onde todos os canais RGBA contêm diferentes texturas de nuvens (cúmulos, estratos, cirros e nuvens finas, respectivamente). Você pode então usar os controles da camada de nuvem para combinar cada canal e criar a formação de nuvem desejada.. Existem duas camadas com quatro canais que permitem simular e combinar até oito paisagens de nuvens. Modifique a animação, iluminação, cor e sombras da nuvem ao seu gosto.
Se suas nuvens precisam interagir com a luz, use Nuvens Volumétricas. Eles podem renderizar sombras, receber neblina e criar raios volumétricos de luz. Combine-os com nuvens Cloud Layer ou adicione-os separadamente.
Para ativar nuvens volumétricas em:
- Ativo HDRP: Vá para Iluminação > Nuvens Volumétricas > Nuvens Volumétricas.
- Volume local ou global: Adicione a substituiçãode nuvens volumétricas .
As opções de Controle de Nuvem Avançado e Manual permitem definir mapas para cada tipo de nuvem.
Consulte a documentação Nuvens no HDRP para obter mais informações sobre a camada de nuvem e substituições volumétricas de nuvem . Consulte Novos recursos de iluminação no Unity 2021.2 para uma visão aprofundada das nuvens volumétricas.
Não podemos perceber a luz sem escuridão. Sombras bem posicionadas podem imbuir suas cenas com profundidade e dimensão extras, adicionando tanto caráter quanto a própria iluminação. O HDRP inclui vários recursos para ajustar suas sombras e evitar que suas renderizações pareçam planas.
Mapas de sombra
As sombras são renderizadas usando uma técnica chamada mapeamento de sombras, onde uma textura armazena as informações de profundidade do ponto de vista da luz.
Localize a subseção Shadows do componente Light para modificar o modo de atualização e a resoluçãodo seu mapa de sombras. Resoluções mais altas e configurações de frequência de atualização são mais caras.
Para uma luz direcional, o mapa de sombras cobre uma grande parte da cena, o que pode levar a um problema chamado aliasing de perspectiva. Os pixels do mapa de sombra localizados próximos à câmera parecem irregulares e bloqueados em comparação com aqueles mais distantes.
O Unity resolve isso com Cascaded Shadow Maps, conforme explicado na próxima seção.
Um Mapa de Sombras em Cascata divide o tronco da Câmera em zonas, cada uma com seu próprio Mapa de Sombras. Isso reduz o efeito do alias de perspectiva.
HDRP oferece controle extra de suas Shadow Cascades com o Shadows Override. Use as configurações de cascata de cada volume para indicar onde suas respectivas cascatas começam e terminam.
Alterne o botão Mostrar cascatas para visualizar melhor as divisões em cascata. Com alguns ajustes, você pode manter o alias de perspectiva no mínimo.
Os mapas de sombras muitas vezes não conseguem capturar pequenos detalhes, especialmente em bordas discerníveis onde duas superfícies de malha se conectam. O HDRP pode gerar essas sombras de contato usando a substituição de sombras de contato.
Contact Shadows é um efeito de espaço de tela que depende de informações dentro do quadro para cálculos. Objetos fora do quadro não contribuem para Sombras de Contato. Eles são principalmente eficazes para detalhes de sombra com pequenas áreas ocupadas na tela.
Certifique-se de ativar as sombras de contato nas configurações do quadro. Você também pode ajustar a contagem de amostras no ativo do pipeline em Substituição de sombras de contato em Configurações de qualidade de iluminação.
No LTS 2021 e em versões mais recentes, esse recurso foi aprimorado para funcionar bem com Terrain e SpeedTree. Leia mais no blog.
O HDRP pode estender até mesmo pequenos detalhes de sombra em seus materiais. Micro Shadows usam mapas de oclusão normal e ambiente para renderizar sombras de superfície realmente finas sem usar a própria geometria da malha.
Adicione o Micro Shadows Override a um volume em sua cena e ajuste a opacidade. Observe, entretanto, que Micro Shadows só funcionam com luzes direcionais.