Tutoriais - 3ds max avançado

Cartoon Shader 2

Artigo publicado na edição 76 da revista Digital Designer e atualizado para publicar aqui. Continuação do artigo \"Mental Ray parte 4 - Cartoon Shader 1\".
Figura 01
Conhecendo os Shaders de Contour

Agora que já conhecemos os parâmetros básicos e os meandros para se renderizar como Cartoon, explicados em detalhes na edição passada, vamos estudar os diferentes Shaders que o Mental Ray dispõe para controlar o contorno. Espero que tenha guardado o teste com os Teapots criado no artigo anterior, pois vamos continuar usando-o, caso contrário, crie alguns Teapots sobre um plane e aplique materiais iguais aos ensinados no artigo passado.
Inicialmente aplicamos o Shader Simple (contour) no Slot Contour, do menu Mental Ray Connection, em todos os materiais Ink Paint usados na cena, agora trocaremos pelo Shader Curvature (contour).
Ele também tem o quadro de cor do contorno, mas agora oferece dois parâmetros para ajustar o traçado, permitindo definir um valor mínimo e um valor máximo de espessura, em Min Width (%) e Max Width (%) respectivamente.
Assim, o contorno terá espessuras diferentes de acordo com a curvatura dos objetos, como mostra a figura 01.
Figura 02
Troque novamente os Shaders pelo Factor Color (contour), este Shader controla o contorno de acordo com uma porcentagem da cor da superfície, como o parâmetro Shaded do Ink Paint, explicado na edição passada.
Ele tem dois parâmetros, o Width(%), que define a espessura, e o Factor, que define a cor do contorno. Se usar o valor padrão 1, a cor do contorno será a mesma cor da superfície, se colocar o valor 2 no Factor, a cor do contorno será mais clara do que a cor da superfície, já se colocar o valor 0.5 no Factor, a cor do contorno será mais escura do que a cor da superfície, como mostra a figura 02.
Figura 03

Outro Shader importante é o Depth Fade (contour), troque o Factor Color por ele para testar.
Este Shader permite definir a espessura e a cor do contorno de acordo com a distância da câmera.
O parâmetro Near Z define até que ponto será considerado perto da câmera, pode saber as distâncias da sua cena facilmente com o Measure Distance, que se encontra no menu Tools.
O parâmetro Far Z define a partir de que ponto será considerado longe da câmera.
Abaixo de cada um tem a definição da cor e da espessura, Near Color e Near Width para a cor e a espessura quando estiver perto da câmera, e Far Color e Far Width para a cor e a espessura quando estiver longe da câmera.
As distâncias intermediárias entre o valor de Near Z e Far Z terão o contorno gerado com espessuras e cores intermediárias, entre as que foram definidas para cada um, como mostra a figura 03.
Figura 04

Outro Shader interessante é o Width From Color, ele controla a espessura do contorno de acordo com as cores. Onde as cores são claras, a espessura é mais fina, onde as cores são escuras, a espessura é mais grossa.
Troque o Shader dos seus materiais para testar, são apenas 3 parâmetros: o Color define a cor do contorno, o Min Width define a espessura usada nas cores claras e o Max Width define a espessura usada nas cores escuras.
Veja na figura 04 como as partes em sombra e os objetos mais escuros recebem contornos mais espessos, enquanto que os objetos mais claros e as partes em luz recebem contornos mais finos.
Figura 05

Vamos testar agora o Shader Width From Light. Ele é muito útil, pois controla a espessura do contorno de acordo com a posição da luz, assim, as partes iluminadas recebem uma determinada espessura de contorno, e as partes em sombra recebem outra espessura, como mostra a figura 05.
Seus parâmetros são idênticos aos do Shader Width From Color, mas agora o Min Width define a espessura da parte iluminada, e o Max Width define a espessura da parte em sombra. Há, ainda, mais um parâmetro, que indica qual é a luz que o Shader vai se basear: basta clicar no botão Light e escolher a luz da cena. Obviamente não funciona com SkyLight.

O Shader Width From Light Dir é idêntico ao Shader Width From Light, a única diferença é que no Light Dir, você não indica uma fonte de luz 3D na cena: você define um ponto no espaço 3D que será usado como base para fazer o contorno mais fino ou mais espesso, como se este fosse o ponto de luz.
Para este ajuste, existem três campos no final do seu menu, que representam as coordenadas X, Y e Z, respectivamente.
O Shader Layer Thinner é usado em composição de materiais com contorno, permitindo definir a espessura de acordo com o Layer do material.
Por fim, tem o Shader Combi (contour), que contém os recursos de todos os Shaders anteriores, permitindo controlar a espessura e a cor do contorno de todas as formas, simultaneamente.
Figura 06


Como disse no início da matéria da edição passada, você pode aplicar qualquer textura nos Slots dos parâmetros de superfície do material Ink Paint. Se usar uma imagem, ela ficará com o sombreamento marcado no estilo Cartoon.
Usando os mapas procedurais do 3ds max nestes Slots, você pode criar diversos estilos de pintura para a superfície.
Vou mostrar dois exemplos simples para fazer isso.
O mapa Cellular é muito bom para fazer rabiscos, e compondo-o com o mapa Mix, pode fazer rabiscos cruzados em 45 graus, ou no ângulo que desejar.
Aplique o mapa Falloff no Slot Lighted do material Ink Paint, dentro dele tem outros dois Slots, aplique um mapa Mix no primeiro Slot, o que contém a cor preta. Na lista Folloff Type, escolha a opção Shadow/Light. (Figura 06)
Entre no mapa Mix e veja que ele também tem dois Slots, aplique o mapa Cellular no primeiro, o que contém a cor preta.
Dentro do Cellular, mude as configurações do menu Coordinates, colocando o valor 0.2 no X e Y Tiling, e 60 no valor de Z Tiling.
Ao lado você encontra os campos do parâmetro Angle, coloque 0 em X, e 45 em Y e Z.
Modifique também as cores do Cellular, colocando um tom de cinza no lugar da cor branca. (Figura 06)

Volte um nível na hierarquia do material, para retornar ao mapa Mix, arraste o Cellular do primeiro Slot para cima do segundo, escolhendo Copy na janela que aparece. Entre neste novo Cellular e mude o valor de Y e Z Angle para ?45, invertendo a posição do riscado.
De volta ao nível do mapa Mix, coloque o valor 50 no campo Mix Amount, fazendo uma mesclagem de 50% entre os dois mapas.
Volte mais um nível no material, para retornar ao mapa Falloff, arraste o mapa Mix para um outro Slot do Material Editor, fazendo uma cópia, pois vamos precisar dele em seguida.
Agora, adicione outro mapa Falloff no segundo Slot do primeiro Falloff, o que contém a cor branca, logo abaixo do Mix.
Modifique a opção da lista Falloff Type para Shadow/Light, como fizemos anteriormente.
Figura 07

No primeiro Slot deste mapa Falloff, você deve aplicar uma cópia do mapa Mix que acabou de colocar num outro Slot do Material Editor, arrastando este mapa Mix para o primeiro Slot do Falloff e escolhendo Copy na janela que aparece.
Entre neste novo mapa Mix, e em seguida, entre no mapa Cellular, que está no primeiro Slot. Modifique o valor do Z Tiling para 20, dentro do menu Coordinates, depois modifique as cores do Cellular, colocando branco no primeiro quadro de cor, cinza claro no segundo, e cinza escuro no terceiro, onde atualmente está a cor preta, para deixar o mapa mais claro. (Figura 06)
Volte um nível na hierarquia do material, para retornar ao mapa Mix, depois arraste o Cellular do primeiro Slot para cima do segundo Slot, e escolha Copy na janela que aparece, pois ele já está configurado adequadamente, só precisa inverter a posição do mapa. Então, entre neste segundo Cellular e modifique o valor de Y e Z Angle para ?45.
O material já está pronto, mas podemos melhorá-lo ajustando a curva do Falloff, para marcar mais o sombreamento.
Crie dois pontos na curva do Falloff, na parte inferior do seu menu, e mova-os para fazer uma transição brusca entre a luz e a sombra, deixando os dois pontos do lado direito do gráfico, como mostra a figura 06.
Volte um nível na hierarquia do material, para retornar ao primeiro mapa Falloff, e ajuste sua curva também, mas agora fazendo uma transição brusca do sombreamento no lado esquerdo do gráfico, como mostra a figura 06.
Por fim, aumente um pouco o valor do Paint Levels no material Ink Paint, para não criar faixas muito visíveis no sombreamento, 12 é um bom valor.
Aplique este material nos objetos da sua cena, em seguida, agrupe todos eles, para serem tratados como um objeto só, assim, podemos mapeá-los ao mesmo tempo e com a mesma direção.
Selecione o grupo de objetos e aplique o modificador Câmera Map, clique no botão Pick Câmera deste modificador e selecione a câmera da cena.
Renderizando, você obtém uma imagem riscada em 45 graus como mostra a figura 07.
Figura 08

Você pode usar cores ao invés de tons de cinza, e também pode aplicar a mesma técnica com outros mapas, conseguindo outros efeitos, como mostra a figura 08.
Lembrando o que foi explicado no artigo passado, mesmo quando for usar apenas os recursos do Ink Paint, será muito mais rápido renderizar pelo Mental Ray do que no render padrão. E também deve lembrar que pode mesclar os dois, usando o contorno do Ink Paint junto com os Shaders de Contour do Mental Ray.

Antes de existir o Ink Paint, era assim que fazíamos um material Cartoon, com o Falloff usando cores chapadas no Diffuse do material Standard, ou compondo com mapas como expliquei, mas não havia como criar o contorno de forma adequada. Existem até algumas técnicas para fazer o contorno em versões antigas do programa, mas não fica perfeito.
Agora, com os Shaders de Contour do Mental Ray, você pode criar materiais Cartoon dessa mesma forma, aplicando mapas em qualquer material e gerar o contorno, não precisa ser um material Ink Paint necessariamente, já que o contorno é controlado pelo Mental Ray, no menu Mental Ray Connection, disponível em todos os materiais.
Assim, pode também criar um material realístico e gerar o contorno nele, permitindo mesclar materiais Cartoon e realísticos na mesma cena.
Figura 09

Outra forma de fazer um material Cartoon, é usando o mapa Gradient Ramp, que não existia nas primeiras versões do 3ds max. Ele oferece mais facilidades, mas você tem menos versatilidade.
Veja como ele é simples: selecione um material Standard, coloque 50 no Self-Illumination e 0 no Specular Level e no Glossiness, depois aplique um mapa Gradient Ramp no canal Diffuse.
Dentro do Gradient Ramp, mude a opção da lista Gradient Type para Lighting e a opção da lista Interpolation para Solid.
Clicando na barra de cores do Gradient, logo acima das listas, você adiciona mais chaves nessa barra. Para poder colocar mais cores, precisa de apenas mais uma chave para criar três cores, a parte em sombra, a parte em luz e o ponto de brilho. Caso não seja um material polido, não precisa criar nenhuma chave, basta apenas arrastar a existente para a esquerda, deixando menor a área em sombra.
Lembre-se que, para ajustar materiais Cartoon, deve-se desligar o ícone Backlight do Material Editor, como mostrei no artigo da edição passada.
Assim, você pode ver na esfera de amostra, como está a parte em sombra e o ponto especular. Modificando a posição das chaves na barra de cores do gradiente, você ajusta o tamanho do ponto especular e da área em sombra.
Ainda poderia habilitar o Noise do Gradient Ramp, mais abaixo no mesmo menu, para deformar um pouco a transição da área em sombra para a área em luz, como mostra a figura 09.
Com essas técnicas é possível criar diversos efeitos de pintura, apenas variando as configurações e os mapas usados.

E ainda poderia mesclar esta técnica com o que foi explicado com o mapa Cellular na primeira opção, criando rabiscos dentro das cores do Gradient Ramp, basta clicar com o botão direito do mouse sobre uma chave na barra de cores para abrir o menu de opções, escolha Edit Properties, assim, abre a janelinha com o botão para aplicar um mapa (Texture).
Cartoon e GI

O material Ink Paint não gera GI, mesmo que se adicione Shaders para controlar os Photons no Slot Photons do menu Mental Ray Connection, como expliquei nos primeiros artigos sobre este renderizador aqui na Digital Designer.
Se usar qualquer uma destas técnicas num material comum, e não no Ink Paint, você pode gerar GI na cena com materiais no estilo Cartoon, mas normalmente não é usado GI neste tipo de trabalho.
Essa habilidade de gerar o contorno em materiais comuns do 3ds max abre muitas possibilidades, por exemplo, permite criar um vidro realístico com refração ou fazer um material reflexivo e gerar o contorno numa cena no estilo Cartoon.
Unindo tudo isso, você consegue ótimos resultados no estilo Cartoon, o melhor de tudo é o tempo de renderização, muito inferior às cenas realísticas com GI e outros efeitos modernos de iluminação.
O contorno do objeto é gerado também se houver Displacement, e respeita a rugosidade criada pelo Displacement perfeitamente, como pude comprovar numa animação que desenvolvi.
No caso de animação, é melhor usar o Shader Depth Fade, e configurar corretamente a distância da câmera, para que os traços fiquem finos quando estiverem distantes, e mais espessos quando se aproximarem da câmera.
Também pode usar alguns materiais com contorno e outros sem, ou alguns materiais Ink Paint e outros comuns, com ou sem contorno, dependendo da situação e do objetivo.
O Mental Ray não aceitará renderizar o efeito de Motion Blur junto com Shaders de Contour na cena, porque o Motion Blur borraria o contorno virando uma mancha preta, mas ele aceita renderizar o efeito de Depth Of Field, deixando os objetos mais distantes fora de foco, os contornos também serão borrados para sair de foco, portanto, é importante usar um contorno fino nos objetos distantes.
Espero que tenham gostado dessa parte sobre cartoon, até a próxima.

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.

Faça o login para poder comentar

Andre Vieira Comentou em 23/06/2011 09:07 Ver comentário

USUÁRIOS CONECTADOS

Total de mensagens publicadas pelos membros da comunidade: 661487.

Total de membros registrados: 102375

Últimos membros registrados: alineefraga, ginalder, RODRIGODECEZAR, vhugo05, marcio negrao, epimenta, rochalao2017, Samuel costa.

Usuário(s) on-line no momento: 402, sendo 17 membro(s) e 385 visitante(s).

Membro(s) on-line no momento: rodolfosantos3d, juliokansas, fernando parreira, sheeperson, Alexandrino.Pereira, franquini, itamar nunes, felipecrochan, Junior, Marcelo, Abilio, Evaldorp, alex.p3d, Elis, Andre Vieira, Eddy, Designer RS.

Legenda: Administrador, Especial, Moderador, Parceiro .

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