Posts on Oct 2015

Cópias e Espelhamento (Autodesk Softimage/XSI)

Cópia comum

Com o objeto selecionado:

Ctrl + Alt + D: cria uma cópia normal

Ctrl + D : cria uma cópia normal, porém, lembrando a última transformação.

Transformação aqui é o uso do Move (V), Rotation (C) ou Scale (X).

Exemplo: se você copiar um objeto através do Ctrl + D e movê-lo por 10 unidades no eixo X, ao copiar este último objeto usando o mesmo atalho, a próxima cópia será criada automaticamente a 10 unidades desse objeto, na direção do eixo X.

Ctrl + Shift + D: cria múltiplas cópias. É como um Array. É possível configurar a distância que cada cópia será criada uma da outra, o ângulo de rotação que cada uma terá em relação a outra e a escala.

Cópias Instaciadas

Edit > Duplicate/Instantiate > Clone

O mesmo que Ctrl + D, porém, ao manipular os componentes do objeto original, as cópias também são alteradas.

Edit > Duplicate/Instantiate > Clone Multiple

O mesmo que Ctrl + Shift + D, porém, ao manipular os componentes do objeto original, as cópias também são alteradas.

Mirror

No XSI não existe a opção Mirror. O espelhamento é feito como no Maya:

1 – Selecione o objeto
2 – Faça uma cópia ou não
3 – Altere o valor de Scale, no eixo desejado, para -1. Dessa forma, o objeto será espelhado naquele eixo.

Grande abraço,

Navegação, Visualização e Manipulação de objetos no Softimage/XSI 2010

Navegação

A primeira coisa que se deve aprender num software 3D é como navegar nas viewports, ou seja, como manipular as vistas ortogonais e de câmera de forma prática e rápida. No XSI, para navegar, é necessário um dedo pressionando a tecla S e outro nos botões do mouse:

OBS: BE (LMB), BM (MMB) e BD (RMB) são respectivamente Botão Esquerdo do Mouse, Botão do Meio do Mouse e Botão Direito do Mouse. A primeira sigla é em português enquanto a seguinte é em inglês.

Orbit [S + BD (RMB)]

É a rotação da câmera ao redor dos objetos. O centro de rotação padrão é o centro da cena. Para rotacionar com centro em um ou mais objetos, selecione os objetos e tecle F (Frame). Isso faz com que os objetos sejam enquadrados na viewport e também passam a ser o centro de rotação da câmera. Quando mais objetos estiverem selecionados, o centro do Orbit é a média da posição dos Pivots dos objetos (falarei sobre Pivots em outro tutorial).

Pan [S + BE (LMB)]

É a translação, o deslocamento da câmera.

Dolly [S + BM (MMB)]

Parece um Zoom, mas não é. O zoom é criado pela movimentação das lentes de uma câmera, distorcendo a perspectiva. Dolly é a aproximação e afastamento da câmera em relação a um objeto. Também pode ser feito através do Scroll do mouse, mas é menos preciso.

Essa forma que eu descrevi acima é configuração padrão do XSI. Existe uma outra configuração que deixa a navegação semelhante a do Maya, porém, ao invés de usar Alt (como no Maya), continua-se usando a tecla S. Para alterar essa configuração, acesse File > Preferences… Na caixa de diálogo, escolha Tools > Camera. No grupo Nav, mude a opção em Nav Mapping para Maya (Orbit,Pan,Zoom):

xsi_navprimvis01

Dessa forma, a navegação passa a ser:

  • Orbit: S + BE (LMB)
  • Pan: S + BM (MMB)
  • Dolly: S + BD (RMB)

Eu prefiro assim.

Maximizando/Minimizando viewports

Para maximizar/minimizar uma viewport, basta posicionar o cursor sobre uma viewport (não é necessário selecioná-la) e pressionar a tecla F12:

xsi_navprimvis02

Inserindo e alterando primitivas poligonais

Para inserir uma primitiva poligonal, basta acessar Model > Get > Primitive > Polygon Mesh > escolher primitiva:

xsi_navprimvis03

Após escolher uma primitiva, esta é criada instantaneamente, sendo posicionada no centro da cena, ou seja, na coordenada 0,0,0 (origem). Toda vez que uma primitiva é criada, abre-se a Property Page (PPG), que é uma caixa de diálogo contendo as configurações daquela primitiva:

xsi_navprimvis04

Se a PPG for fechada e você quiser acessar as configurações da primitiva, basta selecionar o objeto (é só clicar nele) e pressionar a tecla ENTER. Além de permitir alterar os parâmetros da primitiva, a PPG possui o campo Name, onde você tem a possibilidade de dar um nome específico para o objeto (recomendo para organização).

OBS: caso existam mais objetos na cena, se você tentar abrir a PPG de outro objeto, esta substituirá a PPG que já estava aberta. Para manter mais PPG abertas ao mesmo tempo, click no ícone Lock. A PPG que estiver com o Lock habilitado, não será substituída,  se mantendo aberta.

Outro lugar onde é possível renomear um objeto é através do painel KP/L, localizado no canto inferior direito:

xsi_navprimvis05

Onde estiver o nome original do objeto, basta renomear e teclar ENTER.

OBS: O XSI nunca permite que dois objetos tenham o mesmo nome. Se você tentar nomear um objeto com um mesmo nome de outro objeto existente, o XSI acrescentará um número em sequência no final do nome dele (Objeto, Objeto1, Objeto2, etc.).

Assim como o Maya, é possível alterar as coordenadas de posicionamento do objeto, rotação e os valores de redimensionamento através do grupo Local Transform. Isso também é possível fazer no painel MCP, no grupo Transform. É que o painel KP/L é usado para animação.

Modos de visualização de objetos

No XSI, cada viewport permite ter configurações independentes. Ao inserir uma primitiva, o modo de visulização padrão é o Wireframe (aramado) onde só as edges do objeto ficam a mostra. Porém, existem outras forma de visualizar os objetos:

xsi_navprimvis06

  • Wireframe: mostra somente as edges.
  • Bounding Box: mostra o objeto em forma de caixa wireframe. É uma forma de visualização leve para viewport.
  • Depth Cue: mostra somente as edges, porém em profundidade. As edges que estão por trás do volume não são mostradas.
  • Hidden Line Removal: mostra somente as edges, sem mostrar as que estão por trás do volume.
  • Constant: mostra apenas a silhueta do objeto.
  • Shaded: mostra o volume do objeto e o brilho do material.
  • Texture: mostra textura (imagem) aplicada no objeto e brilho do material.
  • Texture Decal: mostra textura (imagem) aplicada no objeto desprezando o volume do mesmo.

xsi_navprimvis07

  • Headlight: literalmente, luz na cabeça. Porém aqui, na câmera. Permite ver sempre o objeto sem áreas de sombras que escondam alguma parte dele, quando orbitamos a câmera.
  • Wireframe On Shaded: mostra as edges do objeto junto com o volume.

Para usar o modo X-Ray (Raio X), que permite ver o objeto em transparência, acesse o menu Display Type > Display Options… No grupo Shaded Mode, habilite o XRay Mode:

xsi_navprimvis08

Para ligar/desligar o Grid (linhas quadriculadas no fundo das vistas ortogonais e plano quadriculado presente na vista de câmera), basta posicionar o cursor do mouse sobre uma viewport e teclar G.

Manipulando objetos

xsi_navprimvis09

Selecionar (Barra de Espaço)

Seleciona objetos sem movê-los, rotacioná-los ou alterar sua dimensão. Para selecionar, basta clicar sobre o objeto ou fazer uma janela de seleção cruzando o objeto ou mantendo-o dentro dessa seleção. Para selecionar mais de um objeto, mantenha pressionada a tecla SHIFT enquanto seleciona. Para retirar objetos de uma seleção, mantenha pressionada a tecla CTRL enquanto “desseleciona” os objetos.

Mover (V)

Muda a posição de um ou mais objetos na cena. Se selecionar um dos eixos do move (setas coloridas), o objeto será movimentado apenas na direção daquele eixo. Se selecionar o quadrado central amarelo, o movimento será livre nos 3 eixos (nas vistas perspectiva e de câmera) ou em dois eixos (vistas ortogonais). Se posicionar o cursor entre dois eixos, o quadrado amarelo central fica na perspectiva do plano formado pelos dois eixos, possibilitando movê-lo apenas naquele plano.

Rotacionar (C)

Altera a rotação de um ou mais objetos na cena. Se selecionar um dos eixos do rotate (arcos coloridos), o objeto será rotacionado apenas ao redor daquele eixo. Se selecionar a área interna dos arcos, a rotação será livre nos 3 eixos. Se selecionar o arco preto, a rotação será feita através de um eixo imaginário perpendicular à vista atual.

Redimensionar (X)

Altera a dimensão de um ou mais objetos na cena. Se selecionar um dos eixos do scale (quadrados coloridos), o objeto será redimensionado apenas na direção daquele eixo (redimensionamento não uniforme). Se selecionar o quadrado central amarelo, o redimensionamento será uniforme em qualquer vista. Se posicionar o cursor entre dois eixos, o quadrado amarelo central fica na perspectiva do plano formado pelos dois eixos, possibilitando o redimensionamento apenas naquele plano.

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.

Gamma, Passos e Exposure Control – Mental Ray e 3DMAX 2011

Há mais ou menos 1 ano atrás comecei a trabalhar no 3DMAX (e também no XSI) usando correção de gamma. O que vem a ser isso?

Correção de gamma

Para entender melhor o que é acorreção de Gamma, leia meu artigo sobre Linear Work Flow.

OBS.: ao renderizar os passos de uma imagem, usando o Render Elements, junto com o Controle Exposição da luz (Exposure Control), a imagem final renderiza corretamente, mas os passos ficam super claros, estourados mesmo. Então, os passos devem ser salvos com gamma = 1. Porém, nesse tutorial, não estou usando Controle de Exposição. Farei uma atualização, assim que possível, deste tópico, usando Controle de Exposição.

Seguem as etapas para habilitar o Gamma Correction (correção de gamma) no Max e também para gerar passos no formato Open EXR (formato HDR da ILM – Industrial Light and Magic). Para saber mais sobre arquivos EXR, clique aqui.

Habilitando Gamma Correction

A imagem abaixo mostra a configuração de gamma recomendado no manual do 3DMAX:

gamma01

Com as configurações acima, texturas, slots de materiais e a imagem renderizada ficarão mais claras. Para tirar proveito dessa correção, ao criar materiais é recomendado que se utilize um shader do Mental ray para que as cores e texturas fiquem com a aparência correta. O nome do shader é “Utility Gamma & Gain“, chamado apenas de “Gamma and Gain” na versão 2011:

gamma02

Com o Gamma and Gain, cores e texturas passam a ter as cores corretas junto ao Gamma.

Pipeline recomendada no uso de Gamma

Abaixo, segue uma imagem presente no manual do Max, mostrando o método recomendado para se trabalhar com a correção de gamma:

pipeline

  • Para imagens que serão usadas em materiais (mapas de texturas, reflexão, background, etc):

Se a imagem carregada for do tipo low-dynamic-range, ou seja, arquivos JPG, BMP ou PNG, e que não serão usadas para Bump, Displacement ou Normal Map, salve no Photoshop como sRGB.

gamma04

Nota: Se você não quiser usar o shader Utility Gamma & Gain (Gamma and Gain), a cada imagem que você carregar, configure na caixa de diálogo Select Bitmap Image File > grupo Gamma > Override o valor do Gamma. Em Override, coloque o valor 2.2. Através desse método, é possível ver o efeito da correção do gamma na viewport e também é suportado pelo renderizador padrão do Max, o Scanline.

gamma05

  • Para imagens do tipo High Dynamic Range (HDR ou EXR), não é necessário haver correção de gamma.
  • Para imagens do tipo Low Dynamic Range que serão usadas como bump, displacement ou normal map, também não é necessário a correção de gamma.

Renderizando as imagens

  • Se você for renderizar imagens no formato Low Dynamic Range (novamente, JPEG, BMP ou PNG), use um controle de exposição (de preferência o mr Photographic exposure control) e configure o Output Gamma da imagem (na janela Save As) para 2.2. Esse é o procedimento descrito no manual do Max. Como eu disse no início do post, funciona perfeitamente para imagens finais. Meu problema é na renderização dos passos que, mesmo renderizando no formato Low Dynamic Rang, saem estouradas…
  • Se você for renderizar imagens no formato High Dynamic Range (HDR ou OpenEXR), não use correção de gamma na janela Save As. Deixe o valor em 1.

Gerando passos no formato Open EXR

Para incluir os passos necessários para composição, tecle F10 > guia Render Elements e inclua os passos desejados:

gamma06

Eu recomendo usar o shader Arch&Design (mia_Material) para criar materiais com Mental Ray. Sendo assim, opte pelos passos próprios desse shader (mr A&D nome do passo – podem ser do tipo Level, RAW ou Output). Eu optei pelo Output pois necessita de composição mais simples na pós-produção (posso falar disso em outro post).

Depois acesse a guia Commom e desça até o grupo Render Output. Clique no botão File… e escolhe o formato Open EXR. Depois de dar um nome pro arquivo e clicar em Save, a janela de configuração do EXR se abre. No grupo Render Elements, clique em Add e adicione os passos que você inclui anteriormente no Render Elements.

gamma07

O EXR tem a capacidade de armazenar em layers os passos criados. Não é obrigatório. Se quiser, pode criar os passos separados, de forma normal, salvando cada arquivo como um EXR separado. Se você abrir no Photoshop esse arquivo EXR contendo os layers dos passos, ele não mostrará os passos (pelo menos até a versão CS4). Só será possível através de um plugin. Para não usar plugins, dou duas soluções:

  1. Salvar cada passo em arquivo separado direto do Max (procedimento normal)
  2. Abrir o EXR no After Effects e salvar no formato PSD com layers (leia mais abaixo)

A figura abaixo mostra os passos gerados:

gamma08

Usando os passos gerados no After Effects CS4

Importe a imagem EXR e arraste-a para a área dos layers:

gamma09

Selecione esse layer e faça cópias (Ctrl + D). Crie uma cópia para cada passo gerado. Selecione um dos layers, vá no painel Effects > 3D Channel > EXtractoR. Dê um duplo clique no EXtractoR para aplicá-lo no layer selecionado. Agora acesse a guia Effects Controls para ver os parâmetros do efeito. Clique na área indicada na imagem abaixo. Isso abrirá a janela do EXtractoR. Para cada canal R, G e B (não vou usar Alpha por não existir no meu teste) escolha o passo correspondente. Por exemplo: eu carreguei o passo Diffuse Direct. Então, escolhi Diffuse Direct R, para o canal R; Diffuse Direct G, para o canal G e Diffuse Direct B, para o canal B. Para cada layer, faça o mesmo, porém escolhendo um passo diferente. No meu caso, fiquei com 4 layers, cada um com um passo extarído: Difuse Direct, Difuse Indirect, Specular e Reflection.

gamma10

Altere o Blend Mode de cada layer como mostrado abaixo. Como os passos gerados foram do tipo Output, basta colocar os layers na ordem certa e escolher o Blend Mode Add. Isso está explicado no manual do Max. Mas, como falei antes, vou postar algo sobre isso com mais detalhes.

gamma11

Agora aparece uma questão que não consegui resolver de outra forma até agora. Perceba que o resultado da imagem final é mais escura que o render final, direto Max. Ou seja, na composição, o efeito da correção do Gamma desapareceu. Então, é preciso aplicar o gamma correto no After, mesmo (ainda estou estudando isso para entender melhor).

Para aplicar um único efeito em todos os layers de uma vez, é necessário criar um Pre-Compose dos layers (que nada mais é que um grupo de layers). Para isso, selecione os layers, e acesse o menu Layer > Pre-compose… Com o pre-compose selecionado, vá no painel Effects > Color Correction > Exposure. Dê um duplo clique no Exposure para aplicar o efeito no pre-compose e acesse a guia Effects Controls para alterar o gamma da exposição. Altere o valor de gamma para 2,2.

gamma12

Pronto. Agora a composição está com o nível de iluminação correto.

Bom, o exemplo acima demosntra a forma mais complexa de se trabalhar com arquivos EXR (extraindo seus canais). Para esse exemplo mostrado não precisaríamos fazer dessa forma. Você pode, como eu disse antes, salvar cada passo em EXR mesmo, mas já separadamente, direto do Render Elements e depois importando tudo no After ou Photoshop e fazer a composição. Porém, se você quiser armazenas canais do tipo Velocity ou Z Depth para criar efeitos específicos, o procedimento seria esse mesmo, descrito acima. Porém, ao invés de carregar os canais no grupo Render Elements do EXR, você deve carregar os canais no grupo G-Buffer Channels, na janela de opções do EXR. A extração dos canais, no After, é feita da mesma forma, utilizando o EXtractoR.

Nesse caso, se for um still, é bem provável que você queira fazer a composição no Photoshop. Nativamente, o Photoshop não tem uma ferramenta para extrair os canais como o After. Então, uma saída (sem utilizar plugins de terceiros) é usar o After salvar PSD com todos os canais presentes dentro do EXR, como layers.

Para isso, basta selecionar um layer qualquer, no After, e acessar o menu Composition > Save Frame As > Photoshop Layers…

gamma13

Perceba que não é preciso usar o EXtractoR para exportar um PSD com os canais em layers. É só arrastar o arquivo EXR para um layer, selecioná-lo e seguir o procedimento da imagem acima.

Usando proxy do Mental Ray no 3DMAX

Neste tutorial, como exemplo, estou usando um objeto complexo, o modelo 51 do volume 24 do DVD Archmodels, da Evermotion. Esse modelo é uma amostra grátis e pode ser baixado aqui. Clique no botão “Sample” (amostra) para baixar o modelo.

Para entender melhor o que são proxies, dê uma lida no artigo sobre o assunto clicando aqui, caso não tenha feito ainda.

OBS: Antes de começar, certifique-se de que o Mental Ray esteja habilitado como renderizador (Tecle F10 > guia Commom > grupo Assign Render. No campo Production, clique no botão [] e escolha mental ray Renderer).

A imagem abaixo mostra o modelo após organizá-lo do meu jeito, dando inclusive nomes coerentes para os objetos.

proxy_max01

OBS: antes de começar o processo de criação do proxy, recomendo aplicar todos os shaders e texturas nos objetos.

No Max, não dá pra criar um proxy de vários objetos de uma vez só (caso haja, por favor, não hesite em comentar. Não encontrei nada no Help). Então, devemos juntar os objetos para que sejam um só. Para isso, selecione um objeto e depois acesse o painel Modify > Attach. Clique na caixinha ao lado do botão e selecione os objetos que aparecem na caixa Attach List e depois clique no botão Attach.

proxy_max02

Após clicar no botão Attach, como os objetos possuem materiais diferentes, é perguntado se deseja manter cada elemento com seu próprio material. Clique em OK com as opções mostradas abaixo:

proxy_max03

Pronto, agora a nossa planta é apenas um objeto.

O próximo passo é inserir um objeto proxy na cena. Para isso, acesse o painel Create > Geometry > Mental Ray > Proxy. Ou menu Create > Mental ray > mr Proxy, como mostrado abaixo.

proxy_max05

Clique e arraste onde quiser, dentro da viewport, para criar o objeto proxy. Não se preocupe com o tamanho do objeto. O objeto proxy é um Bounding Box, ou seja, um cubo aramado, sem sombreamento. Após criá-lo, aproveitei para alinhá-lo com o pivot do objeto original, para que fiquem exatamente na mesma posição.

proxy_max06

Agora selecione o objeto proxy e depois clique no painel Modify, para ter acesso aos parâmetros do proxy. Clique no botão NONE, selecione a plantinha e depois clique no botão “Write Object to File…” (veja imagem abaixo). O que acontece aqui? O objeto proxy identifica o objeto que será representado por ele e depois salva num arquivo *.mib, próprio do Mental Ray. Quando o render passar por cima do proxy, o arquivo MIB é carregado mostrando a nossa plantinha, uma geometria bem mais complexa que o proxy.

proxy_max07

Após clicar em Save, a caixa de diálogo “mr Proxy Creation” é mostrada:

proxy_max08

 

  • Current Frame: não salva qualquer animação, se houver. Salva apenas o estado do objeto no frame atual.
  • Active Time Segment: salva toda a animação (se houver).
  • Custom Range: salva animação (se houver) somente na faixa de frames especificada nos valores de Start e de End.

 

No meu caso, como não há animação, deixo como está e clico em OK.

O objeto proxy então é criado, no meu caso, exatamente na mesma posição do objeto original. Abaixo, eu arrastei um dos objetos para ficar fácil a visualização.

proxy_max09

OBS: caso seu objeto proxy seja criado com rotação e/ou escala diferente da do objeto original, delete o objeto proxy e aplique um Reset XForm (painel Utilities > Reset XForm > Reset Selected) no objeto original antes de criar o proxy. Após aplicar o Reset XForm, não esqueça de “collapsar” o objeto (painel Modify > Botão direito sobre o modificador XForm > Collapse All)

Por padrão, o proxy é formado por pontos (Point Cloud), como definido nos parâmetros do proxy (Show Point Cloud). Pode-se mudar para Bounding Box (Show Bounding Box) ou mesclar os dois. Se quiser aumentar a definição do Point Cloud para visualizar melhor a forma do objeto, aumente o valor de “Viewport Verts“. Note também que a imagem do objeto real fica à mostra no proxy, para fácil identificação.

proxy_max10

Depois de criar o objeto proxy, não há mais a necessidade do objeto original fique na cena. Porém, é bom salvá-lo num arquivo separado para edições futuras. Costumo fazer isso selecionando esse objeto e usando o File > Save Selected…

proxy_max11

Depois de salvar o objeto original, delete-o da cena e faça um render (F9) apenas do proxy.

proxy_max12

O resultado do render mostra o objeto, porém com material errado, apenas com um shader de cor. Para aplicar os mesmo materiais que já estavam antes, abra o Material Editor (M), escolha um slot de material e carregue o Xref Material. Clique no botão com [] do campo Filename e selecione aquele arquivo que foi salvo com o Save Selected. Uma janela listando os objetos presentes se abrirá (provavelmente só há um objeto). Selecione o objeto e clique em Ok.

proxy_max13

Aplique o material no objeto proxy. Pronto. Agora é só renderizar.

proxy_max14

Como importar arquivo DWG no Blender

Olá pessoal,

Segue o vídeo tutorial que eu fiz explicando como importar arquivos DWG (arquivos do AutoCAD) para dentro do Blender.

Hi guys,

Bellow, follows a video tutorial where I explain how to import DWG files (AutoCAD files) into Blender (video in Portuguese. English version soon).

Gerando UVs / Creating UVs – Blender

E aí pessoal. Esse é o meu primeiro tutorial sobre Blender. Nele mostro o workflow para gerar as UVs de um objeto não muito simples.

Hi guys. This is my first Blender tutorial. Inside it, I show the workflow to create the UVs of a not very simple object (PORTUGUESE ONLY. ENGLISH VERSION SOON).

 

Manipulando objetos / Transforming objects – Maya

Chama-se transformação o ato de mover, rotacionar ou alterar a dimensão de um objeto.

We call transform the act of move, rotate or scale an object.

maya_navprimvis11

Selecionar / Select (Q)

Seleciona objetos e nodes sem aplicar uma transformação. Para selecionar, basta clicar sobre o objeto ou fazer uma janela de seleção (clique com botão esquerdo e arraste). Os objetos ou nodes que estiverem dentro da área de seleção ou que cruzarem a borda de seleção serão selecionados. Para selecionar mais de um objeto, mantenha pressionada a tecla SHIFT enquanto seleciona. Para retirar objetos de uma seleção, mantenha pressionada a tecla CTRL enquanto clica nos objetos.

Select objects and nodes without applying a transform. To select an object or node, just left click on it, or make a window selection (left click and drag). The objects or nodes that are inside de selecion or crossing the selection border will be selected. To add more objects or nodes to selection, press SHIFT. To desselect, press CTRL and left click the desired objects or nodes.

Mover / Move (W)

Permite mover objetos dentro do espaço 3D. Se selecionar um dos eixos do move (setas coloridas), o objeto será movimentado apenas na direção daquele eixo. Se selecionar o quadrado central amarelo, o movimento será livre nos 3 eixos (nas vistas perspectiva e de câmera) e em dois eixos (vistas ortogonais).

Allow you to move objetcts inside 3D space. If you select one of the axis (colored arrows), the object will be locked to that direction. If you select the central yellow square, the movement is free (3 axis in perspective view, and 2 axis in orthographic views).

Rotacionar / Rotate (E)

Permite rotacionar um ou mais objetos na cena. Se selecionar um dos eixos do rotate(arcos coloridos), o objeto será rotacionado apenas ao redor daquele eixo. Se selecionar a área interna dos arcos, a rotação será livre nos 3 eixos (nas vistas perspectiva e de câmera) ou em um eixo (vistas ortogonais). Se selecionar o arco amarelo, a rotação será feita através de um eixo imaginário perpendicular à vista atual.

Allow you to rotate objects. If you select one of the axis (colored rings), the object will rotate around that axis. If you select the inner area, the rotation will be free.

Redimensionar / Scale (R)

Altera a dimensão de um ou mais objetos na cena. Se selecionar um dos eixos do scale (quadrados coloridos), o objeto será redimensionado apenas na direção daquele eixo (não uniforme). Se selecionar o quadrado central amarelo, o redimensionamento será uniforme em qualquer vista.

Changes the size of the object. If you select one of the axis (colored cubes), the scale will be non uniform, deforming the object. If you select the central yellow cube, the scale will be uniform, without deformation.

Opções de visualização – Maya

No Maya, cada viewport permite ter configurações independentes, através do menu presente em cada uma, contendo as mesmas opções. Ao inserir uma primitiva, o modo de visualização padrão é o Wireframe (aramado) onde só as edges do objeto ficam a mostra. Porém, existem outras forma de visualizar os objetos:

maya_navprimvis03

  • Wireframe (4): mostra apenas as edges do objeto.
  • Shaded (5): mostra o volume do objeto.
  • Wireframe on shaded: mostra o volume e as edges do objeto.
  • Texture (6): se houver textura (procedural ou bitmap) aplicado no objeto, com esse modo habilitado é possível vê-la na viewport.
  • Use all lights (7): se houverem luzes, o efeito da mesma é mostrado na viewport.
  • X-Ray: mostra o volume do objeto, porém, com transparência.

No menu Shading da viewport, é possível ter acesso a outras formas de visualização:

maya_navprimvis08

  • Flat Shade All: deixa facetado os volumes de todos os objetos.
  • Flat Shade All: deixa facetado apenas os volumes dos objetos selecionados.
  • Bounding Box: mostra todos os objetos como caixas em wireframe. É um modo de visualização leve, para deixar a navegação na viewport mais rápida.
  • Points: mostra o volume dos objetos porém baseados em pontos no espaço. Também é um modo de visualização leve, mas define melhor a forma dos objetos do que o Bounding Box.

Ainda no menu Shading, é possível alterar a espessura do wireframe através da opção Thicker lines… :

maya_navprimvis09

Se você clicar na opção Apply Current to All, todas as viewports terão a mesma configuração adotada na viewport atual:

maya_navprimvis10

Para ligar/desligar o Grid (linhas quadriculadas no fundo das vistas ortogonais e plano quadriculado presente nas vistas de perspectiva e de câmera), basta clicar no ícone Grid, no menu de cada viewport:

maya_navprimvis05

Caso queira ligar/desligar o grid para todas as viewports de uma vez só, acesse Display > Grid. Porém, ele respeitará a opção de grid já adotado para cada viewport. Ex.: se uma viewport estiver com o grid desligado, não adianta ligá-lo através do Display Grid.

Criando primitivos – Maya

Para inserir uma primitiva poligonal, basta acessar Create > Polygon Primitives >escolher primitiva:

maya_navprimvis01

Observe que que ao lado de cada nome de primitiva existe um quadradinho: é a caixa de opções daquele item específico. Essa caixinha de opções é muito comum no Maya. Se, antes de clicar no nome da primitiva você clicar na caixa de opções, uma janela de diálogo se abrirá (como mostrado acima) com os parâmetros de criação daquela primitiva. Assim, você poderá inserir um objeto já com as opções alteradas por você. O botão Apply cria a primitiva sem fechar a caixa de diálogo enquanto o botão Create cria a primitiva e fecha a caixa de diálogo.

Existem também duas opções, habilitadas por padrão, localizadas na parte de baixo da lista de primitivas: Interactive Creation Exit on Completion.

Interactive Creation: quando habilitado (padrão), o método de criação de primitivas é semelhante ao do 3DMAX. Você pode criar a primitiva onde quiser na cena e tem que ir seguindo os passos para essa criação. Quando essa opção está desligada, o processo de criação volta a ser como era até a versão 7 do Maya (e como é no XSI até hoje): a primitiva é criada instantaneamente, usando os valores determinados na caixa de opções daquela primitiva, posicionando-a no centro da cena, ou seja, na coordenada 0,0,0 (origem). Eu prefiro deixar o Interactive Creation desligado.

Exit on Completion: quando habilitado (padrão), encerra o processo de criação daquela primitiva assim que ela é criada. Quando desligado, mantém ativo a criação daquela primitiva possibilitando criar outras com outras configurações e posicionamentos diferentes até que você cancele a operação (Q). Seu uso só faz sentido se você estiver com o Interactive Creation ligado.

Após inserir uma primitiva, é possível alterar seus parâmetros a qualquer hora. Basta selecioná-la, clicar no painel Channel Box (localizado no canto superior direito da interface). Escolhendo o terceiro ícone (Show the Channel Box and Layer Editor), como mostrado abaixo:

maya_navprimvis02

Com o Channel Box é possível alterar o nome do objeto (recomendo para organização – clique no nome atual, digite outro e tecle ENTER para finalizar), alterar/conferir valores de posição (Translate), rotação (Rotate), redimensionamento (Scale) e visibilidade (Visibility) e ter acesso ao histórico. Nesse primeiro momento, apenas saiba que os parâmetros da primitiva estão no campo INPUTS, onde fica o histórico de um objeto. Clicando em cima do nome do objeto nesse campo (no meu caso, polyTorus1 – poly = Polígono; Torus1 = nome do meu objeto), é possível fechar/abrir essas opções. Para alterar os valores, basta introduzir novos valores e teclar ENTER. Existe também uma forma de alteração em tempo real:

  1. Selecione o nome do parâmetro.
  2. Posicione o curso do mouse em qualquer parte da viewport e arraste o mouse para os lados segurando o botão do meio.

OBS: O Maya nunca permite que dois objetos tenham o mesmo nome. Se você tentar nomear um objeto com um mesmo nome de outro objeto existente, o Maya acrescentará um número em sequência no final do nome dele (Objeto, Objeto1, Objeto2, etc.).