Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

ricardoc   Belo Horizonte - MG
gilson antunes   Curitiba - Brasil - PR
LuizBulldog   Brasil - SP
Guilherme Galiciani   São Caetano do Sul - SP - SP
clebercmds   Timbó - SC - SC

Portfólios Ver Mais

gabriel205   São Paulo , Brasil - SP
dyeizom3d   São Paulo
fabiospinasse   Vitória - AC

Tutoriais - 3ds max avançado

Global Illumination (Photons)

Introdução:

Iluminação é uma parte muito importante na criação de imagens em programas 3D, é combinando uma boa iluminação e bons materiais que se consegue obter uma imagem foto-realística.

As luzes virtuais em 3D não se comportam da mesma forma que as luzes reais. No mundo 3D o raio de luz ?morre? quando atinge um objeto, isso deixa as sombras totalmente pretas num ambiente com apenas uma luz, enquanto que no mundo real, o raio de luz ricocheteia pelo ambiente diversas vezes até perder intensidade e ?morrer?. A luz refletida pelas paredes e objetos ao redor ajudam a iluminar a cena, esse efeito é chamado radiosidade, sendo assim, é comum usar diversas luzes virtuais em 3D para simular a ação de uma única luz real, lançando mão de técnicas que permitem melhorar a iluminação. Você pode ler mais sobre isso nos no grupo de estudo sobre Fakeosity aqui no fórum do site www.tresd1.com.br.

No mundo real a luz não é apenas refletida, ela reflete o espectro na cor da superfície que incide: um objeto é azul porque quando a luz incide sobre ele, reflete o espectro azul; é vermelho porque reflete o espectro vermelho; uma sala com três paredes brancas e uma vermelha vai refletir o espectro vermelho da luz, mesclando um pouco a cor vermelha nas paredes brancas, esse efeito é um componente da radiosidade chamado Color Blend, é difícil de perceber a olho nu se não tem um olho bem treinado, mas em fotografias é notado claramente.

Em cenas simples não é difícil simular este efeito usando técnicas de iluminação, mas em cenas complexas fica bem mais difícil e depende de muita habilidade do artista. Você pode ler mais sobre os sistemas de radiosidade e GI no artigo ?O que é GI e Radiosity? aqui na seção Artigos do site www.tresd1.com.br.

Com o avanço da tecnologia, surgiram programas de Render capazes de calcular estes efeitos e muitos outros, eles permitem obter um resultado foto-realístico e também simular com precisão física um projeto de iluminação real, já que é possível usar apenas uma luz virtual para simular a ação de uma luz real, pois calculam os ricochetes dos raios luminosos e os demais efeitos gerados pela luz.

Entre estes renderizadores, o Mental Ray é um dos mais antigos e considerado um dos melhores do mundo. Usado na maioria dos filmes vistos nos cinemas nos últimos anos, tem capacidades ilimitadas graças a sua linguagem de Shader, que são rotinas usadas pelo programa na hora da renderização. A conexão com o 3DS Max existe desde a versão 3, mas apenas no 3DS Max 6 houve a integração total, aceitando o uso de seus Shaders diretamente no Material Editor, permitindo usufruir de todo o poder deste renderizador maravilhoso, na criação de imagens e animações com qualidade cinematográfica. Você pode ler o tutorial sobre GI na versão antiga do Mental Ray na seção Tutoriais de Plugins aqui no site www.tresd1.com.br.

Neste artigo vou mostrar um pouco do que aprendi por experiência própria, usando o Mental Ray desde o 3D Studio Max 3. Espero poder contribuir com o aprendizado dos leitores nessa área.

Habilitando o Mental Ray:


Figura 1


Na primeira vez que for usar o Mental Ray é importante ligar o Mental Ray Extensions, ele se encontra no menu Customize>Preferences.


Na ficha Mental Ray, aparece o parâmetro Enable Mental Ray Extensions (figura1), que vem desligado por padrão, clique na caixinha dele para habilitar, assim, todos os Materiais e Shaders do Mental Ray vão aparecer no Material Map/Browser e também fica disponível o menu Mental Ray Connection no Material Editor.
Figura 2



O 3DS Max aceita diversos renderizadores, você precisa carregar o renderizador que deseja usar substituindo o renderizador padrão do programa (Scanline).



Tecle F10 para abrir a janela Render Scene e acesse o menu Assign Renderer (figura 2).



Clicando no botão com três pontinhos na frente do item Production, aparece a janela Choose Renderer, onde está o Mental Ray (figura2), selecione-o e clique em OK.

Configurando o Global Illumination:

Figura3
Existem diversas maneiras de calcular o efeito de radiosidade, uma destas formas é usada no renderizador Radiosity que está disponível no 3DS Max desde a versão 5, derivado do antigo LightScape; o Mental Ray usa um método diferente chamado de Global Illumination (GI), ele é calculado traçando Photons (partículas de luz), que são refletidos ou transmitidos pelos objetos da cena e guardados num mapa de Photons (Photon Map), o Mental Ray conta ainda com um recurso especial para suavizar este Photon Map, é o Final Gather.

Você pode gerar radiosidade no Mental Ray apenas com Global Illumination, e também pode gerar usando apenas o Final Gather, mas consegue o melhor resultado com os dois juntos.

Vou usar uma cena bem simples para mostrar o funcionamento básico do Global Illumination e do Final Gather, assim você pode fazer uma semelhante e testar junto com este artigo, depois trocamos por uma cena mais complexa, para explicar como configurar a imagem com os dois juntos.

Criei um Box com 200x250x120, apliquei um Modify Normal para inverter as faces e usei um material cinza padrão, coloquei outro Box no canto de duas paredes e também apliquei um material padrão, apenas trocando a cor cinza para vermelho, coloquei uma luz Omni comum no centro, próxima do teto, e habilitei a sombra Ray Traced Shadow, por fim, criei uma câmera apontada para o canto com o Box vermelho. Renderize a cena e veja como fica sem GI (figura3).
Figura4




Teclando F10 abre a janela Render Scene, acesse a ficha Indirect Illumination e habilite o Global Illumination, clicando na caixinha Enable (figura4).




O item Maximum Num. Photons Per Sample é usado para calcular a intensidade da iluminação global e não a quantidade de Photons traçados na cena, essa é uma dúvida muito comum, principalmente no Max 6, onde este recurso tem apenas o nome Photons. Este parâmetro será útil na suavização do Photon Map, no início é adequado diminuir este valor, para obter renderizações mais rápidas, modifique para 100.





O Maximum Sampling Radius, chamado apenas Radius no Max 6, é um parâmetro muito importante, ele ajuda suavizar a iluminação e também ajuda encontrar a melhor quantidade de Photons, seu valor depende da escala da cena. Habilite-o e mantenha com 1.




Quando o Radius está desabilitado, o Mental Ray usa um valor igual a 1/10 do tamanho da cena, como se envolvesse os objetos numa caixa e medisse sua lateral, 10% do tamanho dessa lateral é o valor que será usado no Radius.
Figura5

Encontre o grupo Light Properties (figura5) no final da ficha Indirect Illumination, chamado de Global Light Properties no Max 6.

No campo Average GI Photons per Light, chamado apenas de GI Photons no Max 6, podemos definir a quantidade de Photons que será emitida globalmente, ou seja, para todas as luzes da cena. O valor padrão é 10 mil, então, cada luz da cena vai emitir 10 mil Photons no máximo.

O Global Energy Multipler, chamado apenas Energy no Max 6, define a quantidade de energia dos Photons, seria o mesmo que o Multipler da luz, mas aqui não se refere a luz direta, e sim a luz refletida pelas superfícies, quanto mais alto o valor de Energy, mais intenso fica o efeito de radiosidade, deixando a cena mais clara, assim, pode ser necessário diminuir o Multipler para compensar. A partir do Max 7, o Multipler da luz tem influência na quantidade e na intensidade dos Photons.

O Decay funciona igual ao parâmetro com o mesmo nome nas luzes comuns do 3DS Max, mas aqui também se refere a luz refletida e não a luz direta, diminuindo o valor de Decay, a energia dos Photons demora mais para se dissipar, se aumentar, ela se dissipa mais rapidamente, deixando a cena mais clara ou mais escura respectivamente.

Você pode configurar estes valores individualmente para cada luz na cena, usando o menu Mental Ray Indirect Illumination que fica disponível em todas as luzes do 3DS Max. Quando você habilitar a opção Manual Settings neste menu das luzes, as configurações globais feitas na janela Indirect Illumination são desativadas e passa a valer o que definir no menu da luz. Se não usar o Manual Settings, ainda pode ajustar os valores Globais no Global Multiplers, ele oferece um multiplicador para controlar o Energy, os Photons do Caustics e do GI baseado nas configurações Globais.

Figura6





Vamos fazer alguns testes para ver o funcionamento deste sistema. Renderize a cena da forma que está, o Global Illumination habilitado com 100 nos Photons, 1 no Radius e os valores padrões no Light Properties (Global Light Properties no Max 6): Average GI Photons com 10 mil, Global Energy Multipler com 1 (50 mil no Max 6) e Decay com 2 (figura6).






Veja os pontos pela imagem, são os Photons emitidos pela luz, estão muito pequenos impossibilitando a suavização pelo Sampling (sistema de Anti-Aliasing), assim, é possível ver claramente como estão distribuídos.
Figura7

Aumente o valor do Maximum Sampling Radius para 5 e renderize novamente (figura7), os Photons começam a se misturar, aumente para 30 e veja como fica bem suave, mas o efeito de radiosidade não aparece, porque a energia está muito fraca.











Figura8






O Global Energy Multipler (apenas Energy no Max 6) controla a intensidade dos Photons, no Max 6 ele vem com 50 mil, a partir do Max 7 ele vem com o valor 1. Na verdade o valor 1 equivale a 50 mil, usaram um multiplicador para diminuir este número e facilitar a configuração. Portanto, 2 equivale a 100 mil e assim por diante. Se aumentar de 1 para 10 (de 50 mil para 500 mil no Max 6), o efeito de radiosidade fica visível na cena, mesclando a cor vermelha do Box com a parede cinza, só que deixa a imagem clara demais, diminua o Multipler da luz para 0.6 e renderize novamente, a iluminação melhora, mas aparecem manchas na imagem (figura8).
Figura9


Agora é possível perceber o funcionamento do parâmetro Maximum Num. Photons per Sample (Apenas Photons no Max 6) do Global Illumination e da importância da quantidade de Photons na cena.

Aumente o valor de Maximum Num Photons per Light para 1000 no Global Illumination e renderize, veja como os Photons ficam bem mais suaves, falta pouco para sumir as manchas, isso se consegue aumentando a quantidade de Photons na cena.

Modifique o valor de Average GI Photons per Light (GI Photons no Max 6) para 100 mil no Global Light Properties e renderize, a imagem fica suave e o efeito de radiosidade está presente.

Com 2000 no Photons do Global Illumination, a cena fica bem suave (figura9), mas para ficar perfeita é necessário aumentar o Sampling, que veremos mais adiante.
Figura10







Apenas usando o Global Illumination (Photon Map), é possível obter uma imagem razoável com um bom tempo de renderização, mas em cenas mais complexas os objetos ficam um pouco manchados, como se estivessem sujos.







Vamos fazer mais um teste aproveitando essa configuração, para sentir alguns problemas que ocorrem em áreas iluminadas apenas pela luz indireta.







Crie um Box entre o teto e o piso deixando a luz na parte de cima, como se fosse um pavimento, mas deixe espaço próximo das paredes para a luz passar (figura10).
Figura11










Renderize a cena com a mesma configuração, a parte inferior do ambiente é iluminado apenas pela luz refletida, ou seja, ela é iluminada apenas pelo GI, nos cantos das paredes voltam as manchas, parecendo que está sujo (figura11).
Figura12











É difícil para o programa iluminar essas regiões que não recebem luz direta, ele depende puramente do traçamento de Photons nessas áreas, por isso deve-se aumentar bastante o número de Photons na cena quando houver essas situações, assim, a iluminação volta a ficar suave(figura12).

Figura13


Uma outra questão muito importante neste ponto é sobre a reflexão dos Photons. Quando habilita o Global Illumination, ficam disponíveis também os grupos Photon Map e Trace Depth (Photons (Caustics & GI) no Max 6) (figura13), entre seus parâmetros está o Max. Depth (Max. Trace Depth no Max 6), onde podemos configurar isso.

Em reflexões Ray Traced limitamos o número de reflexos que serão traçados, para não refletir infinitamente, por exemplo, se houver um espelho na frente do outro. No traçamento de Photons também é necessário controlar quantas reflexões ou refrações os Photons podem efetuar.

O item Max Reflections (apenas Reflections no Max 6) define quantos ricochetes os Photons podem efetuar.

O item Max Refraction (apenas Refraction no Max 6) define quantas vezes os Photons podem refratar, é usado quando tem objetos transparentes que emitem Caustics (refração convergente de luz formando pontos de alto brilho).

O item Max Depth (Sum no Max 6) define a somatória de reflexões e refrações que os Photons podem executar, ou seja, se tem 2 em Reflections, 2 em Refractions e 3 em Sum, os Photons vão efetuar duas reflexões e uma refração ou vice versa, pois no máximo podem executar 3 operações, como foi definido em Max Depth (Sum no Max 6).

Figura14

Os itens Maximum Num Photons per Sample (Samples no Max 6) e Maximum Sampling Radius (Radius no Max 6), que estão no grupo Volume, são usados quando os Photons vão interagir com efeitos volumétricos na cena, como Volume Caustics por exemplo.

Nos parâmetros do grupo Photon Map, você pode salvar o cálculo dos Photons para usar posteriormente, sem necessitar de um novo cálculo, vamos usa-lo mais adiante.

Veja na figura 12 como a parte inferior do Box vermelho está escura, a quantidade de reflexões dos Photons está definida em 5, não é suficiente para eles refletirem do piso na parte de baixo do Box. Aumente os valores de Max Reflections e Max Depth (Reflections e Sum no Max 6) para 10, e renderize a cena novamente, com essas reflexões os Photons vão chegar até a parte inferior do Box, deixando-a mais clara (figura14).
Com isso, você aprendeu a configurar os Photons na cena para obter uma imagem suave usando apenas o Photon Map do Global Illumination.
Na próxima matéria, aqui no site www.tresd1.com.br, eu explico como configurar o Final Gather e usar este sistema para suavizar os Photons.
No vídeo curso de Mental Ray, disponível aqui na seção CDs da 3D1, eu explico todos os recursos das fichas de render do Mental Ray e os principais Shaders, além de técnicas envolvendo HDRI, Volume Caustics, entre outros, você pode ver a descrição completa do conteúdo na seção CDs.

André Luiz Buttignoli Vieira

Faça o login para poder comentar

Andre Vieira Comentou em 25/06/2011 15:32 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710805.

Total de membros registrados: 138299

Últimos membros registrados: ve1234, Ismaellyma, divawer80, bronhoplus, Geilza, diamed, Jorge21, shiphopieter.

Usuário(s) on-line na última hora: 593, sendo 19 membro(s) e 574 visitante(s).

Membro(s) on-line na última hora: Luan, nandao, magster, Daniel Monteiro, Duda, ve1234, Alex Bastos , mastermax, Ismaellyma, Willmitnick, Rodrigosouza3D, Carlos E. Nogueira, vanderabelo, TadeuB79, Baldo, moisesratts, Osires Mathoso, ricardo duarte, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.