Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

An3dre   Araras / SP - SP
An3dre   Araras / SP - SP
Bona Studio 3D   Jaraguá do Sul/SC - Brazil - SC
silvaserik   São Paulo - AC
Jomar Machado   Rio de Janeiro - RJ

Portfólios Ver Mais

Moraes   São Paulo
danilolimatattoo87   Taubaté / São Paulo - SP
tiagoschuch   florianopolis - SC
mse   Novo Hamburgo

Tutoriais - Texturização

Técnica de Linear Work Flow (LWF)

Olá a todos!

Bom, acho que tomei vergonha na cara e resolvi fazer um tutorial. Depois de tanto que a 3D1 me ajudou, acho que é mais do que justo retribuir, e com um assunto que confunde muito as pessoas: a técnica de

Linear Work Flow (LWF) ou Linear Color Space.

LEMBRETE: Esta técnica não é diretamente ligada a um render, é uma técnica geral de iluminação como qualquer outra e, portanto, funciona em qualquer render.

Bom, vamos ao que interessa:

INTRODUÇÃO
Todos os monitores com os quais usamos trabalham com os pixels de forma não-linear, ou seja, é como se nele estivesse um insulfilm que escurecesse tudo. Então, para as cores aparecem direito na tela, a intensidade delas devem ser multiplicadas. Essa mudança da intensidade de cor que nó chamamos de gamma. Em termos mais simples, gamma é o fator de intensidade dos pixels de uma imagem para mostrar com o contraste adequado na tela.

Exemplo: a imagem abaixo tem um teapot cinza simulando um pixel cinza e um plano transparente simulando a tela do computador. Perceba como a cor muda, passando para um cinza mais escuro. Para voltar a original e você ver corretamente, a intensidade do cinza deve ser multiplicada.
Mas nem todos os computadores são iguais. É por isso que o gamma de cada um varia (de 1,8 a 2,5 normalmente). Em modos gerais, coloca-se o gamma valendo 2,2.

Observação importante: Nem o gamma e a não-linearidade são defeitos. Nosso olho humano não vê as cores de forma linear, e sim logarítmica. Então, se quiser se aproximar à realidade, o melhor seria trabalhar com a técnica LWF.


APLICANDO ESSA TÉCNICA NO 3DS MAX
Como vimos, o computador trabalha de forma não-linear. O problema é que o render do 3ds Max trabalha apenas com gamma igual a 1. Então a imagem que é mostrada na tela não está convertida (ou multiplicada) e, assim, está mais escura. É por isso que tem que encher de luzes para iluminar o ambiente corretamente. Segundo palavras do próprio André, a pessoa que trabalha com essa técnica tem que ser um verdadeiro artista porque tem que ter um olho treinado para perceber o que não está realista e fazer ficar realista. Portanto, tudo depende da habilidade do usuário.

Agora, se você habilitar o gamma, tudo vai aparecer corretamente, e bastará colocar algumas luzes nos lugares corretos, ajeitar os materiais e pronto. A imagem sairá fotorrealista.

Por exemplo, o programa faz uma simples suposição de que, em sRGB, 255 tem o dobro de intensidade que 128. Errado. Para achar o valor verdadeiro, tem que elevar 0,5 ao inverso do gamma utilizado, ou seja, [0,5 ^ (1/2,2) x 255 ] = 186.

Para ativar o gamma no 3ds Max, clique em Customize > Preferences > Gamma and LUT, como mostra na imagem:
Enable Gamma/LUT Correction: Habilita a correção de gamma no max.
Load Enable State with MAX Files: Ele pergunta sempre quando um arquivo é aberto no max se deseja modificar o gamma da cena do preservá-lo, caso este esteja alterado.

Display:

Autodesk View LUT: Abre um arquivo de extensão .LUT.
Gamma: Altera o valor do gamma da cena. Como já citei, é comum colocar 2,2.

Materials and Colors:

Affect Material Editor: Habilita o gamma no Material Editor. Sempre deixe essa opção ativa, para visualizar as cores corretas no editor.
Affect Color Selectors: Habilita o gamma na caixinha de seleção de cores. Assim como o anterior, o certo é deixá-lo ativo.

Bitmap Files:

Esse campo é muito importante e é onde muitos têm dúvida.

Input Bitmap: Como já foi dito, a intensidade dos pixels das imagens precisa ser multiplicado para poder-se ver direito na tela. Portanto, em cada imagem já vem imbutido um gamma próprio. Quando você habilita o gamma do max e altera o valor para 2,2, estar-se-á (se amarraram na mesóclise! kkk) na verdade multiplicando a intensidade duas vezes, deixando a imagem mais clara que o normal, ou \"lavada\". Para solucionar esse problema, têm-se basicamente 4 soluções, das quais uma delas é o Input Bitmap. Com ele, você dá um degamma na imagem com o valor especificado quando ela entra no material editor. É o jeito mais fácil, mas é o mais \"preguiçoso\", pois ele vai dar um degamma igual para tudo, seja uma imagem que tenha um gamma igual 1,8 ou outra igual a 2,5. Isso acarreta em uma imagem que pode sair mais clara ou escura que o normal. Além disso, vai dar problemas com mapas de bump, displacement e hdr. Por isso é melhor ajeitar manualmente.

Output Bitmap: É o gamma que a imagem vai ter quando o botão de \"Salvar\" for clicado. É uma opção bastante útil, mas você pode deixar em 1.0 e corrigir na pós-produção. Outro possível jeito é colocar o valor do gamma na opção Override na hora no salvamento.

Observação: A partir do max 2010, os valores de gamma, input bitmap e output bitmap vêm iguais a 2,2. O affect material editor nem o affect color selectors vêm habilitados, o que é um erro.

Não pensem que esqueci das outras soluções. Apenas não quis confundir com o que importa da definição. São elas:

- Quando for carregar a textura, marca a opção Override com o gamma desejado.
- Usar o shader presente apenas a partir do max 2009, que é o Utility Gamma & Gain. Com ele você degamma cada textura individualmente com um valor adequado (perceba que o opção De-Gamma está habilitada). A imagem vai ser colocada no canal input dele.
- Tirar o gamma presente de cada imagem através de um editor de imagem. No Photoshop é fácil. É só seguir a imagem abaixo. Cuidado para não colocar 2,2, pois vai deixá-lo claro demais. O valor certo é 0,455, pois é o inverso de 2,2, já que se está fazendo um degamma.
MR PHOTOGRAPHIC EXPOSURE CONTROL
Observação: Esse shader só está presente no mental ray. Porém isto não é um impecilho. Caso queira utilizar outro render deve-se usar outro controlador de exposição.

Apesar da técnica de LWF teoricamente não ter nada a ver com o controle de exposição do mental ray, os dois se completam, sendo muito difícil separar os dois, já que não faz sentido. Dá para fazer cenas somente com o gamma e controlar a exposição depois na pós-produção, mas eu não acho prático. Além disso, o mr photographic exposure oferece muitos recursos e é totalmente integrado com o render, pois ele controla a exposição da luz, evitando os estourados e atenua as sombras distantes, como é na vida real.

Uma coisa importante é usar sempre as photométricas nessa técnica, pois são fisicamente reais. As luzes Standart são boas quando se trabalha não-físicamente, já elas são também não-físicas.

O max 2008 e 2009 contém uma falta grave, no qual o Render Preview não reconhece o gamma, somente no render. A partir do 2010, a Autodesk corrigiu esse erro, e ainda colocou um preview melhorado na viewport.

Meu objetivo nesse tutorial não é explicar cada parâmetro desse shader, mas abordá-lo e explicar as principais características.
Basicamente, o que vai se mexer é no Exposure Value, até chegar numa luminosidade boa, e nos Highlights, Midtones e Shadows, que controlam, respectivamente, os estouros, tons médios e sombras da imagem.

Perceba ainda a opção do gamma embaixo. Caso ele não esteja habilitado, aparece uma mensagem dizendo que é recomendável ativá-lo.


EXEMPLIFICANDO
Eu sempre acreditei que teoria sem exemplo na prática é chato e não dá para entender direito. Então vamos a um exemplo de um ambiente que peguei aqui mesmo da 3D1 do Luis Feitosa. É bem simples e já vem texturizada. Então, é perfeita para o estudo de agora. O link é esse:

http://www.tresd1.com.br/modelos.php?t=13933

Logo quando você abre, vai aparecer uma mensagem perguntando se você quer deixar sem correção de gamma como está na cena ou se você quer habilitá-la. Queremos isso, mas vamos clicar em sim, para ter a cena sem essa técnica de LWF. Depois ativamos manualmente.
Antes de tudo, temos de configurar o gamma. Então entrem no painel dele já mostrado, selecione o Enable Gamma/LUT Correction, altere o valor do Gamma para 2,2 e deixe o Input e Output igual a 1, pois iremos configurar as cores e texturas individualmente.
Entre no Material Editor e veja como tudo ficou mais claro. Aí você deve pensar: \"Ai que horrível!\". Pois é. Mas isso é só questão de costume. Eu já me acostumei e já acho a antigo escuríssimo. hehehe
Ajustado o gamma, vamos deletar todas as luzes, pois iremos iluminar de novo com o Daylight System e Skyportals. Antes disso, perceba a quantidade de luzes usadas para iluminar a cena.

Crie a daylight system, que está no painel Create > Systems e escolha como Sunlight mr Sun e como Skylight mr Sky. Ele irá perguntar se pode criar automaticamente o céu físico mr Phisycal Sky. Clique em Sim.

A posição da Daylight não importa muito, desde esteja apontada para uma das janelas.
Agora posicione duas skyportals de acordo com a imagem abaixo.
No Light Lister, configure as luzes de acordo com a figura abaixo.
Feita a iluminação, vamos partir para os materiais. Veja naquela imagem do Material Editor como as cores ficaram mais claras, inclusive o azul, vermelho e cinza usados na cena. Não queremos isso, portanto, utilizaremos o shader Utility Gamma & Gain. No slot da parede azul, no canal diffuse, aplique esse shader. A seguir, copie e cole a cor no color selector do Utility Gamma & Gain. Como estamos usando um gamma igual a 2,2, usaremos também no campo gamma 2,2. Todo esse processo está explicado na imagem abaixo:
Repita esse mesmo processo para a cor vermelha.

Como nessa cena não tem textura, vou colocar uma no piso para mostrar este caso também. No slot piso, coloquei um material Arch & Design com preset Satin Varnished Wood. Uma peculiaridade deste preset é que a textura imbutida nele vem com uma correção de cor na rollout Output. com ele, a cor da textura fica mais vibrante e bonita e, portanto, deixarei ele lá. O processo de degamma dessa textura é exatamente o mesmo do de cima. Vá no slot diffuse onde está a textura, clique no botão escrito \"Bitmap\" e escolha \"Keep old map as sub-map?\" para a imagem já ficar aplicar do shader Utility.
Feito isso, o processo de texturização está pronto. Falta só ajustar as configurações de render e aplicar o mr Photographic Exposure Control. As minhas configurações de GI e FG são:
Observação: Se você tem o cd de Mental Ray da 3D1, é bom ressalvar que nada do que ensinou sobre FG e GI muda na técnica de LFW. É a mesma charopada.

As minhas configurações do mr exposure são:
E a imagem final é essa de baixo. Olhe como ela ficou clara somente com a daylight e skyportal. Essa é a grande vantagem dessa técnica. Tudo bem que minha imagem imagem pecou em qualidade, tem uma manchas lá no fundo, mas nada como um ajuste melhor nos fótons e no FG.

ATENÇÃO! Não se esqueça de marcar 2,2 em override ou em Output quando for salvar a imagem para nela vir o gamma. Senão ela vai ficar escura.
PERGUNTAS FREQUENTES

- O que significa sRGB?

Significa \"standart RGB\", um tipo de espaço de cores criado pela HP e Microsoft. Seu espectro vai de 0 a 255 e é o padrão mais difundido hoje em dia.

- O mr exposure control realmente sempre deixa a imagem lavada? Pelo controle dos midtones, highlights e shadows você pode conseguir um resultado com um contraste bom?

Não é verdade, você consegue imagens com alto contraste usando o Mental Ray Photographic Exposure Control, mas não basta ajustar os Highlights, Midtones e Shadows. Depende de corrigir corretamente o Gamma das texturas.

- É verdade que o mr exposure é o jeito mais certo de usar na iluminação, pois na realidade sempre tem controle de exposição, seja na câmera ou no olho humano?

Sim, é verdade.
Mas o olho humano faz um trabalho muito bom que nenhuma câmera ou render 3D consegue fazer de forma fisicamente correta, portanto, em algumas situações é necessário lançar mão de subterfúgios, como quando a pessoa quer ver com a mesma exposição no interior e no exterior de um ambiente.

- A seguinte frase é verdadeira? \"As cores em sRGB vão de 0 a 255, mas na realidade as cores são bem maiores do que isso, pois têm várias intensidades de branco e em RGB só tem uma. O render calcula a luz com todas as cores e intensidades, mas não consegue mostrar em RGB pq não aceita estas cores. Então o exposure faz a conversão das cores reais pras cores RGB pra ver direito na tela.\"

Sim, é verdade.
O render trabalha com todo o espectro de cores reais, enquanto que a tela só consegue mostrar cores no formato sRGB, onde as cores vão apenas de 0 a 255.

- Você precisa corrigir todas as texturas quando usa mr expousure já que elas ficam lavadas?

Não precisa corrigir as texturas para usar o Mental Ray Photographic Exposure Control, apenas se modificar o valor do Gamma no programa, pois o que torna as texturas lavadas é a dupla aplicação de Gamma.
Existem várias formas de corrigir o Gamma das texturas como eu expliquei acima, sendo que 4 delas foram explicadas acima.

- A técnica LWF é mais fácil de iluminar? Alterar o gamma para 2,2 deixa tudo mais claro e sinceramente é um pouco estranho.

Sim, é mais fácil de iluminar porque você vê as luzes e os materiais com as cores corretas.
No começo é difícil, mas depois que se acostuma é uma maravilha.

- Você precisa alterar o gamma para trabalhar com o mr exposure?

Não precisa modificar o Gamma para trabalhar com o Mental Ray Photographic Exposure Control, mas é indicado que modifique, pois o que adianta você usar o controle de exposição e continuar vendo as cores e as luzes com intensidades erradas?
Você terá que ajustar de forma fisicamente incorreta para corrigir, o que torna tudo mais difícil.

BIBLIOGRAFIA
- Minha conversa sobre LWF por e-mail com o André. Foi com ele que consegui entender essa técnica. Por isso, alguns trechos, principalmente nas Perguntas Frequentes, são copiadas de lá.
- Fórum da 3D1 ( www.tresd1.com.br )
- http://mymentalray.com/wiki/index.php/Gamma#Gamma_in_3ds_Max
- http://www.microsoft.com/brasil/windowsxp/using/digitalphotography/prophoto/colorspaces.mspx
- http://www.kxcad.net/autodesk/3ds_max/Autodesk_3ds_Max_9_Reference/gamma_preferences.html
- http://www.highend3d.com/3dsmax/tutorials/rendering/vray/147-2.html
- http://www.aversis.be/tutorials/vray/essential_gamma_01.htm
- http://scripts.breidt.net/gamma_correct_v12.pdf
- http://renderstuff.com/free-3d-tutorial-using-gamma-2.2.php?page=5
- http://www.tresd1.com.br/viewtopic.php?p=418802#418802
- http://www.tresd1.com.br/viewtopic.php?t=53867


Bom, agradeço a quem leu meu testamento até aqui. hehehe
Espero que tenham gostado do meu primeiro tutorial. Qualquer dúvida ou crítica pode berrar!


Abraços.

Faça o login para poder comentar

WesleyBarreira Comentou em 25/11/2011 11:21 Ver comentário
Renan Comentou em 16/06/2011 21:41 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707721.

Total de membros registrados: 135325

Últimos membros registrados: Monizze.o, lhsousac95, [email protected], vsanbrva, pmmng, unaarq, kene1981, leticiabarros.

Usuário(s) on-line na última hora: 538, sendo 22 membro(s) e 516 visitante(s).

Membro(s) on-line na última hora: rodolfosantos3d, Augusto Peixoto, Victor Mendonça, Geraldo Nunes, Vladis, JMDesign, Duda, Fabio Catelleno, Reinaldo Silva, Abilio, Ronaldo Junior, Osvaldo Arquiteto, Pedro Juliato, gago, Adalberto Rocha, Thiago Couto, Hot, jotasoares, cadwillem, marcoataide201, Fernando Cunha, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

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