Autodesk Softimage/XSI

Backface Culling – Softimage/XSI

Por padrão, todas as faces internas de um objeto poligonal não são renderizadas, ou seja, o Softimage/XSI só renderiza a face do polígono na qual a Normal aponta pra fora. Se inverter a Normal de uma face, a face interna do polígono será renderizada, mas a de fora, não. Isso porque a opção Backface Culing está desabilitada por padrão. Assim, o software economiza memória ao renderizar, já que as faces que interessam são as externas. Porém, caso queira forçar a renderização das duas faces de um polígonos, é só habilitar o Backface Culling. Essa expressão significa “ignorar a face de dentro”.

Para habilitá-lo, acesse o menu Display da viewport > Display Options… > guia Performance > Backface Culling:

backface-culling

Usando proxy do Mental Ray no Softimage/XS

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.

Importe o arquivo OBJ (File > Import > obj File…)

A imagem abaixo mostra o modelo após organizá-lo do meu jeito, dando inclusive nomes coerentes para os objetos. Os objetos Grid e Sphere fazem parte do meu cenário.

proxy_xsi01

No XSI é possível criar um proxy para múltiplos objetos. Para isso, basta criar um Model (Model > Create > Model) e inserir os objetos dentro dele:

proxy_xsi02

Depois de criado o Model, abra o Explorer (8) e arraste os objetos que fazem parte da planta para dentro dele.

proxy_xsi03

Caso queira esconder o Null do Model, basta selecioná-lo e teclar “H“. Antes de criar o proxy, é necessário exportar o modelo que será referenciado por ele num formato do Mental Ray (*.mia). Para isso, selecione o Model e vá em Render > Render > Export > Selected object… Na janela “Export Object Render Archive” é mostrado o nome do arquivo e onde será salvo (campo “Filename“).

proxy_xsi04

  • Sequence: quando habilitado, permite escolher a margem de frames que serão exportados, caso o objeto esteja animado. O parâmetro Step é o incremento (1 = todos os frames são exportados; 2 = salva de 2 em 2 frames e assim por diante).
  • Generate display proxies: esse parâmetro é bem legal: salva a  imagem do objeto original. A imagem é mostrada no objeto proxy que será criado e poderá ser visto quando o modo de visualização da viewport for Texture ou Decal Texture.

Após clicar em OK para exportar o objeto, o mesmo já pode ser deletado da cena (OBS: tenha o objeto original salvo em outro arquivo para backup). Agora, vamos inserir o objeto proxy na cena. No XSI, esse objeto é chamado de Stand-in. Para inseri-lo, Model > Primitive > Stand-in. A janela com os parâmetros do Stand-in será mostrada. Você pode dar um nome para ele (campo Name) e deve carregar o arquivo *.mia, contendo o objeto exportado. Para carregá-lo, clique no botão [] do campo Stand-in e selecione o arquivo exportado.

proxy_xsi05

Depois de carregar o arquivo, o proxy fica com as proporções do objeto original.

proxy_xsi06

Mudando o modo de visualização da viewport para Texture ou Texture Decal, é possível ver a imagem do objeto que será carregado pelo proxy.

proxy_xsi07

Fazendo um Render Region (Q) em volta do proxy, vê-se o objeto original renderizado.

proxy_xsi08

Grupos e Clusters (Autodesk Softimage/XSI)

Para agrupar objetos:

1 – Selecione os objetos
2 – Ctrl + G ou clique no botão Group, localizado no painel Edit (Fig. 01).

fig01

Para selecionar um grupo:

1 – Clique no botão Group, localizado no painel Select. (Fig. 02)
2 – Selecione um ou mais objetos que pertençam a um grupo.

fig02

Para adicionar objetos a um grupo:

1 – Clique o botão Group, localizado no painel Select. (Fig. 02)
2 – Selecione o grupo e os objetos que serão adicionados ao grupo
3 – Clique no botão + do grupo, no painel Edit. (Fig. 01)

Para remover objetos de um grupo:

1 – Com apenas o modo Objeto habilitado (botão Object – Fig. 01), selecione os objetos que serão removidos do grupo
3 – Clique no botão – do grupo, no painel Edit. (Fig. 01)

Clusters

Clusters são grupos de vértices, edges ou polígonos.

Para criar clusters:

1 – Selecione os componentes desejados (vértices, edges ou polígonos)
2 – Ctrl + L ou Alt + Botão Dir do mouse > Create Cluster (Fig. 03)

fig03

Para selecionar clusters

1 – Entre num modo de componente que tenha pelo menos um cluster criado
2 – Clique no botão Cluster, no painel Select (Fig. 04)
3 – Selecione um componente que pertença a um cluster

fig04

Para adicionar componentes num cluster existente

1 – Selecione um cluster
2 – Com o cluster já selecionado, saia do modo de seleção de cluster e selecione os componentes que serão adicionados
3 – Alt + Botão Dir > Add to cluster (Fig. 03)

Para remover componentes de um cluster

1 – Selecione um cluster
2 – Com o cluster já selecionado, saia do modo de seleção de cluster e selecione os componentes que serão removidos do cluster
3 – Alt + Botão Dir > Remove from cluster (Fig. 04)

Um abraço,

Ferramentas de seleção – Softimage/XSI

Os modos de seleção podem ser acessados através do painel Select, como mostrado na imagem abaixo:

selecao

Rectangle (F7)

É o modo padrão de seleção. A seleção é feita através de uma janela retangular. Todos os objetos que estejam dentro ou que cruzem a linha de seleção, são selecionados.

Lasso (F8)

A seleção é feita desenhando a mão livre a área de seleção. Todos os objetos que estejam dentro ou que cruzem a linha de seleção, são selecionados.

Freeform (F9)

A seleção é feita através do desenho de uma linha à mão livre. Todos os objetos que cruzem a linha de seleção, são selecionados. É ideal para criar malha através de Loft, pois ele leva em consideração a ordem em que as curvas são selecionadas.

Raycast (F10)

Clique com o botão esquerdo do mouse e saia arrastando. Nesse modo de seleção, os únicos objetos selecionados são os que o cursor passar por cima. Objetos que estejam atrás, não são selecionados.

Rectangle Raycast (Shift + F10)

A seleção é feita através de uma janela retangular. Todos os objetos que estejam dentro ou que cruzem a linha de seleção, são selecionados. Os objetos que estão atrás de outros objetos, não são selecionados.

Paint (Pints, Edges, Polygons) (F11)

Esse modo só funciona se o objeto estiver previamente selecionado e com um modo de componente (vértice, edge ou polígono) acionado. Com o Paint, é possível pintar a seleção do componente acionado na malha.

Para diminuir o tamanho do brush: Botão do Meio + Arrastar para Esq
Para aumentar o tamanho do brush: Botão do Meio + Arrastar para Dir

Para sair do modo Paint, tecle Esc.

Grande abraço,

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.

Mental Ray mia_material shader

Finalmente consegui finalizar o post sobre o mia_material, do Mental Ray. Eu me preocupei em mostrar os principais atributos do mia_material, tentando criar uma referência visual, mostrando as configurações em três softwares diferentes: Maya, Softimage e 3ds Max, porém, a ênfase será no Maya.

O mia_material

Através do mia_material shader, também conhecido como Architectural (Autodesk Softimage) e Arch&Design (Autodesk 3ds Max), é possível criar quase todo tipo de materiais. É o shader mais indicado para trabalhar com Mental Ray. A partir da versão 3.8, substitui completamente os shaders DGS e Dieletric.

As vantagens em usá-lo são:

  • Fácil de usar
  • É fisicamente correto (obedece à 1º Lei da Termodinâmica)
  • Permite configurar a performance das reflexões
  • Permite configurar manualmente o BRDF (comportamento da reflexão em relação ao ângulo de visão do observador)
  • Permite configurar a transparência como solida ou fina
  • Permite arredondar quinas vivas dos objetos
  • Possui controle da Iluminação Indireta
  • Usa o algorítimo Oren-Nayar para criar aparência fosca, porosa como argila
  • Possui Ambient Occlusion embutido, destacando os detalhes
  • Todos os shaders em um (controla photon e sombra)
  • Multiplos passos de render

Conservação de energia

Uma das características mais importantes do shader mia_material, é que ele conserva energia. Isso significa que cor + reflexão + refração <= 1. Em outras palavras, nenhuma energia é criada “magicamente” e a energia vinda das luzes é distribuída corretamente entre os componentes diffuse (cor), reflection (reflexão) e refraction (refração) mantendo a primeira lei da termodinâmica.

Por exemplo, ao aumentar a reflexão, a energia deve ser tirada de algum lugar. Por isso, os níveis de diffuse e transparência serão reduzidos automaticamente. Adicionando transparência, reduz-se o componente diffuse.

As regras são:

  • A transparência usa energia do componente diffuse: se o material for 100% transparente, não haverá nenhuma cor (ex.: vidro incolor).
  • A reflexão usa energia dos componentes diffuse e transparência: se o material for 100% reflexivo, não haverá cor nem transparência (ex.: espelho).
  • A translucidêz é um tipo de transparência e o atributo Translucency Weight define a porcentagem da transparência versus a translucidez (ex.: plásticos, pele, papel).

Por causa da conservação de energia, o nível do brilho specular do material está diretamente ligado à polidez desse mesmo material. Superfícies polidas geram brilhos mais agudos e intensos, enquanto superfícies mais foscas geram brilhos mais espalhados e menos intensos. Isso acontece porque a energia se espalha e se dissipa em grandes áreas.

Gamma e controle de exposição

É altamente recomendado que se trabalhe com correção de gamma (ver Linear Work Flow) e controle de exposição (Exposure Control, também conhecido como Tone Mapping), como, por exemplo, o mia_exposure_photographic shader. Isso garantirá a eficácia física do material, resultando em imagens melhores.

Use o Final Gathering e o Global Illumination

O mia_material foi desenvolvido para ser usado de forma realista usando as técnicas de iluminação indireta. No Mental Ray, elas são o Final e Gathering e o Global Illumination (photons), e, para ter bons resultados, um deles deve ser usado (recomendo somente o Final Gather ou o Global Illumination + Final Gather).

Use as luzes de forma fisicamente correta

Configure as luzes com atenuação/decay real. Na nossa atmosfera, a intensidade da luz é inversamente proporcional ao quadrado da distância (1/d²). Esse modo é denominado Quadradic.

Se você usar luzes sem atenuação, somente com Final Gather, o render ainda ficará bom, pois o Final Gather apenas transporta a luz de uma superfície para outra. Porém, ao usar photons, que é um método mais preciso de gerar iluminação indireta, acontece estouros de luz, uma claridade mais intensa do que esperado. Isso porque os photons são emitidos da luz. É importante que o mia_material reaja de forma correta a essa energia.

É importante, também, que o shader que controla a luz e o shader que controla a emissão dos photons trabalhem bem juntos. As luzes Photometrics (ex.: Physical Sun and Sky, Portal Lights, Photometric shader) fazem isso muito bem.

Grupo Diffuse

descricaodiffuse_grp

Color

Esse atributo especifica a cor ou textura aplicada no material, a forma como a luz interage com a superfície opaca do objeto (esse termo, “diffuse”, será usado mais vezes).

diffusecolor

Weight

Controla a intensidade do componente diffuse. Quanto mais baixo, mais aparentes ficam os reflexos, sempre dependendo dos valores de Reflectivity e Transparency.

diffuseweight1

Roughness

Quanto mais alto o valor, maior a aparência de material fosco e poroso. Lembrando que para esse material ser convincente, os valores de Reflectivity e Glossiness devem ser baixos.

diffuseroughness

Grupo Reflection

descricaoreflection_grp

Color

Tinge as áreas claras do reflexo com a cor escolhida. Também influencia a intensidade da reflexão (cores claras = intensidade maior. Cores escuras = intensidade menor).

reflectioncolor

Reflectivity

Controla a intensidade da reflexão. Este atributo também depende do BRDF (descrito mais abaixo).

reflectionreflectivity

Glossiness

Controla a polidez do material. No valor máximo (1 = totalmente polido) a reflexão gera imagens nítidas. Valores menores que 1 geram imagens desfocadas (borradas). 0 (zero) também gera reflexo nítido.

reflectionglossiness

Glossy Samples

Ajusta a qualidade da reflexão desfocada. Quando o valor de Glossiness é muito baixo, ele tende a granular o desfoque da imagem. Aumentando o valor de Glossiness Samples, aumenta-se a quantidade de amostras por pixel que gera esse efeito, suavizando-o.

reflectionglossysamples

Highlights Only

Quando habilitado, não renderiza o reflexo, porém mantém o brilho specular do material.

reflectionhighlightsonly

Metal Material

Faz com que o material tenha aparência metálica. Funciona melhor com Glossiness menor que 1.

reflectionmetalmaterial

Grupo Advanced Reflection

descricaoadvreflection_grp

Use Max Distance: faz com que o reflexo apareça dentro do limite estipulado no campo “Max Distance”.

reflectionadvreflectionmaxdistance

Fade to End Color: se “Use Max Distance” estiver habilitado, ao habilitar o “Fade To End Color”, a área na qual o reflexo for limitado assumirá a cor designada em “End Color”. A cor preta não surtirá efeito.

reflectionadvreflectionfadetocolor

Max Trace Depth: limita a quantidade de reflexões que o material pode fazer, impedindo que o cálculo do render se extenda infinitamente (ex.: um espelho em frente a outro). No caso do Maya, apesar do valor padrão deste campo ser 5, ele só faz 1 reflexão, pois o valor global, presente no Render Settings, é 1. Logo, deve-se acessar Render Settings > Quality > Raytracing e aumentar o valor de Reflections. Lembrando que a quantidade total de traçamento da luz (Max Trace Depth) = Reflections + Refractions.

reflectionadvreflectionmaxtracedepth

No highlights for visible lights: se houverem luzes visíveis na cena e esta opção estiver habilitada, as luzes não gerarão brilhos speculares.

reflectionadvreflectionnohighlightsforvisiblelights

Skip Reflections On Inside: quando habilitado, não permite que o verso de uma face reflita o ambiente a sua volta.

reflectionadvskipreflectionsoninside

Grupo Refractions e Translucency

descricaorefraction_grp

Transparency: controla a intensidade da transparência. 0 (zero), material totalmente opaco. 1, material totalmente transparente.

refractiontransparency

Color: especifica a cor da transparência. A cor preta deixa o material 100% opaco.

refractioncolor

Index of Refraction (Índice de Refração): todo material transparente possui um índice de refração. Quanto mais distante de 1, maior a distorção dos objetos atrás do objeto transparente. Alguns índices: água (1.333), vidro (1.5), diamante (2.42), ar quente (0,96).

refractionior

Glossiness: valores menores que 1 deixam a transparência desfocada.

refractionglossysamples

Translucency

Habilita o efeito de translucidez do material. O atributo “Weight” define a intensidade do efeito.

translucency

O atributo “Color” define a cor do efeito mesclado à cor da transparência.

translucencycolor

Grupo Advanced Refraction

descricaoadvrefraction_grp1

Use Max Distance: limita o efeito da transparência à distância configurada neste atributo. Os volumes do objeto que excederem essa distância são substituídos por uma cor ou textura (exemplo contido na figura abaixo, junto com o atributo “Use Color At Max Distance”).

Use Color At Max Distance: substitui a área com limitação da transparência com a cor ou mapa designado neste atributo.

refractionusemaxdistance

Max Trace Depth

Antes da versão 3.8 do Mental Ray, esse atributo funcionava como na reflexão, ou seja, se vários objetos transparentes fossem colocados um atrás do outro, limitava-se até quando a transparência era computada. Ao chegar no limite, as seguintes refrações eram bloqueadas, mostrando uma mancha preta. Segundo a documentação do Mental Ray (clique aqui para ter acesso ao documento em inglês), isso não acontece mais, pois todos querem ver o resultado da transparência sem limites. O que o “Max Trace Depth” controla agora é a curvatura da refração. Valores baixos, menos distorção. Nos meus testes, acima de 5 não alterou nada. O atributo “Cutoff Threshold” funciona como um limitador dos raios da refração. Caso queira fazer com que o “Max Trace Depth” funcione como nas versões anteriores, use o valor -1 e controle o limite usando o atributo “Refractions” localizado na configuração Global do mental Ray (Render Settings > Quality > Raytracing).

refractionmaxtracedepth

No Maya, apesar do valor padrão de Max Trace Depth ser 5, na verdade o valor padrão usado é 1, pois 1 é o valor presente no campo “Refractions” nas configurações Globais (Render Settings > Quality > Raytracing).

Thin Walled x Solid

A opção “Solid” gera refração e a distorção da mesma se baseia no objeto sólido e também no Índice de Refração. Já a opção “Thin Walled” não computa a refração do material transparente, não apresentando as distorções.

thinwalled_x_solid

Refractive Caustic x Transparent Shadow

Quando o Caustic (efeito que simula a convergência da luz que atravessa o material transparente, levando em conta o índice de refração) não estiver habilitado, “Transparente Shadow” é a melhor opção. Se o Caustic estiver habilitado, além de melhorar o desempenho do render, o efeito será melhor com “Refractive Caustic”.

refractivecaustics_x_transparentshadow

Backface Culling

Quando habilitado, não renderiza as faces inversas às Normais (vetores perpendiculares que saem do centro das faces. O lado cuja a Normal aponta é o lado visível da face). O objeto abaixo está com todas as Normais apontando para dentro.

backfaceculling

Propagate Alpha

Permite salvar o canal Alpha corretamente, baseando-se no nível de transparência e distorção causada pelo IOR do material.

propagatealpha

Grupo Anisotropy

descricaoanisotropy_grp

Anisotropia (anisotropy) significa:

Característica peculiar a certos meios em que uma ou mais propriedades dependem da direção em que são observadas no meio.” (definição do dicionário Michaelis).

No caso, as propriedades em questão são a reflexão e o brilho especular (highlight). Materiais anisotrópicos deformam essas propriedades porque existem microfissuras em sua superfície. Assim, tando a reflexão quanto o brilho especular tendem a seguir a direção dessas fissuras, que podem ser ranhuras causadas por ferramentas ou um conjunto de fios super finos, como cabelos e a trama de alguns tecidos.

Se uma superfície anisotrópica é girada contra a direção dos sulcos (microfissuras), o formato e a localização do brilho irão mudar, dependendo de como a direção dos sulcos se altera” (Aprendendo Autodesk Maya 2008 | Manual de efeitos especiais).

(Veja também a resposta de André Agenor no fórum da 3D4All: http://www.3d4all.org/foruns/showthread.php?16375-Oq-%C3%A9-material-anisotropico&p=157656)

Como exemplo, podemos citar os seguintes materiais como geradores de efeito anisotrópico: cetim, seda, náilon, CDs, metais escovados, cabelos agrupados, etc.

Anisotropy

Define a forma do brilho specular. Valor 1 significa anisotropia desabilitada. Valores negativos, além de mudarem a forma do brilho, deixarão a reflexão do material mais desfocada. Por causa da própria definição de anisotropia, é necessário configurar o Reflection > Glossiness com um valor menor que 1.

Nas imagens abaixo, eu estou usando uma luz spot pontual (não Area) para demonstrar melhor o efeito.

anisotropy

Rotation

Configura a angulação do efeito.

anisotropyrotation

Channel

Caso queira usar uma textura para guiar a direção do brilho specular, o atributo Channel estipula como essa textura será usada. O valor -1 usa a UV do objeto como guia. Na imagem abaixo, usei um Ramp (Gradient) do tipo Tartan com 15 repetições. Se optar por usar um bitmap, não esqueça de retirar o filtro que costuma desfocar o bitmap. No Maya, essa opção fica no node File > File Attributes > Filter Type. O valor padrão desse campo é Quadratic. Altere para Off.

anisotropychannel

Grupo BRDF

descricaobrdf_grp

No mundo real, o grau de reflexão de uma superfície depende do ângulo de visão do observador. O termo usado para esse efeito é BRDF (Bi-directional Reflectance Distribution Function), ou seja, é a forma de definir quanto uma superfície reflete quando vista de diversos ângulos.

Muitos materiais apresentam esse comportamento. Vidro, água e outros materiais dielétricos com efeito Frenel (onde a dependência angular é guiada estritamente pelo índice de refração) são os exemplos mais claros, mas outros materiais em camadas como madeira laqueada, plásticos, etc, possuem características similares.

O mia_material permite simular esses efeitos, baseado no Índice de Refração e também configurando valores de reflexão para:

  • 0 graus (superfícies vistas de frente)
  • 90 graus (superfícies vistas num ângulo próximo a 90 graus)

Use Frenel Reflection

Quando habilitado, a dependência angular da intensidade será definida pelo índice de refração (Index Of Refraction) do material.

fresnel

A segunda forma de configurar o BRDF é manualmente através dos atributos 0 Degree Reflection, 90 Degree Reflection e Brdf Curve.

0 Degree Reflection define a intensidade de reflexão quando a câmera está olhando diretamente para a superfície. 90 Degree Reflection define a intensidade de reflexão quando a câmera está olhando para a superfície num ângulo perpendicular (90 graus). O atributo Brdf Curve é a curva de declíneo entre os dois atributos.

brdf

brdf_curve

Essa forma é mais usada para materiais híbridos ou metais. A maior parte dos materiais possuem maior intensidade de reflexão quando o ângulo de visão é perpendicular à superfície. Metais tendem a ter reflexão mais uniformemente distribuída pela superfície, então, o valor de 0 Degree Reflection é alto (de 0.8 a 1). Muitos outros materiais em camadas como piso envernizado, madeira laqueada, etc, possuem baixo valor de 0 Degree Reflection (de 0.1 à 0.3).

Grupo Indirect Illumination Options

descricaoindirectillumination_grp

Esse grupo possui atributos que controlam a qualidade da iluminação indireta (GI) gerada pelo material.

Grupo Ambient Occlusion

descricaoao_grp

Ambient Occlusion é o método usado para emular a aparência de iluminação global usando shaders que calculam quão ocluída (bloqueada) uma área é de receber luz, gerando as sombras de contato. Se chamam assim, porque as áreas escuras se formam entre objetos ou suas partes.

Quando usado sozinho, um shader de AO cria uma imagem em escala de cinza, sendo claras as áreas onde a luz alcança e escuras onde a luz é bloqueada.

aopure

Observando as imagens acima, perceba que a imagem da esquerda tem pouca luz bloqueada, fazendo com que os detalhes de reentrâncias  fissuras, etc, fiquem mais visíveis (valor baixo do atributo Distance). Já a imagem da direita, a aparência é mais semelhante a iluminação global (valor alto do atributo Distance).

Um aspecto importante do AO é que a distância de oclusão pode ser configurada para controlar o quanto a luz é bloqueada  criando um efeito localizado do AO, pois só as superfícies que estiverem dentro do raio de ação serão consideradas oclusas (o que também deixa o render mais rápido). O resultado prático é uma definição melhor das sombras de contato e de pequenos detalhes.

Abaixo, segue uma comparação de um render sem AO e com. A diferença é sutil, pois o AO já está composto junto com todos os componentes dos materiais da cena (Diffuse, Reflexão, Brilho, etc). Porém, dá pra perceber que algumas sombras estão mais nítidas, principalmente em áreas de contato e reentrâncias.

aocomparacao

Existem duas formas de usar o AO embutido no mia_material :

  • Método Tradicional onde simula-se um shader de AO.
  • Usar o AO para melhorar os detalhes em conjunto com iluminação global (Final Gather ou Photons).

O segundo método é especialmente interessante quando o efeito da iluminação indireta é bem suave (ex. photons com raios grandes ou Final Gather com densidade bem baixa), podendo perder detalhes pequenos da cena.

Samples

Configura o número de raios emitidos pelo AO. Valores altos geram um efeito mais suave, porém, com render mais lento. Valores baixos são mais rápidos para renderizar, mas geram um efeito mais granulado. 64 costuma ser um bom valor para a maioria das situações.

Distance

Define o raio que abrange os objetos ocluídos. Valores pequenos restringe o efeito do AO fixando detalhes e é mais rápido para renderizar. Valores maiores cobre áreas maiores e mais lento para renderizar.

Quando o atributo Use Detail Distance for On, o AO atuará evidenciando os detalhes. Ele funciona junto com o Final Gather e/ou Photons.

Quando o atributo Use Detail Distance for With color bleed, o AO passa a funcionar de um modo mais sofisticado (opção introduzida no Mental Ray 3.6). Ao invés de produzir uma simples oclusão, adicionando áreas escuras em vários graus, o shader irá olhar as cores ao redor e usá-la como cor escura, no lugar do habitual preto. É um processo mais lento, porém, mais realista.

Abaixo, a imagem da esquerda mostra um render feito com AO normal, enquanto a da direita com a opção With color bleed. O efeito fica fácil de ver em materiais auto-iluminados e áreas de penumbra.

ao_usedetaildistance

O efeito é sutil, mas dá pra perceber na parte da frente dos pés que que em um o sombreamento é preto e no outro é a cor do material mais escura.

Ambient Shadow Color

Configura a cor escura das sombras criadas pelo AO. Na prática: cor preta fará com que as áreas escuras fiquem bem escuras, enquanto um cinza claro deixará o efeito menos notável. Se o atributo Use Detail Distance estiver como With color bleed, ele vai fazer uma mistura da cor escolhida com as cores dos objetos próximos:

(1-Ambient Shadow Color) * (cores dos objetos) + preto * Ambient Shadow Color.

Ambient Light Color

É usado para fazer um AO mais tradicional. Enquanto o AO tradicional é renderizado sem iluminação indireta, ele pode ser combinado com a iluminação indireta existente. É um efeito não fisicamente correto, porém pode ajudar a clarear cantos muito escuros.

Grupo Interpolation

descricaointerpolation_grp

Reflexos e Refrações podem ser interpolados, gerando efeitos suaves, não reais, e diminuindo o tempo de render. A interpolação funciona pre-calculando os reflexos num grid que cobre toda a imagem. O número de amostras (raios) existentes em cada ponto do grid é determinado pelo atributo Reflection Samples e Refraction Samples (reflexão e refração, respectivamente). A resolução do grid é configurado através do atributo Grid Density.

Porém, a interpolação pode causar artefatos (manchas). Por usar um grid de baixa resolução, o efeito pode perder detalhes, e por mesclar amostras vizinhas nesse mesmo grid de baixa resolução, pode gerar uma suavização exagerada. Por isso, é mais útil usá-la em superfícies planas. Superfícies não planas, muito detalhadas ou que usem bump não ficarão bem com interpolação. Outra coisa: como o grid usa o espaço da tela, animações de câmera não são recomendadas, pois isso pode revelar a existência do grid na imagem.

Existem 6 valores possíveis para o Grid Density:

  • 2 (double) = resolução do grid é o dobro do render
  • 1 (same as rendering) = resolução do grid é a mesma do render
  • 1/2 (half resolution) = resolução do grid é a metade do render
  • 1/3 (third resolution) = resolução do grid é um terço do render
  • 1/4 (quarter resolution) = resolução do grid é um quarto do render
  • 1/5 (fifth resolution) = resolução do grid é um quinto do render

Abaixo, seguem imagens comparando diferentes valores para Grid Density:

reflectioninterpolation_griddensity

Abaixo, seguem imagens comparando diferentes valores para Reflection Samples

reflectioninterpolation_samples

A reflexão real, tende a desfocar com a distância da imagem. Logo, a imagem que está perto do objeto é mais nítida. Observe que usando a interpolação, toda a imagem refletida fica desfocada. Para corrigir isso, existe o atributo Use High Detail Distance:

reflectioninterpolation_highdetail

Refraction Interpolation

Usado para simular transparência leitosa economizando tempo de render. Quanto maior o valor de Refraction Samples, mais suave é o efeito e mais rápido será o render.

reflectioninterpolation_refraction

Bump e Round Corner

O parâmetro bump aceita um shader que perturba as Normais para criar a ilusão de relevo. Você pode usar uma imagem em tons de cinza, uma textura procedural, também em tons de cinza, ou uma imagem no formato Normal Map.

Quando a opção No Diffuse Bump (“Turn Off Bumps for Diffuse Only”, no Softimage. “Do not apply bumps to the diffuse shading”, no 3ds Max) estiver desabilitado, o bump é aplicado em todos os componentes do material (diffuse, highlights, reflections, refractions… ). Quando estiver habilitado, o bump é aplicado em todos os componentes, exceto o diffuse. Ou seja, o efeito do relevo é visto nas reflexões, refrações, highlights, etc, porém, não será visto onde somente for mostrado o componente difuso. É como se o material fosse liso, porém coberto com uma camada de laca ou verniz.

No Maya e Softimage, existem dois tipos de bump: Standard Bump e Overall BumpOverall Bump sempre aplica o bump nos componentes diffuse e specular, mesmo que a opção No Diffuse Bump estiver habilitada. O propósito do Overall Bump é permitir que se conecte o shader mia_roundcorners, enquanto o bump normal é conectado no Standard Bump. Dessa forma, o efeito do mia_roundcorners é aplicado tanto no componente diffuse quanto no specular. Ou seja, você pode conectar uma textura no Standard Bump para gerar o relevo e o mia_roundcorner no Overall Bump para, ao mesmo tempo, ter as quinas do objeto arredondadas.

Nos testes de bump abaixo, foi usada um Noise (textura procedural) para criar o relevo:

bump

roundcorner

Specular Balance, Cutout e Additional Color

specularbalancecutoutadditionalcolor

Specular Balance controla a intensidade do componente specular do material. Lembrando que o specular é o reflexo da fonte de luz. No exemplo abaixo, os testes foram feitos com uma Spot Light, não area, que gera brilho circular.

specularbalance

Com o Cutout Opacity, é possível criar recortes no objeto usando imagens bitmaps em preto e branco ou procedurais. Onde for preto, não haverá geometria. Onde for branco, a geometria será mostrada 100%. Tons de cinza irão mostrar a geometria com menos ou mais intensidade. O teste abaixo foi feito usando o Checker, uma textura procedural xadrez:

cutoutopacity

O campo Additional Color permite criar o efeito de material aceso, como uma lâmpada. Se o Final Gather estiver ligado, o material emite luz de verdade. No Maya e Softimage, basta escolher uma cor e o efeito será reproduzido. No 3ds Max, o melhor é habilitar o Self Illumination (Glow), no grupo Self Illumination. Eu recomendo, no Maya e Softimage, conectar na porta Additional Color o shader mia_light_surface para ter mais controle sobre a incandescência. No campo Color do mia_light_surface, pode-se conectar o shader mib_blackbody e escolher entre as faixas de core na escala Kelvin (Temperatura de cor):

additionalcolor

 

 

Criando espessura (Autodesk Softimage/XSI)

Abaixo, seguem algumas formas de se criar espessura em objetos poligonais:

Opção 01 – Scale

Apesar das imagens estarem comentadas, basicamente, nessa técnica, basta selecionar os polígonos de todo o objeto e aplicar um scale (X).

scale01scale02

 

scale03scale04

 

Opção 02 – Push

push01 push02 push03 push04 push05 push06 push07 push08 push09 push10 push11 push12 push13 push14 push15

Organizando projetos (Softimage/XSI)

A organização de qualquer projeto, na minha opinião, é fundamental para o sucesso do mesmo. Manter os arquivos organizados através do gerenciamento do próprio software, também agiliza a manipulação desses arquivos, já que texturas, arquivos 3D, etc são carregados e salvos de forma rápida.

A ferramenta presente no XSI para fazer esse gerenciamento é o Project Manager.

Para criar um projeto, acesse File > New Project…

xsi_organizacaoo_de_projetos_imagem01

Uma árvore de diretórios é criada no local determinado por você:

xsi_organizacaoo_de_projetos_imagem02

Descrição das pastas:

Pasta Tipo de arquivos armazenados
Actions Arquivos salvos em formatos ASCII ou dotXSI binário (*.xsi) ou formato nativo binário do Softimage (*.eani). Actions são animações. Você pode salvar uma animação num arquivo (*.xsi or *.eani) para facilitar o compartilhamento de animações em diferentes cenas.
Audio Arquivos de áudio que serão usados em animações.
Backup Arquivos de backup das cenas. Por padrão, o Softimage salva de 30 em 30 minutos, mas esse tempo pode ser alterado.
Composites Imagens ou sequências de imagens renderizadas a partir do operador File Output do FX Tree (ferramenta de composição e efeitos).
dotXSI Arquivos exportados nos formatos ASCII ou dotXSI binários (*.xsi).
Expressions Arquivos contendo expressões, formato (*.expr2).
FCurves Arquivos contendo curvas de animação salvas a partir do Animation Editor, ou do Expressions Editor (*.fraw2), ou exportados do SOFTIMAGE|3D (*.fraw).
MatLib Arquivos contendo bibliotecas de materiais salvos nos formatos ASCII dotXSI (*.xsi).
Models Models exportados (*.emdl).
Pictures Texturas e sequências de imagens.
Queries Campos personalizados do Spreadsheet (tabela mostrando informações da cena).
Render_Archives Arquivos de render exportados no formato (*.mi2) e arquivos de objetos no formato (*.mia).
Render_Pictures Frames renderizados.
Scenes Cenas do Softimage no formato (*.scn).
Scripts Scripts específicos de um projeto ou cena particular. A vantage de ficarem armazenados aqui, é que você terá certeza de que a versão dos scripts é compatível com o propósito do projeto.
Synoptic Arquivos nos formatos (*.htm, *.html) e imagens associadas usadas para montar vistas synoptics.
Thumbnails Imagens associadas a elementos do projeto.
System Pasta de sistema escondida usada para identificar o projeto. Se essa pasta for removida ou alterada, o projeto ficará inválido.

Para gerenciar os projetos existentes, acesse File > Project Manager…

xsi_organizacaoo_de_projetos_imagem031

A Seleciona um projeto da lista.
B Cria um nome e uma nova pasta de projeto.
C Configura o projeto selecionado como padrão. Quando o Softimage for iniciado, o projeto padrão será aberto automaticamente.
D Abre cenas associadas ao projeto selecionado.
E Configura a lista de projetos por Name, Origin (factory [F], user [U], e workgroup [W]), ou None (sem parâmetro).
F Indica o caminho do projeto selecionado. O caminho é mostrado apenas como informação, não podendo ser alterado.
G Configura o projeto selecionado como ativo (projeto atual). O projeto ativo é mostrado na barra de título da interface do Softimage.
H Apaga o projeto selecionado. Todas as pastas e arquivos associados serão removidos do HD.
I Usa as opções da lista de projetos (Project List) para gerenciar as listas de projetos.
Por exemplo, Scan Disk procura por projetos em um caminho específico e os adiciona na lista de projetos.
J Cria uma nova cena dentro da pasta associada ao projeto selecionado.
K Apaga a cena selecionada, pertencente ao projeto selecionado.