Manual do Mapeador de Luz GPU para Padaria

Padaria - GPU Lightmapper
Manual (v1.5)Capa manual da padaria

Por que usar a padaria

A padaria foi projetada como uma alternativa aos mapeadores de luz existentes e se concentra na solução dos seguintes problemas:

  •  Consertar vários artefatos de cozimento, como costuras, vazamentos de luz / sombra, terminadores de sombra incorretos, etc. Preparar um mapa de luz não deve trazer mais problemas do que renderizar um quadro de câmera em um renderizador offline.
  • Assar todos os tipos de dados de iluminação, não apenas iluminação completa ou apenas GI. A partir de hoje, você pode pedir à Bakery para gerar iluminação direta e indireta mista de todas as fontes de luz suportadas e suas máscaras de sombra.
    A iluminação também pode ser feita por vértice em vez de usar texturas.
  • As informações direcionais podem ser feitas na forma de mapa de direção dominante (modo “direcional” clássico no Unity), 3 mapas para mapeamento normal de radiosidade ou 4 mapas para harmônicos esféricos por pixel (qualidade muito mais alta do que o direcional clássico). Vários modos direcionais podem ser usados ​​em uma única cena em diferentes objetos.
  • Correção física. Os resultados da padaria foram completamente comparados com o M itsuba, um renderizador imparcial bem conhecido. Ao contrário das soluções integradas do Unity, o Bakery suporta a atenuação de iluminação inversa ao quadrado correto (ou se você não gostar, você pode sempre usar o modo de atenuação compatível com o Unity).
  • Suporte de luz IES.
  • Renderizar selecionados (ver detalhes)
  • Suporte LOD.
  • Suporte pré-fabricado cozido.
  • O cozimento de vários mapas de luz comutáveis ​​por objeto está planejado.

Início rápido

  1. Abra o Unity, crie uma nova cena e importe Padaria (A ssets-> Import Package-> Custom Package).

    Início rápido 1
  2. Adicione algum modelo ou primitivo e marque-o como Estático.
    Início rápido 2Início rápido 3
  3. Selecione Directional Light (o único Unity criado para você) e adicione o componente Bakery Direct Light a ele.
    ● As fontes de luz da padaria são separadas das fontes de luz Unity.
  4. O Bakery Direct Light tem muitas configurações para ajustar, mas você pode facilmente combiná-lo com o Unity light. Clique em Match lightmapped to real-time. Agora a luz Bakery deve ter a mesma cor amarelada que o direcional padrão do Unity.
    ● Bakery Direct Light pode reclamar sobre o projeto não usar intensidade de luz linear. O problema é que, por padrão, o Unity aplica a correção de gama às cores da fonte de luz de maneira incorreta. O modo correto pode ser habilitado por script, e é isso que o botão “Reparar” faz. Se você já tem muitas fontes de luz configuradas com o modo de intensidade incorreto e não deseja alterá-las novamente, pode pular a correção. Mesmo se você pressionar “Corrigir”, você sempre pode reverter a alteração a qualquer momento.
    Início rápido 4
  5. Para obter iluminação ambiente sombreada, crie Skylight (Bakery-> Create-> Skylight).
    Início rápido 5
  6. Selecione Skylight, dê a ele um pouco de cor azulada e clique em M atch scene skybox para esta luz. Isso fará com que o camarote corresponda exatamente à iluminação.
    ● Você sempre pode fazer das duas maneiras: combinar o camarote com a clarabóia ou a clarabóia com o camarote.
    Início rápido 6
  7. Clique em Padaria-> Renderizar Lightmap. Por padrão, o modo Iluminação total está ativo. Ele vai assar a contribuição direta e indireta de todas as luzes. Se você quiser combinar sombras em tempo real com GI cozido, mude para Indireto.
    ● A padaria pode reclamar que você está usando o modo gama antigo e sugerir alterá-lo. Se você se preocupa com a qualidade da iluminação, o uso do modo Linear é altamente recomendado. A única desculpa para não usá-lo é quando você já tem um grande projeto configurado com gama incorreta e não quer alterá-lo.
    Início rápido 7
  8. Clique em Render.
  9. Feito! Agora você deve ter cozido GI.
    Início rápido 8

Configurações de renderização

Todas as configurações de renderização podem ser acessadas via Bakery-> Render Lightmap. As configurações são salvas para cada cena. A primeira opção que você verá (chamada Configurações) permite alternar entre as configurações Simples, Avançado e Experimental. Simples é suficiente para a maioria das tarefas.
Configurações padrão:

  • Modo de renderização: define que tipo de mapas de luz preparar.
  • Iluminação Completa irá gerar iluminação direta e indireta completa. Se você tiver os componentes Unity e Bakery na mesma luz, será necessário desabilitar os do Unity para evitar o brilho duplo.
  • Indireto é um modo misto básico. Ele vai olhar para a caixa de seleção Assar para Indireto em cada luz: se estiver LIGADA, a luz é cozida como no modo Full Lighting. Se estiver DESLIGADO, apenas a contribuição indireta (GI) desta luz é cozida. No último caso, você deve manter as luzes Unity e Bakery no objeto, uma dando contribuição direta em tempo real e outra para GI pré-computado. Bake to Indirect está habilitado por padrão para Skylights e Light Malhes, porque o Unity não pode reproduzir sua iluminação em tempo real.
  • Shadowmask é um modo misto mais avançado. Ele funciona gerando 2 tipos de mapas de luz - um com cor indireta (como no modo Indireto, então as caixas de seleção Bake To Indirect ainda se aplicam) e outro com sombras de objetos estáticos. Tem vários benefícios:
  • As sombras em tempo real podem renderizar apenas um punhado de objetos dinâmicos, em vez de toda a cena.
  • Sombras em tempo real e definidas combinam-se corretamente.
  • Luzes em tempo real podem renderizar efeitos de colisão, especular e outros efeitos de superfície, ao mesmo tempo em que são obstruídas por sombras cozidas de alta qualidade.
    Atualmente, apenas Direct, Point e Spotlights podem interagir com shadowmasking (porque são os únicos tipos que o Unity suporta em tempo real). Para habilitar este comportamento, você deve ter as luzes Unity e Bakery no mesmo objeto, com a caixa de seleção Shadowmask habilitada no último.
  • Máscara de sombra de distância: esta caixa de seleção só fica visível se você escolher a máscara de sombra e simplesmente alternar a configuração com o mesmo nome nas Configurações de qualidade do projeto.
    ● Esta caixa de seleção não aparece no Unity 5.6.x devido à falta da API de script correspondente. Em vez disso, você pode alternar em Janela-> Iluminação-> Iluminação mista-> Modo de iluminação.
    Configurações de renderização 1Configurações de renderização 2
    Configurações de renderização 2Superior: a padaria está definida para o modo indireto e a luz em tempo real está ativada. Apenas GI é cozido.
    Inferior: a padaria está definida para o modo Completo e a luz em tempo real está desativada. Ambos GI e sombras são preparados, mas não há sombra do personagem dinâmico.
    Uma comparação de modo de renderização mais completa, agora com Shadowmask:
    Configurações de renderização 3Como se pode concluir, Distance Shadowmask é o modo de qualidade mais alta disponível até agora, com o único problema de objetos dinâmicos não sombreados fora da faixa de sombra dinâmica, enquanto o modo Shadowmask regular também é relativamente barato para renderizar.
    Aqui está também uma comparação de diferentes configurações de luz usando o modo Shadowmask. Cubos pequenos são estáticos, enquanto as cápsulas são dinâmicas:Configurações de renderização 4Esquerda: luz completamente cozida. Centro: luz dinâmica com GI cozido. À direita: a sombra da cápsula, o relevo e o especular são dinâmicos, mas a sombra do cubo e o GI são cozidos.
    Quando a câmera se distanciar o suficiente ou se as sombras dinâmicas estiverem desativadas, a mesma cena ficará assim:
    Configurações de renderização 5
  • Devido às antigas limitações do Unity, renderizar mapas de luz Shadowmask em versões anteriores a 2017.3 pode limpar as sondas de luz. Eles precisarão ser renderizados novamente após o cozimento. Isso não deveria acontecer em 2017.3 e nas versões mais recentes.
  • Modo direcional: define como as informações direcionais são criadas. Os lightmaps padrão armazenam apenas uma única cor por texel, enquanto os lightmaps direcionais dão aos shaders uma dica de como a iluminação muda em um hemisfério ao redor do texel. Esses dados são necessários para combinar áreas totalmente iluminadas com mapas normais. Conectá-lo ao sombreador Bakery integrado também pode produzir uma resposta especular aproximada. Os modos disponíveis são:
    Nenhum: sem dados direcionais, cor única por texel.
    Mapas normais assados: still no directional data, but normal maps are taken into account when rendering the lightmap. There is no additional runtime overhead. Since lightmaps usually have lower resolution than normal maps, the result may look blurry. Other problems include aliasing at distance due to lack of mipmapping and denoising step potentially smudging the detail. To learn how to use custom shaders with procedural normals in this mode, read ​S hader
    Seção de compatibilidade.
    - Direção Dominante: este modo é semelhante ao que Enlighten e Progressive bake in Unity. É compatível com a maioria dos shaders, gera apenas 1 mapa adicional e a sobrecarga do tempo de execução é mínima. A desvantagem é que o mapeamento de relevo parece bastante tênue e acinzentado e pode ser bem diferente em comparação com o mesmo objeto sob iluminação em tempo real.
    - RNM: baseado na técnica de Radiosity Normal Mapping originalmente inventada para HL2 (s lides) e mais tarde usada em muitos jogos (por exemplo, Mirror's Edge). Ele gera 3 mapas HDR no total, sendo o modo que mais demanda memória de todos. A sobrecarga do tempo de execução ainda é relativamente baixa. Este modo é mais preciso do que a direção dominante. É melhor para reproduzir o contraste da superfície e lidar com luzes coloridas que afetam mapas normais de diferentes ângulos.
    - SH: baseado no artigo “Precomputed Global Illumination in Frostbite”. Este é o modo de qualidade mais alta, proporcionando um contraste de superfície muito melhor e representando iluminação com cores diferentes vindas de direções diferentes. Gera 4 mapas no total, sendo apenas um deles HDR, portanto, ocupa menos memória do que o RNM. A sobrecarga do tempo de execução é um pouco maior do que a do RNM.
    ● RNM e SH só podem ser usados ​​com o sombreador Bakery ou exigem ajustes em seus sombreadores.
    ● Nos modos RNM e SH, mapas de luz de cor padrão não são criados. Você precisa ter o sombreador Bakery em todos os materiais na cena ou usar Grupos do L ightmap para separar os objetos RNM / SH do resto.
    ● Os mapas RNM e SH são aplicados a objetos usando M aterialPropertyBlock e, portanto, podem não ser exibidos completamente na janela de iluminação do Unity.
    ● Os modos Direção dominante, RNM e SH podem exigir um pouco mais de samples para GI e Light Malhes para obter uma qualidade comparável.Configurações de renderização 6
    - Texels por unidade: quantidade aproximada de pixels do mapa de luz por unidade mundial. Afeta a quantidade e a resolução dos mapas de luz gerados.
    ● Se o objeto tiver um mapa de luz atribuído manualmente (por meio do componente Bakery Lightmap Group Selector), ele ignorará este parâmetro.Configurações de renderização 7
    Esquerda: 5 texels por unidade, direita: 20 texels por unidade.
    Exampos valores para você começar:
    - Grande área externa: 1 - 5
    - Área externa média: 10-20
    - Interior de alta qualidade: 100
    Lembre-se de que Texels por unidade é a resolução básica, mas cada objeto pode ser adicionalmente ajustado usando a opção “Escala no mapa de luz” nos renderizadores de malha, bem como “Escala por tipo de mapa”.
    - Rebatidas: quantas vezes os raios de luz devem refletir nas superfícies. Normalmente, valores mais baixos são suficientes para cenas externas (por exemplo, uma cidade), enquanto valores mais altos são necessários para cenas mais fechadas (interiores, cavernas).
    Configurações de renderização 8
    Observe como mais reflexos trazem mais luz para espaços fechados.
    – Samples: afeta a qualidade do GI. Os valores típicos são de 16 a 32.
    Configurações de renderização 9Esquerda: samples = 4, certo: sample = 16. Denoising está desativado para fins ilustrativos.
    - Prioridade GPU: enquanto a GPU está trabalhando em mapas de luz, o sistema operacional e outros softwares podem se tornar menos responsivos. Esta opção permite que você equilibre a velocidade de cozimento e a capacidade de resposta do sistema.
    - Render: coze mapas de luz para todas as cenas abertas. - Render Selected Groups: somente coze Grupos de Lightmap contendo objetos selecionados.
    ● Não apenas os objetos selecionados serão redesenhados, mas todos os grupos de Lightmap aos quais eles pertencem. Outros mapas de luzes não serão atualizados. Se os objetos não fizerem parte de algum grupo atribuído manualmente, uma parte da cena usando o mesmo mapa de luz será refeita.
    - Render Light Probes: coze sondas de luz para todas as cenas abertas.
    - Render Reflection Probes: prepara as sondas de reflexão para todas as cenas abertas.
    - Atualizar a sonda Skybox: cozinha a reflexão / luz da skybox para a skybox atual.
    - Caixa de seleção de sondas de oclusão: quando Render Light Probes é pressionado, permite que o Unity cozinhe sondas de oclusão usando o mapeador de luz integrado atualmente selecionado. As sondas de oclusão evitam que objetos dinâmicos sejam iluminados em áreas sombreadas. Atualmente, não há como usar sondas de oclusão personalizadas no Unity, e ele precisa chamar seus próprios mapeadores de luz para fazer o trabalho. - Avisos: essas opções irão validar a cena depois que um dos botões Render for pressionado e mostrar caixas de diálogo de aviso pedindo para continuar ou parar o processo de cozimento. Existem 3 opções:
    - Validação de UV: irá verificar se todos os modelos possuem UVs de mapeamento de luz totalmente corretos
    - especificamente se estiverem dentro do intervalo de 0-1 e não se sobreporem.
    - Verificação de substituição: dirá qual mapa de luz files serão substituídos.
    - Verificação de memória: dirá uma quantidade aproximada de memória de vídeo necessária.
    – Sample contagem de verificação: irá verificar se alguma luz, GI ou AO tem s irracionaisample contagens que podem fazer com que a GPU fique sem recursos disponíveis. - Validação de pré-fabricados com Lightmap: valida os pré-fabricados com mapas de luz e notifica se alguns pré-fabricados serão substituídos.

Configurações avançadas

  • Ajustar o preenchimento de UV: se habilitado, irá procurar modelos com UVs gerados automaticamente (“Gerar UVs de mapa de luz” no ativo) e ajustá-los ainda mais para ter um preenchimento adequado entre as ilhas de UV por malha. A margem do pacote para todo o modelo nas configurações do importador é ignorada. Em vez disso, os valores ideais são calculados, dada a área de cada malha e a resolução do mapa de luz.
  • Denoise: se ativado, aplicará o algoritmo de eliminação de ruído. Bakery usa o denoiser de IA de N vidia.
    Configurações avançadas 1Esquerda: denoising desativado, direita: denoising ativado.
  • Consertar costuras: se ativado, tentará mesclar costuras criadas por descontinuidades UV. Útil para geometria suave, incluindo a esfera padrão do Unity.
    Configurações avançadas 2Esquerda: costuras, direita: as costuras são fixas.
  • Dividido por cena: se várias cenas forem carregadas de uma vez, e esta opção estiver habilitada, cada cena terá seu próprio conjunto de mapas de luz, não compartilhado com outras pessoas. Pode ser útil para limitar a quantidade de texturas carregadas quando as cenas são transmitidas em tempo de execução.
  • Escala por tipo de mapa: permite dimensionar a resolução de mapas de cor / máscara de sombra / direção de maneira diferente.
    Por exemploample, um caso comum seria ter uma cor indireta de baixa resolução, mas uma máscara de sombra altamente detalhada. Observe que o dimensionamento é aplicado após os mapas de luz serem renderizados, portanto, não economizará tempo de cozimento. Se “Ajustar preenchimento UV” estiver ativado, o preenchimento será baseado no mapa de resolução mais baixa para evitar vazamento de texel.
  • Checker préview​: se a caixa de seleção Mostrar verificador estiver ativada, Cena View irá renderizar um padrão quadriculado em cima de objetos visíveis para demonstrar o tamanho do lightmap texel. Isso é útil para ter certeza de que você está usando valores adequados para Texels por unidade e outras configurações que afetam a resolução antes de assar.
    Ativando verificador préview forçará a Padaria a realizar o empacotamento do atlas. Pode demorar algum tempo, mas não deve demorar mais do que alguns segundos. Pressione Atualizar verificador para refazer o atlas da cena depois de alterar algo para ver as alterações.
    Checker préview também usa cores aleatórias para mostrar como a cena será dividida em diferentes mapas de luz.
    ● Checker préview atualmente não mostra os tamanhos texel corretos para Terrains.
    Configurações avançadas 3
  • Impulso emissivo: multiplica qualquer emissão de superfície por este número. - Impulso indireto: multiplica toda a iluminação refletida por este número. O mesmo que Intensidade direta em componentes leves, mas global.
  • Backface GI: determina quanta luz é passada das faces frontais para as faces posteriores e, em seguida, é refletida pelo GI. Isso é especialmente útil para superfícies translúcidas finas como folhas. Os valores estão no intervalo 0-1:
    Configurações avançadas 4
    Configurações avançadas 4Esquerda: backface GI = 0, direita: backface GI = 1.
  • Oclusão ambiental:oclusão ambiente não física simples que você pode aplicar sobre a iluminação final da cena para fins estéticos.
    Configurações avançadas 6Esquerda: AO desligado, direita: AO ligado.
    - Intensidade: controla a visibilidade do efeito AO. O valor 0 desativa o efeito.
    - Raio: determina a distância do raio usado no efeito AO. Valores menores fornecem oclusão localizada (cantos, rugas), enquanto valores maiores o tornam mais semelhante ao Skylight, dando sombras de objetos distantes.
    – Samples: afeta a qualidade da oclusão do ambiente. Os valores típicos são de 4 a 32.
  • GI VRAM otimização: alterna a otimização da memória usada para cenas muito grandes, especialmente ao preparar muitos mapas de luz de uma vez. Se ativado, pode tornar a renderização um pouco mais lenta. Se desativado, e a cena for muito grande, Bakery pode ficar sem memória.
    - Auto: adivinhe se a otimização é necessária com base em cenas abertas. A estimativa é apenas aproximada, portanto, se você sabe que a cena é enorme, defina-a como Forçar Ligado.
    - Forçar Ligado: sempre habilitado.
    - Forçar desligamento: sempre desativado.
  • Tamanho do bloco: igual à Prioridade da GPU, mas em vez da prioridade abstrata, você define o tamanho do bloco. A padaria divide mapas de luz em blocos menores e atualiza um de cada vez. Tamanho menor significa mais interrupções de trabalho da GPU e pode tornar o sistema mais responsivo.
  • Caminho temporário: temporário filepasta s. A padaria pode exigir alguns gigabytes de espaço livre durante a renderização. Ter esta pasta no SSD pode tornar a renderização um pouco mais rápida em comparação com o HDD. No momento, esta pasta não é limpa automaticamente. Você pode excluir seu conteúdo a qualquer momento (exceto durante a renderização).
  • Caminho de saída: pasta lightmap. É aqui que todos os lightmap e também lightprobe e vertex color assets serão salvos. Este caminho é relativo à sua pasta de ativos.
  • Use caminho de saída denominado cena: se esta opção for ativada, o caminho de saída será automaticamente definido para uma pasta com o mesmo nome da cena atualmente ativa. Isso é semelhante a como os lightmappers integrados do Unity se comportam.
  • Combine com o Enlighten em tempo real GI: se habilitado, então quando o botão Render for pressionado, ele tentará primeiro assar com Enlighten para calcular GI em tempo real. Depois disso, o processo regular de mapeamento de luz do Bakery acontecerá. O GI cozido e em tempo real funcionarão juntos.
  • Sinal sonoro ao terminar: se habilitado, a padaria tocará um som quando o cozimento terminar.

Configurações experimentais

  • Exporte geometria e mapas: se ativado, o Bakery exportará a cena para seu formato antes da renderização. Se você tiver certeza de que a geometria e as texturas da cena e as configurações de resolução do mapa de luz não foram alteradas (por exemplo, você está apenas ajustando as configurações de GI ou luz), você pode desabilitar esta caixa de seleção para tornar a próxima renderização mais rápida.
  • Atualize as luzes não modificadas: se ativado, o Bakery recalculará as fontes de luz que não foram alteradas desde a última renderização. Se você estiver ajustando apenas uma luz e não quiser esperar que outras luzes sejam renderizadas novamente, você pode desabilitar esta caixa de seleção.
  • Atualizar luzes modificadas e GI: Se habilitado, Bakery irá recalcular GI e luzes que foram alteradas desde a última renderização.
  • Preenchimento UV: increase only​: only visible if ​Adjust UV padding is on. By default, optimal UV padding for a model asset is calculated only based on currently loaded scenes. If there are multiple instances of the same model using different lightmap resolution, the smallest one will define padding, so spacing between UV charts is large enough to prevent them from leaking over each other. However, baking the same model in 2 different isolated scenes will possibly break UVs in previous scenes while optimizing for the new one. This checkbox allows to prevent such behaviour by never decreasing the padding value, so it will be always optimized for the lowest resolution instance ever baked.
  • Denoise: corrigir bordas brilhantes: visível apenas se Denoise estiver ativado. Às vezes, a rede neural usada para a redução de ruído pode produzir bordas brilhantes ao redor das sombras, como se um efeito de nitidez fosse aplicado. Se esta opção estiver habilitada, a Padaria tentará filtrá-los. Denoising stage pode ficar um pouco mais lento, quando ativado.
    um close de um logotipoEsquerda: uma borda brilhante é visível após a redução de ruído; Certo: fixo.
  • Otimização do terreno: Se habilitado (padrão), Terrains usa técnica separada de traçado de raio para obter o avançotage de sua geometria de campo de altura. Caso contrário, eles são tratados como qualquer outra malha. A otimização do terreno reduz significativamente o tempo e o consumo de memória necessários para paisagens de alta resolução.

Escala no mapa de luz
A opção Escala no mapa de luz disponível em todos os renderizadores de malha afetará a resolução do objeto em atlas de mapa de luz gerados automaticamente. Além disso, de forma semelhante aos lightmappers integrados do Unity, definir este valor como 0 fará com que o objeto não tenha nenhum mapa de luz, mas lançará sombras de mapa de luz e afetará GI em objetos cozidos.

Componentes

Seletor de grupo de mapa de luz de padaria
Especifica qual Lightmap Group usar para o objeto e todos os seus filhos.
Grupo Lightmap é um termo que Bakery usa para uma coleção de objetos que compartilham 1 mapa de luz. Os grupos têm propriedades que dizem ao Bakery como empacotar os objetos, quais luzes devem afetá-los, caso o resultado seja incorporado a uma textura ou vértices.
Por padrão, todos os objetos estáticos são empacotados automaticamente em vários grupos de mapas de luz, então você não precisa se preocupar. Definir grupos manualmente deve ser usado apenas para fins especiais, por exemploampem:

  • A marcação de certos objetos usa mapa de luz por vértice em vez de texturas.
  • Cozinhar um mapa de luz usando UVs fora de escala exatos, como estavam em um pacote de modelagem.
  • Agrupando certas áreas do nível para usar um único mapa de luz para facilitar o fluxo de recursos ou para alternar diferentes iluminações cozidas em tempo de execução por meio de scripts. -
  • Usando o botão Render Selected para atualizar apenas objetos agrupados.

Para definir manualmente um grupo, você cria Ativos de Grupo de Lightmap, usando Ativos-> menu Criar ou usando o botão Criar Novo no componente. Ao usar o botão Criar Novo, um novo ativo será criado com base nestes formulários:

  • Nome: Nome do Ativo do Grupo Lightmap a ser criado.
  • Modo de embalagem:Este seletor define o modo de embalagem do Grupo Lightmap. Existem 3 modos:
  • UV original: objeto e seus filhos serão cozidos com UVs não modificados. Nenhuma embalagem é realizada. Isso é útil para modelos quando várias malhas compartilham o mesmo layout UV já compactado.
  • Pacote Atlas: objeto e seus filhos são compactados em um atlas de textura dedicado. Antes da v1.3, cada criança compactável precisava ter o componente, mas não é mais necessário. Cada filho será empacotado como seu próprio retângulo, exceto quando Bakery detecta automaticamente um filho com sub-filhos não sobrepostos; nesse caso, vários objetos podem usar um único retângulo.
  • Vértice: objeto e seus filhos usarão iluminação cozida na cor do vértice em vez de texturas. Observe que você precisará de um shader personalizado para que isso funcione, como o Bakery Shader. Um shader simples (“Bakery / Simple Vertex Lightmapped”) também está incluído para demonstração e referência. Ver
    notas.
  • Modo direcional: permite que você substitua o modo direcional no grupo. As opções são iguais, exceto Auto, que simplesmente usará a configuração global.
  • Resolução: resolução de mapa de luz desejada.
  • Bitmask: uma lista de alternadores usados ​​para impedir que fontes de luz afetem o mapa de luz. Cada fonte de luz Bakery também tem uma configuração de bitmask. As luzes afetam apenas os grupos de mapas de luz com os quais compartilham pelo menos um desses alternadores. As configurações padrão significam que todas as luzes afetam todos os mapas de luz.

Se você tiver um Grupo de Lightmap com o modo P ack Atlas atribuído, configurações adicionais aparecerão no componente:

  • Resolução de substituição: sobrescrever a resolução que este objeto e seus filhos ocupam no mapa de luz.
  • Resolução: resolução definida manualmente. Por example, se você tiver um mapa de luz com uma resolução de 512 e ele for atribuído a 4 objetos com resolução de substituição definida para 256, o Bakery irá gerar um único mapa de luz de 512 × 512 onde cada objeto ocupa exatamente 256 × 256 quadrados.

Padaria Lightmapped Prefab
Introduzido na v1.45, este componente permite pré-fabricados armazenar metadados de mapeamento de luz. Esses pré-fabricados podem ser instanciados em qualquer cena, tanto no editor quanto no tempo de execução.
O componente deve ser adicionado diretamente ao objeto raiz do pré-fabricado. Como o pré-fabricado será sobrescrito após o cozimento (da mesma forma que quando o botão "Aplicar" é pressionado), é necessário que o pré-fabricado não tenha nenhuma alteração não aplicada (objetos filhos não devem ser movidos, materiais e parâmetros de script deve permanecer inalterado, etc). Se tais mudanças forem detectadas, um erro será mostrado na IU do componente e nenhum metadado será salvo após o cozimento. Se o aviso de “validação do pré-fabricado com mapa de luz” estiver habilitado, todos os erros do pré-fabricado também serão mostrados em uma janela antes do cozimento.
Os pré-fabricados com mapas de luz suportam todos os recursos de padaria, como LODs, terrenos, mapas de luz direcionais, RNM, SH, modos por vértice e máscaras de sombra. Para que as máscaras de sombra funcionem, você precisa que as luzes também façam parte do mesmo pré-fabricado.

  • Observe que as máscaras de sombra pré-fabricadas funcionam apenas no Unity 2017.4 ou mais recente devido às limitações da API.
    Depois de assar, um objeto chamado “BakeryPrefabLightmapData” será adicionado ao pré-fabricado. Este objeto contém um script com todos os dados necessários para aplicar os mapas de luz.
    Controles:
  • Salve as configurações de renderização atuais no pré-fabricado: armazena uma cópia das configurações de renderização atuais neste pré-fabricado. Isso não é necessário, mas pode ser útil para copiar rapidamente as configurações entre as cenas.
  • Carregue as configurações de renderização do pré-fabricado: define as configurações de renderização atuais para aquelas armazenadas na casa pré-fabricada.

Luz direta para padaria

Luz direcional infinitamente distante (por exemplo, Sol). Definições:

  • Cor: cor.
  • Intensidade: multiplicador de cor linear.
  • Propagação da sombra: tamanho da fonte de luz ou, simplesmente, borrão da sombra. 0 = sombras nítidas máximas, 1 = sombras desfocadas máximas. Tecnicamente, ele interpola de um único raio para um cone de raios mais amplo.
    um close de uma caixaEsquerda: propagação da sombra = 0.01, direita: 0.05. Observe como as sombras começam nítidas e ficam gradualmente mais desfocadas com a distância.
  • Sombrasamples: afetam a qualidade das sombras. Quanto menor o valor de Shadow Spread, menos samparquivos são necessários para uma imagem limpa. Os valores típicos para sombras do sol são de 1 a 16. Configuraçõesampvalores para 0 farão com que as sombras desta luz desapareçam.
  • Bitmask: uma lista de alternadores usados ​​para excluir esta fonte de luz de afetar grupos de Lightmap particulares.
  • Asse para indireto: se ativado, a iluminação completa (contribuição direta e indireta) dessa luz será cozida no modo de renderização Indireto ou Máscara de sombra. Incompatível com a caixa de seleção Shadowmask.
  • Shadowmask: coze uma máscara de sombra separada para esta luz, então sombras dinâmicas e estáticas podem ser misturadas. Só funciona quando o modo de renderização também está definido como Shadowmask. Incompatível com caixa de chekbox do Bake To Indirect.
  • Máscara de sombra Denoise: determina se a redução de ruído deve ser aplicada à máscara de sombra desta luz. Normalmente não é necessário, pois as sombras não exibem muito ruído, mas podem ser úteis para sombras borradas muito largas (grande propagação de sombras).
  • Intensidade indireta: multiplicador GI não físico para esta luz. Deve ser 1 para iluminação natural, mas pode ser modificado para cenas mais estilizadas.
  • Se o mesmo objeto tiver as fontes de luz Unity e Bakery ativadas e elas não corresponderem, 2 botões aparecerão:
    Combine o mapa de luz com o em tempo real: copiar configurações comuns da luz Unity para a luz Bakery.
    - Corresponder em tempo real ao mapeado por luz: copie as configurações comuns de Bakery light para Unity light.

Padaria Sky Light

Luz ambiente sombreada infinitamente distante (céu). Definições:

  • Cor: cor.
  • Intensidade: multiplicador de cor linear.
  • Textura do céu: recurso de mapa de cubo opcional, por exemplo, panorama HDRI para afetar as cores de iluminação de diferentes direções.
    ● Girar o GameObject do sky light girará a iluminação do mapa do cubo de acordo.
  • Samples: afeta a qualidade das sombras. Os valores típicos são de 8 a 32.
  • Hemisférico: se ativado, a iluminação virá apenas de cima (hemisfério superior). Do contrário, de todas as direções
    um close de uma caixaEsquerda: não hemisférica, direita: hemisférica.
  • Bitmask: uma lista de alternadores usados ​​para excluir esta fonte de luz de afetar grupos de Lightmap particulares.
  • Asse para indireto: se ativado, a iluminação completa (contribuição direta e indireta) desta luz será cozida no modo de renderização Indireto ou Máscara de sombra. Este é o comportamento padrão para todas as Sky Lights, já que não existe uma versão em tempo real para emulá-las no Unity.
  • Se as configurações da luz do céu e a cena atual do skybox não corresponderem, 2 botões aparecerão:
    - Combine esta luz com a cena do camarote: copie as configurações comuns do material do camarote ativo para a luz do céu da padaria. Atualmente ele só pode combinar skyboxes usando os shaders “Skybox / Cubemap” ou “Skybox / Bakery skybox”.
    - Combine o skybox da cena com esta luz: copie as configurações comuns do skylight Bakery para o skybox da cena.

Malha leve para padaria

Malha emissiva de qualquer formato. Deve ser usado junto com o componente Mesh Renderer ou com um componente Light definido para o modo Area. Definições.

  • Cor: cor
  • Intensidade: multiplicador de cor linear.
  • Corte: distância máxima de iluminação. A padaria usa a fórmula de queda de S kyforge para equilibrar entre a queda correta do inverso do quadrado e os limites práticos. É o melhor quando o valor de corte é apenas onde a queda física fica muito fraca.
  • Samples Near: afetam a qualidade da iluminação perto da malha. Os valores típicos são de 16 a 64.
    ● “Samples Near ”está disponível apenas quando Self Shadow está ativado.
  • Samples Far: afeta a qualidade da iluminação longe da malha. Os valores típicos são de 4 a 4096.
    ● A padaria mistura 2 algoritmos diferentes para luzes de área com base na proximidade texel da luz. Perto da luz, ele funciona de forma semelhante ao algoritmo GI, enquanto longe a luz é aproximada como uma nuvem de luzes pontuais virtuais.
    ● Se você continuar obtendo resultados sujos / barulhentos, tente configurar Samples Perto de 0. Então, apenas o algoritmo VPL é usado. Também é útil para luzes muito simples, onde a precisão não é importante (por exemplo, luzes de janela em um edifício).
    ● Light Malhes não recebem iluminação por conta própria e não são mapeados por luz.
    ● Uma malha leve com muitos polígonos é mais rápida de assar do que muitas malhas leves simples.
    Esquerda: Samples Próximo = 0, Sampmenos Longe = 4096.
    Meio: Samples Próximo = 0, Sampmenos Longe = 128.
    Direitosamples Próximo = 16, Sampmenos Longe = 128.
    Observe como a aparência da iluminação é semelhante, mas menos combinadaamparquivos são usados.
  • Self Shadow: determina se a própria malha de luz projeta sombras.
    Esquerda: a malha de luz não projeta sombra, à direita: a malha de luz projeta uma sombra atrás.
  • Bitmask: uma lista de alternadores usados ​​para excluir esta fonte de luz de afetar grupos de Lightmap particulares.
  • Asse para indireto: se ativado, a iluminação completa (contribuição direta e indireta) desta luz será cozida no modo de renderização Indireto ou Máscara de sombra. Este é o comportamento padrão para todos os Light Malhes, já que não existe uma versão em tempo real para emulá-los no Unity.
  • Intensidade indireta: multiplicador GI não físico para esta luz. Deve ser 1 para iluminação natural, mas pode ser modificado para cenas mais estilizadas.
  • Se o material de malha e as configurações de luz não corresponderem, 2 botões aparecerão:
    - Combine a luz com o material: copie configurações comuns de material de malha apagado ou luz de área para luz de padaria.
    - Combine o material com a luz: copie as configurações comuns da luz de padaria para o material de malha apagado ou a luz de área.

Luz de ponto de padaria
Ponto de luz, não tem área. Apesar da impossibilidade física, é útil para jogos e a única maneira de combinar as luzes de ponto e spot do Unity. Definições:

  • Cor: cor.
  • Intensidade: multiplicador de cor linear.
  • Propagação da sombra: embaçamento da sombra. Embora as luzes pontuais não tenham área, geralmente é desejável que ainda haja sombras borradas. Para este propósito, as sombras são simuladas como se fossem projetadas de uma luz de área esférica. Este parâmetro define o raio de tal esfera virtual, afetando diretamente o borrão.
    um close up de um edifício de pedra que tem um piso de ladrilhoEsquerda: Shadow Spread = 0.5, direita: Shadow Spread = 1.
  • Queda física: se ativado, usará a fórmula de queda de Skyforge para equilibrar entre a queda correta do inverso do quadrado e os limites práticos. Caso contrário, tentará imitar a queda do Unity. Saiba mais na seção Ajustes do Shader do B akery abaixo.
  • Alcance: se a queda física for desabilitada, é igual ao alcance da luz da Unity. Se estiver ativado, desaparecerá apenas um pouco da queda física na borda.
  • Samples: afeta a qualidade das sombras. Os valores típicos são de 1 a 512. Configuração sampvalores para 0 farão com que as sombras desta luz desapareçam.
  • Máscara de projeção: tipo de máscara / cookie. Opções: - Omni: sem máscara, igual ao Point Light da Unidade.
    - Cookie: projeção de textura de biscoito. Opções adicionais:
    - Textura do biscoito: Ativo de textura 2D. A padaria inclui a textura Spot Light original do Unity (denominada ftUnitySpotTexture) que você pode usar para imitá-la.
    - Ângulo: ângulo de projeção da textura (semelhante ao Spot Light da Unidade).
    - Cubemap: projeção de cookie de mapa de cubo. Opções adicionais:
    - Mapa de cubo projetado: ativo de mapa de cubo.
    - IES: a iluminação é modulada pelo IES file dados. Opções adicionais:
    - IES file​: file com extensão .ies.
    um close de um logotipo
    Da esquerda para a direita: Omni, Cookie (textura pontual padrão), Cubemap, IES.
  • Bitmask: uma lista de alternadores usados ​​para excluir esta fonte de luz de afetar grupos de Lightmap particulares.
  • Asse para indireto: se ativado, a iluminação completa (contribuição direta e indireta) dessa luz será cozida no modo de renderização Indireto ou Máscara de sombra. Incompatível com a caixa de seleção Shadowmask.
  • Shadowmask: coze uma máscara de sombra separada para esta luz, então sombras dinâmicas e estáticas podem ser misturadas. Só funciona quando o modo de renderização também está definido como Shadowmask. Incompatível com caixa de chekbox do Bake To Indirect.
  • Intensidade indireta: multiplicador GI não físico para esta luz. Deve ser 1 para iluminação natural, mas pode ser modificado para cenas mais estilizadas.
  • Se o mesmo objeto tiver as fontes de luz Unity e Bakery ativadas e elas não corresponderem, 2 botões aparecerão:
    - Combine lightmapped para em tempo real: copie as configurações comuns da luz Unity para a luz Bakery.
    - Combine em tempo real com lightmap: copie as configurações comuns da Bakery light para a Unity light.

Ajustes de shader de padaria

Bakery oferece modificações opcionais de sombreador que podem ser aplicadas aos sombreadores Unity para melhorar os gráficos. O menu de ajustes de shader pode ser acessado via Padaria-> Ajustes de shader.
Essas opções farão o patch de inclusões de shader do Unity (da pasta CGIncludes) que são usados ​​pela maioria dos shaders integrados e de terceiros. Todas as modificações afetarão todos os projetos abertos com esta versão do editor, mas também podem ser facilmente revertidos.
● Os ajustes de shader atualmente não funcionam para HDRP e LWRP.
Todas as modificações disponíveis são apresentadas como botões. Pressione o botão para aplicar a modificação e ele permanecerá pressionado. Desaperte o botão para remover a modificação. Opções disponíveis atualmente:

  • Use interpolação bicúbica para mapas de luz: use interpolação bicúbica em vez de bilinear padrão. Este ajuste corrige muito bem muitas bordas irregulares de mapas de luz de baixa resolução. Atualmente ele funciona apenas em DX11 e consoles modernos, enquanto outras plataformas continuarão usando interpolação bilinear.
    Ajustes de shader de padaria 1
  • Esquerda: filtragem bilinear padrão. À direita: filtragem bicúbica.
  • Use multiplicação para máscara de sombra: combine sombras estáticas e dinâmicas usando multiplicação em vez do mínimo. Por razões desconhecidas, o Unity decidiu usar o operador mínimo por padrão e produz artefatos que não estão presentes com a multiplicação:
    Esquerda: ambas as sombras são cozidas.
    Centro: a sombra esférica é dinâmica e a outra sombra é estática. Combinado com este ajuste de sombreador.
    Direita: igual ao centro, mas sem o ajuste.
  • Use redução de luz física (para frente): substitua a atenuação padrão de pontos / pontos de luz em tempo real pelo inverso ao quadrado fisicamente correto. “Alcance” irá desaparecer ligeiramente próximo à borda (corresponde às luzes de Bakery com a caixa de seleção Physical Falloff). Afeta apenas o renderizador para frente.
  • Usar diminuição de luz física (diferido): igual ao anterior, mas afeta apenas o renderizador diferido.
    Ajustes de shader de padaria 3Esquerda: queda da unidade. Certo: queda física.
    Observe um fim abrupto inevitável e irrealista da queda da Unidade.
    Lembre-se de que a queda física age de maneira diferente. Em vez de dimensionar a faixa exatamente o mesmo gradiente do centro para as bordas, a queda física é principalmente influenciada pelo brilho da luz. “Alcance”, neste caso, é uma mera otimização que esmaece ligeiramente próximo às bordas. É altamente recomendável habilitar o mapeador de tons ao configurar luzes com diminuição física.
    Ajustes de shader de padaria 4Linha superior: queda da unidade. Linha inferior: queda física.
    Observe como o Unity dimensiona a iluminação com o parâmetro de alcance, enquanto a queda física é mascarada apenas por alcance.
    Ajustes de shader de padaria 5
    Esquerda: sem mapeamento de tom, direita: mapeamento de tom neutro habilitado.
    Observe como a iluminação retém gradiente suave, quando o mapeamento de tons está habilitado, mas ainda sendo fisicamente brilhante.

Melhores Práticas

Para maximizar a qualidade e minimizar o consumo de memória:

  • Desembrulhe seu pacote de modelagem, não use “Gerar UVs” no Unity. Como tanto Unity quanto Bakery empacotam objetos desembrulhados em atlas simplesmente como retângulos (eles não podem modificar UVs neste ponto), e cada objeto desembrulhado separadamente pode ter desperdiçado espaço UV, este espaço se acumula e você paga mais memória por menos resolução. No 3dsmax, até mesmo o Mapeamento Flatten automático é bom o suficiente.
    - Defina o espaçamento entre os gráficos UV para 3 / lightmapResolution. Por exemplo, se você sabe que certos objetos que desembrulhou serão renderizados em um único mapa de luz 512 × 512, defina o espaçamento para 3/512 = 0.005859375.
    - Tente desdobrar toda a geometria não repetitiva na menor quantidade de layouts UV muito densos. No Unity, crie e atribua um ativo Lightmap Group para cada layout com resolução adequada e modo simples.
    - Não desembrulhe geometria repetitiva pesada no mesmo atlas, ou você perderá a instância
  • Use a redução física. A redução do Unity só é boa para jogos não HDR sem mapeamento de tom com intensidades de iluminação falsas arbitrárias.
  • Não trabalhe sem tommapping. As intensidades reais de iluminação são BRILHANTES. Trabalhar com uma cena sem um tonemapper é o mesmo que olhar um RAW não editado file de uma câmera em vez de usar seus olhos. O mapeamento de tons neutro integrado do Unity é um bom começo. O brilho adequado da iluminação garante que a iluminação global será brilhante o suficiente sem falsificar sua intensidade.

Diferenças entre Light Mesh e materiais emissivos
Material emissivo:

  • Propaga luz durante o cálculo de GI, portanto é “livre”, não importa quantas malhas sejam emissivas.
  • Luzes pequenas e brilhantes podem dar resultados imprecisos com ruído, dependendo do GI sample contagem.
  • Tem que ocupar espaço no mapa de luz devido à forma como o GI em Bakery funciona, portanto, possivelmente, desperdiçando-o. Também significa que os objetos emissivos requerem UVs válidos e têm "sombras projetadas" habilitadas.

Malha leve:

  • A iluminação é calculada separadamente para cada luz, portanto, é mais lenta do que os materiais emissivos.
  • Projetado para fornecer resultados nítidos para luzes pequenas e brilhantes, mesmo muito longe delas.
  • Não ocupa espaço em mapas de luz.

Notas do mapa de luz do vértice
Os objetos podem ser preparados no nível por vértice em vez de ter texturas, se eles ou seus pais tiverem um componente Lightmap Group Selector com o ativo Lightmap Group definido para o modo Vertex. Os mapas de luz de vértice são compatíveis com máscaras de sombra, bem como com os modos Direção dominante e SH.
● É recomendado desabilitar a compressão de vértice para TEXCOORD2 e TEXCOORD3 nas Configurações do Player se você usar mapas de luz de vértice direcionais.
Existem prós e contras no uso de mapas de luz de vértice.
Prós:

  • Não são necessários UVs. Adequado para geometria complexa que é impossível desembrulhar bem.
  • Nenhum espaço desperdiçado - preenchimento e espaços vazios no mapa de luz não são um problema.
    Contras: 
  • Obviamente, a interpolação de vértices é menos sutil do que a interpolação de texel.
  • As técnicas normais de compressão de textura não se aplicam.
  • Shader modificado necessário (a padaria inclui esses shaders).
  • Denoising não é aplicado.
    Os dados são armazenados nos seguintes atributos de vértice:
  • Mesh.colors armazena o mapa de luz de cores (ou primeiro coeficiente do mapa de luz SH).
  • Mesh.uv2 pode armazenar direção dominante compactada, máscara de sombra e parte dos dados SH.
  • Mesh.uv3 pode armazenar dados SH adicionais.

Compatibilidade com Shader

Para fazer a iluminação global funcionar, a Bakery precisa extrair informações materiais.
Antes da v1.1, ele simplesmente verificava os nomes de parâmetro de sombreador comuns, como _MainTex, _Color, _EmissionMap e _EmissionColor e os usava.
Desde v1.1 Bakery suporta GI de shaders personalizados usando sua definição Meta Pass existente, então ele deve funcionar exatamente da mesma maneira que com lightmappers embutidos. Os shaders HDRP e LWRP padrão já contêm o Meta Passcode adequado, bem como qualquer shader de superfície personalizado. Para shaders totalmente customizados (não de superfície), você precisará escrever Meta Pass (consulte o manual do Unity) ou confiar no comportamento legado de Bakery (usando nomes de parâmetros de shader). Atualmente, a Padaria só aceita albedo e emissão do Meta Pass. Os mapas de opacidade ainda são considerados pelo nome (canal alfa _MainTex ou _BaseColorMap) para manter sua resolução intacta.

Modo de mapas normais cozidos
No modo direcional Baked Normal Maps, os normais são obtidos dos materiais pelo nome e devem ser nomeados _BumpMap. Tiling e offset são extraídos de _MainTex_ST. No entanto, é possível fazer sombreadores totalmente personalizados com recursos de mapeamento normal avançados (por exemplo, combinação de várias camadas) compatíveis. Como o Unity Meta Pass padrão não exporta informações normais, um Bakery Meta Pass especial estendido deve ser adicionado ao sombreador. Padaria inclui 2 example shaders implementando este Meta Pass. Você pode encontrá-los em
Ativos / Padaria / examples / shaders. Aqui está a lista de diferenças em comparação com o Meta Pass padrão:

  • O passe deve ser denominado “META_BAKERY”.
  • Bakery / BakeryMetaPass.cginc precisa ser incluído.
  • Se a variável unity_MetaFragmentControl.z não for 0, o sombreador deve retornar o espaço do mundo normal.
  • O normal retornado deve ser codificado usando BakeryEncodeNormal.

Sombreador de Padaria

Desde v1.4 Bakery inclui seus próprios shaders com suporte para mapeamento de luz de vértice, bem como modos direcionais RNM e SH. Também permite que o especular aproximado seja calculado a partir dos dados direcionais.
O sombreador de padaria não é necessário para mapas de luz de cores regulares, máscaras de sombra e direção dominante
modo, já que esses recursos são suportados pela maioria dos shaders do Unity de qualquer maneira.
No momento, existem 4 sombreadores adicionais:

  • Padaria / Padrão: estende o sombreador padrão regular. Opções adicionais disponíveis:
    -Permitir mapas de luz de vértice: permite que este material seja usado com mapeamento de luz de vértice.
    - Permitir RNM Lightmaps: permite que este material seja usado com o modo direcional RNM.
    - Allow SH Lightmaps: permite que este material seja usado com o modo direcional SH.
    ● Todos os alternadores “Permitir” habilitam um determinado caminho de código no sombreador. Recomenda-se usar apenas uma opção “permitir” em um material por motivos de desempenho.
    - Habilitar Lightmap Specular: calcula o specular cozido usando dados dos modos de direção dominante, RNM ou SH. Note que devido à falta de informação, o efeito é muito aproximado. Se você já usou o especular cozido no Unity 4, ele deve ser comparável. Parece melhor junto com mapas normais altamente perturbados, não tão bom em superfícies planas.
    - Habilitar VertexLM direcional: se mapas de luz de vértice estiverem presentes, especifica que os dados de direção dominante são armazenados em vértices e devem ser usados.
    - Habilitar VertexLM SH: se mapas de luz de vértice estiverem presentes, especifica que os dados SH são armazenados em vértices e devem ser usados.
    - Habilitar máscara de sombra VertexLM: se mapas de luz de vértice estiverem presentes, especifica que a máscara de sombra é armazenada nos vértices e deve ser usada.
    - SH não linear: no modo direcional SH, esta opção pode aumentar o contraste (mais próximo da verdade), mas torna o sombreador um pouco mais lento.
    - Forçar filtro bicúbico: ativa a filtragem bicúbica para todos os mapas adicionais. Para a filtragem bicúbica completa (incluindo o primeiro mapa de cores), é recomendável ativá-la também em Shader Tweaks.
  • Padaria / Especular Padrão: igual ao padrão, mas para fluxo de trabalho especular.
  • HDRenderPipeline / Bakery Lit: estende o sombreador HDRP Lit. Atualmente, ele só tem uma opção adicional, ou seja, Permitir mapas de luz SH. Este sombreador é compactado por padrão para evitar erros em
  • Projetos HDRP e podem ser encontrados em ssets / Bakery / shader / BakeryHDRPShader.zip ou no github.
  • Padrão LightweightPipeline / Bakery (Fisicamente Baseado): estende o sombreador PBR padrão LWRP. Atualmente, ele tem apenas duas opções: Permitir RNM Lightmaps e Permitir SH Lightmaps. Este shader pode ser encontrado em Assets / Bakery / shader / BakeryLWRPShader.zip.
    A maioria dos shaders Unity Shaders HDRP e LWRP Padaria Padrão Padaria HDRP

    Bakey LWRP

    Mapas de luz colorida HDR Sim Sim Sim Sim Sim
    Máscara das Sombras Sim Sim Sim Sim Sim
    Direção Dominante Sim Sim Sim Sim Sim
    RNM Não Não Sim Não Sim
    SH Não Não Sim Sim Sim
    Lightmap especular Não Não Sim Não Não
    Filtragem bicúbica Sim com ajustes de Shader Não Sim com ajustes de Shader Não Não
    Mapas de luz de vértice Não Não Sim Não NÃO

● Tudo, exceto mapas de luz coloridos regulares, requer pelo menos Shader Model 3.0 para funcionar.
● Vertex Lightmaps com modo SH requerem pelo menos Shader Model 4.0 devido ao limite do interpolador.

Perguntas frequentes

P: Tem GI em tempo real?
R: Não.

P: E quanto à iluminação mista?
R: Sim! Bakery suporta cozimento indireto separadamente para usar com luzes em tempo real, e também assando sombras estáticas (shadowmask) e combinando-as com dinâmicas.

P: Não consigo fazer a máscara de sombra funcionar
R: Verifique as seguintes coisas:
- O modo de renderização da padaria está definido como Máscara de sombra
- As luzes mascaradas têm componentes de luz Unity e Bakery.
- Os componentes de luz Masked Bakery têm a caixa de seleção “shadowmask” habilitada neles.

Q: Eu renderizei máscaras de sombra, mas todas as sombras são dinâmicas
R: Você está no modo Máscara de sombra de distância, é esperado

- Leia sobre a diferença:
https://docs.unity3d.com/Manual/LightMode-Mixed-Shadowmask.html  https://docs.unity3d.com/Manual/LightMode-Mixed-DistanceShadowmask.html 
- Para alternar entre dois modos, você pode usar a caixa de seleção “Distance Shadowmask” na janela principal do Bakery.
- Se você estiver no 5.6, vá para Janela-> Iluminação-> Iluminação mista-> Modo de iluminação para alternar o modo.

P: Quais plataformas são suportadas?
R: Você pode enviar jogos com mapas de luzes Bakery em qualquer plataforma. Mas para usar o Bakery, você precisará de uma máquina Windows de 64 bits (7 +) com uma placa Nvidia (6xx ou mais recente).

P: É progressivo? Mostra atualizações de mapas de luz em tempo real?
R: Não. Apenas uma barra de progresso.

P: Como faço um pré-fabricado com mapa de luz?
R: Padaria v1.45:
- Consulte o componente L ightmapped Prefab
Padaria v1.4 ou anterior:

  • Crie uma cena para a sua casa pré-fabricada
  • Crie um GameObject vazio chamado! FtraceLightmaps
  • Asse a cena
  • Agora você deve ver um componente adicionado ao objeto vazio. Coloque-o dentro do pré-fabricado e salve.
    Esse pré-fabricado sempre será mapeado por luz. Observe que preparar uma cena combinada com vários pré-fabricados como esses não é compatível.

P: Como faço para usar git / collab / outro sistema de controle de versão com o Bakery?
R: Bakery v1.45 and Unity 2017.1 ou mais recente:

Tudo deve funcionar. Certifique-se de que todas as máquinas tenham a mesma versão do Unity e Bakery.
Você só deve comprometer seu projeto filese ignorar as pastas Bakery (Assets / Bakery e Assets / Editor / x64 / Bakery). Se, por algum motivo, você decidir enviar as pastas Bakery, certifique-se de ignorar A ssets / Bakery / ftLocalStorage.asset e A ssets / Bakery / ftGlobalStorage.asset para evitar a perda de sincronismo dos mapas de luz.

Bakery v1.4 ou versões anteriores / Unity versões anteriores a 2017.1:
Se você estiver usando a opção “Ajustar preenchimento de UV” (que está ativada por padrão), pode haver algumas dificuldades com a sincronização de versão entre máquinas, uma vez que esta opção pós-processa UVs em modelos existentes. Nessas versões, além de sua cena, você precisa enviar ftGlobalStorage.asset, onde as instruções de processamento do modelo são armazenadas. Se os UVs ainda parecerem corrompidos em outra máquina, tente substituir ftGlobalStorage manualmente (não por meio do controle de versão) e reimportar o modelo com um clique com o botão direito.
P: Como faço para compartilhar uma cena com alguém que não tem a padaria instalada?
R: Além da cena e seus mapas de luz, você também deve incluir alguns scripts, a saber: - ftLightmaps.cs
- ftLightmapsStorage.cs
- ftLocalStorage.cs
- ftGlobalStorage.cs
- ftModelPostProcessor.cs
P: Como faço para assar usando meus próprios UVs sem nenhuma alteração neles?
R: Verifique Grupos de Lightmap.

P: Cada vez que eu cozinho o mesmo modelo na cena A, seus UVs se tornam inválidos para a cena B e vice-versa, como faço para corrigir isso?
R: O motivo aqui é o ajuste de enchimento U V. Ele modifica os UVs no ativo, portanto, o espaçamento entre os gráficos de UV é ideal, o que significa que eles nunca vazam um sobre o outro e não há muito espaço desperdiçado. O Unity tem uma opção manual Pack Margin nos ativos do modelo, mas é limitado, pois aplica o mesmo valor exato para todas as malhas dentro do modelo, enquanto cada malha pode ter um tamanho drasticamente diferente no mapa de luz final com base em sua área de superfície.
Portanto, Bakery o substitui pelo preenchimento de malha per-mesh (em vez de por modelo) calculado automaticamente. No entanto, como “ideal” varia de acordo com a resolução de cozimento, pode ser problemático reutilizar o mesmo recurso em cenas isoladas com tamanhos de mapas de luz diferentes. Existem várias maneiras de resolver isso:

a) Gere seus próprios UVs ideais. O ajuste de preenchimento de UV se aplica apenas a modelos com layout de UV gerado automaticamente (também conhecido como caixa de seleção “Gerar Lightmap UVs”) e nunca toca em dados personalizados. b) Use preenchimento U V: aumente apenas a caixa de seleção e asse primeiro a cena de resolução mais baixa e depois o resto.
c) Basta desabilitar o ajuste de preenchimento de UV.
d) Use 2 modelos diferentes para diferentes resoluções de mapa de luz, para que cada um obtenha o conjunto de UVs mais eficiente.
e) Asse as duas cenas juntas.

Q: Denoiser lança erro 505.
R: Atualize os drivers.

P: Como posso acionar o cozimento via script?
R: Existem 3 etapas envolvidas:
- Obtenha o objeto de configurações de renderização:
ftLightmapsStorage storage = ftRenderLightmap.FindRenderSettingsStorage ();
- Modifique as configurações. A lista completa pode ser vista em ftLightmapsStorage.cs. Como example, aqui está como você pode limitar a quantidade de rejeições e definir a pasta de saída:
storage.renderSettingsBounces = 2; storage.renderSettingsOutPath = “MinhaPasta”;
- Crie uma instância de Bakery, carregue as configurações e leve ao forno:
padaria ftRenderLightmap = novo ftRenderLightmap (); bakery.LoadRenderSettings (); bakery.RenderButton ();

Relatando bugs
Se você encontrar algum problema com a padaria, por favor:

  • Contate-me em qualquer lugar, de preferência no fórum Unity.
  • Faça capturas de tela de quaisquer erros ou bugs.
  • Se for um erro / falha:
  • Também faça uma captura de tela do console do Unity com informações / avisos / registro de erros habilitado
  • Lembre-se de qual foi o último texto mostrado na janela de progresso, pois ele dirá em qual tarefa exatamente o problema ocorreu.

Bakery GPU Lightmapper Manual - Baixar [otimizado]
Bakery GPU Lightmapper Manual - Download

Referências

Faça uma pergunta

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Faça uma pergunta

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.