FROM THE BLOG

Dicas para melhorar render – Mental Ray no Max 2011

Um amigo meu me enviou um render que ele havia feito e o arquivo original do Max, pedindo ajuda para melhorar o trabalho final. Com autorização dele, posto esse tópico, onde acredito possa ajudar mais pessoas.

Considerações iniciais

A – Alterações feitas no arquivo original

  • Unidade de medida
  • Habilitação da correção de Gamma
  • Materiais
  • Parâmetros das luzes
  • Configuração de render

B – Unidade de medidas

O 3DS Max é bem “chato” com relação a unidade de medida adotada numa cena. Alterar essa unidade significa alterar as configurações de render, iluminação e etc. Eu abri um arquivo novo, configurei as unidades da forma como trabalho normalmente (veja abaixo) e dei um File > Import > Merge de todos os objetos da cena original para fazer a adequação da escala.

Para alterar as unidades de medida, vá em Customize > Units Setup…

fig01

Minhas configurações de unidades

C– Gamma correction

Para entender melhor essa etapa, leia meu artigo sobre Linear Work Flow.

A primeira coisa é habilitar o gamma no Max. Para isso, vá em Customize > Preferences > Gamma and LUT:

fig02

Affect Color Selectors e Affect Material Editor, significam que a correção de gamma será vista nos seletores de cor dos materiais e no próprio editor de materiais. Eles ficarão mais claros.

Em Bitmap Files, Input Gamma e Output Gamma significam que qualquer bitmap que for carregado, terá seu valor de gamma corrigido para 2,2 e que, ao salvar um render, os bitmaps contidos nele serão salvos com valor 2,2 de gamma, dispensando conversões ao salvar as imagens.

Nos materiais que não usem bitmaps, ou seja, usem apenas cores ou mapas procedurais, deve-se fazer um ajuste no gamma através de um shader específico do Mental Ray, chamado Gamma and Gain. Basta usar a mesma cor no slot de cor do shader Gamma and Gain:

fig03

Cor de material sem o Gamma and Gain

fig04

Cor corrigida com o Gamma and Gain

D – Controle de exposição (Exposure Control)

Procure trabalhar com o controle de exposição de luz (Exposure Control). No caso do Mental Ray, opte pelo mr Photographic Exposure Control. O controle de exposição é como uma câmera fotográfica, contendo ajustes como abertura do diafragma, velocidade do obturador, sensibilidade de filme (ISO), etc. Para quem achar complicado, existe uma forma automática de configurá-lo. Basta habilitar a opção Exposure Value (EV). Quanto menor esse valor, mais clara fica a cena.

Opte sempre pelo uso de luzes do tipo Photometrics, pois simulam lâmpadas artificiais reais. Para cenas externas ou internas durante o dia, onde a iluminação de fora ajudará a iluminar o ambiente interno, use o sistema Daylight com Skyportals nas janelas, pois elas direcionarão a claridade de fora para dentro de forma realista.

exposurecontrol

Tecla 8 para ter acesso a essa tela

Outra dica é usar Skyportals como pontes de luz sem o Daylight. Como luz area, elas funcionam melhor que qualquer outra luz area no Max, pois elas realmente emitem luz de sua superfície, ao contrário de outras tipos de luzes, que tendem a concentrar a intensidade da luz no centro. Para usar uma skyportal como fonte de luz, selecione a skyportal e, no Painel Modify, desça até o grupo Advanced Parameters. Habilite o Custom e clique no botão None para carregar o shader Kelvin Temperature Color. Arraste como instância esse shader para o Material Editor para alterar seus parâmetros. Intensity: é a intensidade da luz. Kelvin Temperature: é a temperatura da cor, ou seja, a sua cor. Quanto menor, mais avermelhada e quanto maior, mais azulada.

skyportal

kelvintempcolor

E – Organização

Nomeie todos os objetos da cena e organize tudo em layers.

Agora sim!

1 – Materiais

Usando Mental Ray, recomendo usar o shader Arch&Design (mia_material) para criação de materiais. As vantagens são:

  • é possível criar qualquer tipo de material com ele.
  • trabalhar com Arch&Design é mais flexível e se tem mais controles para ajustes do que com shaders do tipo Autodesk ou Pro Materials.

Quando necessário, usar mapa de bump para dar mais realismo, aumentando o nível de detalhe sem alterar a geometria.

Evite usar cores como branco puro, preto puro ou tonalidades puras de cinza. Branco puro reflete muita luz, chapando o objeto, prejudicando a volumetria do mesmo e aumentando o estouro de luz. Objetos com preto puro, absorvem toda a luz também chapando suas formas. Cinca puro, apesar de não refletir e nem absorver tanta luz, tende a tirar um pouco da profundidade e principalmente realismo do material, já que no mundo real, dificilmente os cinzas são cinzas. Eles tendem para o azul, amarelo ou verde, com saturação bem baixa. O mesmo pode ser feito com branco e preto: pouca saturação do azul, amarelo ou verde, ou mesmo outra matiz do seu gosto.

Alterei todos os materiais da cena para Arch&Design, exceto o material da cortina. Nos materiais das paredes, forro, estátua e tapete, eu configurei os shaders para não refletir de verdade, emitindo apenas o brilho specular do material. Essa opção se chama “Highlights+FG only”. Dessa forma, o material é mais rapidamente renderizado e, no meu caso, não afeta tanto a aparência por serem materiais foscos.

fig06

Highlights + FG only

Na cortina, eu dei um efeito de translucidez, pois o tecido, que tem pouca espessura, acaba deixando parte da luz entrar através do seu espalhamento pelo material. Eu usei o shader Subsurface Scattering Fast Material, que é um shader SSS. Não é bom usar um Arch&Design para simular esse efeito. Shaders SSS são muito melhores e mais rápidos para renderizar. Esta informação está no manual sobre shaders Arch&Design.

fig07

Subsurface Scattering Fast Material

As configurações que fiz no shader SSS foram adicionar a textura da cortina nos slots Front surface scatter color e no Back surface scatter color. Fiz um versão da mesma textura em tons de cinza e usei como bump no slot Bump shader. Aumentei o valor dos raios de Front surface scatter radius, Back surface scatter radius e Back surface scatter depth que , na prática, permitem que a luz atravesse e/ou se espalhe mais ou menos pelo material.

Também escureci a cor de Specular color para deixar o material com aparência mais fosca.

Na tela da TV, habilitei o efeito de Self Illumination, aplicando a textura da tela para emitir luz e alterando os parâmetros conforme abaixo:

fig08

Self Illumination

2 – Geometria

Quando se usa o Mental Ray, é aconselhado a não usar objetos sem espessura, como é o caso da cortina. A falta de espessura pode ocasionar artefatos (manchas escuras). Dê um mínimo de espessura para evitar esse problema. Essa informação se encontra no manual do Mental Ray.

No caso to tapete, como foi usado displacement, não alterei sua espessura.

No displacement do tapete, ao invés de usar o Modifier Displacement do Max, eu apliquei o displacenment no material do tapete e dimiuí a quantidade de seguimentos do objeto tapete de 500 para 100. Com isso, a geometria fica mais leve e, já que o render é o Mental Ray, é melhor usar o displacement dele. Além da subdivisão existente na malha, ele subdivide a mesma ainda mais e eu posso controlar melhor como esse displacement ocorrerá.

fig09

Slot Displacement no material

A quantidade total de polígonos na cena, que estava em mais de 680.000, baixou para 205.000. Isso vai acelerar o render e economizar memória.

3 – Iluminação

A primeira coisa que fiz, foi reduzir as intensidades da mrSun e mrSky, no sistema Daylight. Como o Exposure Control está sendo usado, deixei os valores de Multiply da mrSun e da mrSky com 1.

Para deixar as luzes mais reais, mudei nas luzes photometrics o formato de point para area. A luz point simula bem as sombras formadas por uma lâmpada incandescente. Porém, esteticamente, por gerar sombras duras. Além do mais, maquetes devem expressar a tecnologia atual, ou seja, luzes frias, fluorescentes, que tendem a gerar sombras mais difusas devidos ao seu formato e natureza. Porém, nada impede de usar sombras duras. Tudo vai depender do tipo de lâmpada.

Usei o formato retangular para simular uma luz sendo emitida por uma luminária de mesma dimensão e formato.

Alterei também a cor das luzes internas. Branco puro, na minha opinião, tira o realismo da cena. As lâmpadas sempre têm uma coloração que não branco puro: luzes de sódio são amarelas, luzes frias podem ser azuis, verdes, amarelas, etc. Nesse caso, usei um template da photometrica chamada Fluorescent Daylight, que tem um leve tom azulado.

Não havia uma luz emitindo a claridade de fora para dentro. Como esta cena está sendo iluminada usando o sistema Daylight, coloquei uma Sky Portal do lado de fora da janela com as mesmas dimensões da mesma. Assim, a Sky Portal pega a iluminação emitida pela mrSky e joga pra dentro do ambiente.

4 – Render

Usando apenas Final Gather

Usando apenas Final Gather, fiz os seguintes ajustes:

Configuração original Configuração ajustada
fig10 fig11

Initial FG Point Density: é a densidade dos pontos do Final Gather. Esses pontos tendem a se concentrar, ou seja, se tornarem mais densos em detalhes da cena, como frestas, regiões de encontro de objetos, firmando mais os detalhes. O valor 1 eu considero suficiente. Mais que isso gerará um aumento significante no tempo de render. Ao invés de adicionar mais detalhamento ao efeito aumentando o valor da densidade, eu prefiro gerar um passo de oclusão (Ambient Occlusion) e compor em pós-produção.

Rays per FG Point: é a quantidade de raios emitidos pelo Final Gather. Quanto maior, melhor será o efeito, mesclando melhor os pontos, evitando manchas. Quanto maior esse valor, também maior será o tempo de render. Eu diminuí julgando ser suficiente o valor de 128 para essa cena, através de testes.

Interpolate Over Num. FG Points: na prática, quanto maior esse valor, melhor ficará o efeito do FG. Ele interpola, mescla os pontos acabando com as manchas da iluminação indireta. Pode-se controlar isso manualmente, ajustando os raios Mínimos e Máximos dos pontos de FG. Essa configuração está em FG Point Interpolation:

Ao habilitar o [Use Radius Interpolation Method (Intead of Num. FG Points)], automaticamente o Interpolate Over Num. FG Points é desabilitado. Se esse método não for usado, o FG usa um raio global, baseado no tamanho da cena, cerca de 10% desse tamanho. Aqui, nós configuramos esse valor manualmente, possibilitando fixar detalhes pequenos que passariam muito lavados pelo GI devido ao grande raio adotado pelo método padrão. Normalmente, o valor de Min. Radius é 10% do valor do Radius. Ou seja, uma fresta com 1cm de largura teria pontos de FG que marcariam bem o seu detalhe.

Obviamente, como eu disse antes, gerando o passo de oclusão, poderíamos configurar o FG para interpolar os pontos de forma padrão. Se isso economizar tempo de render e gerar uma imagem de qualidade aceitável, pode ser uma opção mais conveniente, já que raios menores demandarão maior número de pontos de FG, aumentando o tempo de render.

Diffuse Bounces: como esse render foi feito somente com o Final Gather, é importante aumentar o número de bounces para que hajam mais ricochetes da luz, simulando um GI mais convincente, permitindo sangramento de cor.

Usando Photons + Final Gather

Fiz um teste renderizando com Photons e Final Gather. Eu costumo renderizar somente com Final Gather quando tenho um cenário externo ou um cenário que não dependa de paredes, piso e forro. Como estamos trabalhando com uma sala, ou seja, um ambiente interno de uma maquete, prefiro usar Photons para gerar o GI e o Final Gather para suavizar o efeito dos photons, dando um acabamento nos photons.

ATENÇÃO: Se usar photons com sistema daylight e luzes photometrics, e não usar controle de exposição, aparecerão photons super claros que criarão defeitos na iluminação como manchas luminosas após o Final Gather.

Para ter acesso às configurações dos Photons, tecle F10 > Indirect Illumination > Global Illumination (GI). Abaixo, seguem as minhas configurações e explicações sobre os parâmetros utilizados:

gi

Decay: define o tempo que os photons demoram para perder força. Quanto menor o valor, mais eles demoram a perder energia, deixando o GI mais claro. Cuidado com esse parâmetro! O valor padrão é 2.

Caustic Photons: quantidade de photons emitidos pela luz para gerar o efeito Caustics. Não estamos usando Caustics nessa cena.

Average GI Photons per light: quantidade de photons emitidos por cada luz existente no cenário.

Maximum Sampling Radius: dimensão do raio dos photons. O mapa de photons deve ter uma aparência enevoada, cobrindo todas as superfícies, mesclando os photons e não deixando espaços entre eles.

Nessa cena, cada luz (4 photometrics e 1 Sky Portal) está emitindo 200.000 photons e eles estão com 3cm de raio.

Optimize for Final Gather (Slower GI): na prática, faz com que o mapa de photons acelere o processamento do Final Gather. Como estou usando os dois juntos, é bom habilitar essa opção.

fig16

Imagem renderizada apenas com photons

Abaixo, seguem as configurações do Final Gather:

fig17

Note que não há necessidade de usar o Diffuse Bounces, pois o GI está sendo gerado pelos Photons que faz isso de forma correta.

Usar Photons + Final Gather tem as seguintes vantagens:

  • GI mais correto.
  • Maior velocidade do Final Gather, pois este não precisa gerar os bounces e tem seu processo acelerado pelo uso do mapa de photons.

5 – Antialising

Alising é o serrilhamento que ocorre entre pixels onde existem curvas e/ou contrastes de cor e tonalidade. Para suavizar esse efeito, é necessário configurar o antialising do Mental Ray. Essa configuração está em F10 > Commom > Renderer > Sampling Quality:

Configurações originais Configurações alteradas
fig18 fig19

Minimum e Maximum: a grosso modo, esses valores definem o quanto os pixels adjacentes devem se mesclar para suavizar uma determinada área. ¼ e 4 significa que a suavização será feita usando esses valores, sendo que os pixels que o MR conseguir suavizar com ¼ serão suavizados usando esse valor. Caso contrário, ele usará valores maiores que não ultrapassem 4. Geralmente, colocando o valor mínimo para 1/16 dá um bom resultado e acelera o render, já que 1/16 é menor que 1/4. Se na cena, houverem geometrias muito finas, como grades vistas há uma distância longa, ocorrerão falhas. Nesse caso, sim, o valor mínimo deve ser aumentado até as falhas serem corrigidas.

Geralmente, os valoes de 1/16 e 16 para renders finais têm servido pra mim. Mas, cada cena é uma cena e você deve testar esses valores para chegar numa boa escolha de qualidade X tempo de render.

Spatial Contrast: controla a suavização de pixels com grande contraste. Ex.: as bordas de um círculo branco num fundo preto. Quanto menor os valores para R, G e B, melhor será a suavização e maior o tempo de render. Costuma-se colocar o mesmo valor em A (Canal Alpha), pois quando este existir, também será suavizado.

Filter > Type: Determina como a suavização dos pixels ocorrerá. O filtro Box é o mais rápido. O Mitchell servirá para a maioria das cenas. Sempre experimente os filtros para resultado X tempo de render.

É bom lembrar que o antialising também suaviza efeitos como sombras, GI, FG, reflexão borrada, motion blur e DOF.

CONCLUSÃO

Comparação dos renders:

beauty_16-27

Render bruto usando apenas FG – Tempo de render: 16min e 27seg

photonsfg_10-51

Render bruto usando Photons + FG – Tempo de render: 10min e 51seg

sala8

Render bruto original

Perceba que a aparência das texturas ficaram mais próximas da realidade com a correção de gamma. Seguem as mesmas para comparação com os renders acima:

cedfence dscf1476
Textura do piso Textura do móvel

Comparação do render original com o render reconfigurado com pós-produção:

sala8

Render original

photonsfg_10-51-final

Render reconfigurado com pós-produção

Na pós-produção fiz correções de cor, brilho e contraste, e fiz também uma pequena composição com efeito de Glare e fixação de detalhes com Ambient Occlusion (esses dois, passos gerados separadamente). A imagem de fora da janela está mais clara pois do lado de fora existe mais luz que dentro. É um fenômeno físico que ajuda a dar mais realismo na cena. Porém, fica a seu gosto usar esse artifício ou não, visto que um render é completamente controlado e você precisa chegar onde quiser, da forma que achar melhor.

Para finalizar, ainda seriam necessários detalhes na modelagem como uma borda para o tapete, a fixação da cortina, a calha de encaixe dos vidros da janela e talvez um rodapé.

Um bom render se faz modelando bem, sabendo criar materiais, saber iluminar, configurando o render de forma correta, adicionando efeitos necessários e ajustando tudo em pós-produção.