"Degraus" no displace

Por: Danilo Carlos  

Em: 28/07/2008 23:21

Olá pessoas!!!! Quero saber como vocês resolveriam o problema de "degrais" que surgem no displace. Isso é usual em duas situaçõe que ocorrem ao mesmo tempo: quando se aplica displace em malhas muito poligonadas e quando o mapa é feito a partir de "algo preciso, com um desnível gradual e contínuo". Eu sei, parece ser uma situação meio específica demais, mas apesar de eu já conhecer esse "problema" já a algum tempo, chegou uma situação em que preciso trabalhar nessas duas circunstâncias. Também testes antigos que fiz mostram que a causa mais provável desse problema seja a "limitada quantidade de tons que o computador pode guardar em uma imagem". No caso, os programas costumam dar um controle ao artista de 256 tons de cinza, o que se torna insuficiente, causando o problema dos degraus. O que eu gostaria seria uma de duas soluções que poderiam resolver esse problema: 1 - Opção do programa 3d em específico: seria uma forma de o 3ds max ou o ZBrush (onde eu apliquei o displace) criar uma "falsa graduação" entre um tom de cinza e outro. Por exemplo, um degrau é causado pela diferença entre o tom de cinza rgb 212 212 212 e rgb 213 213 213. Ele pode ser amenizado se o programa criar um desnível em intensidades intermediárias entre esses tons de cinza. 2 - Recurso do programa de edição de imagem: nesse caso, seria uma forma criar uma imagem que possa guardar uma quantidade expressivamente maior de 256 tons de cinza. Parece que o 3ds max e o ZBrush são capazes de ler esse tipo de imagem, pois já li algo relativo no help de ambos. Eu sei que aplicar um relax iria amenizar esse problema dos degraus, mas a princício quero deixar em último caso, já que se eu pulasse logo para esse passo eu iria deixar de aprender, e também iria arredondar a ligação entre duas regiões planas que o meu mapa de displace simula, o que eu quero evitar ao máximo. Se este problema parecer estranho para as pessoas, eu posso mandar meu mapa displace para vocês testarem. Não importa se você usa o brush displace do ZBrush, o displace tradicional do max ou o displace do Mental Ray, nesses três casos vocês verão os degraus. Basta apenas que o objeto em que forem testar seja bastante poligonado. E então? Saberiam apontar uma dessas duas soluções? Ou devo desencanar? Abração! Espero que este post ñ seja mto cabeludo para vocês!
cara displace não vai ter uma resolução perfeita ateh por questões de subdivisão e memoria, geralmente usam um combinado de displace, bump e normal map pra dar uma melhor ilusão e dependendo do caso tem q modelar mesmo... posta uns screenshots pra gente ver abraço
Displace é uma coisa e Displacement é outra completamente diferente!!!! No material usa DISPLACEMENT, Bump e Normal Map. DISPLACE é só na malha do objeto, não é no material!!!! No caso de DISPLACE, não tem jeito, depende da resolução da malha, precisa de uma malha muito densa pra ficar perfeito e pesa demais. No caso de DISPLACEMENT depende das configurações de subdivisão da malha na hora do render, dá pra criar uma malha super densa e criar o efeito com perfeição. Mas não é só aplicar no objeto, depende de cada render, no Mental Ray tem que configurar as coisas do DISPLACEMENT na janela Renderer. Tem o Edge Lenght, o Max Displace e a quantidade de subdivisões. Com o Edge Lenght menor e o Max Displace maior fica mais detalhado.
Doutor Ego
Opa galera! Legal aparecer gnt esclarecendo as coisas! Mas olha, logo que puder eu posto imagens para mostrar melhor o problema, amanhã de tarde no máximo eu ponho imagens explicando melhor. Marcola, legal vc esclarecer as coisas, já que nunca me foi claro a diferença entre displace e displacement. Mas fato é que os degraus aparecem nos dois casos. Tanto na deformação real (modificador displace no max e brush displace no ZBrush) quanto naquela produzida por shader (mapa do displace aplicado no displacement, renderizando pelo mental ray), os degraus aparecem. Até amanhã!
Faz um teste diminuindo o valor do Edge Lenght e aumentando o valor do Max Displace na janela Render Scene>Renderer>Shadows And Displacement. OBS: O objeto precisa ter alta resolução, se for um objeto lowpoly, aplica o Turbo Smooth ou o Tessellate ou o Subdivide pra aumentar a resolução.
Doutor Ego
O resultado de meu displace é este: É a esses "grânulos padronizados" que me refiro aos degraus. Não importa o quanto de resolução eu ponho na malha, o aspecto fica sempre muito parecido. Quanto maior a resolução da malha, mais evidente ficam esses degraus. Precisava saber como remover esses grânulos. E é pelo fato de estes serem causados por diferentes tons de cinza que estou chamando de degraus. Não é uma certeza absoluta, mas testes passados mostraram que esses degraus são causados justamente por isso. Apenas para efeito de curiosidade, estou postando o resultado com displacement, com 0.5 pixel de edge length: O mapa é este: Foi criado a partir do 3ds max, com um monte de geospheres com noise, com diferentes valores de seed e com o smooth desligado. Então, apliquei um uvw em todas ao mesmo tempo, criei um degradê no material de preto para o branco, aumente o self-illumination para 100 e renderizei pela view top. Deste modo, pude passar para o mapa com diferentes tons de cinza as partes elevadas como claras, e as mais rebaixados para preto. Se a resposta não vir, meu próximo passo será fazer mais testes. Tentar criar mapas com mais de 256 tons de cinza. Quando abro a imagem no photoshop, em jpg, eu vejo que ela está como 8 bits per channel, o que dá 256 tons de cinza. Vou aumentar o color depth, achar um formato que guarde essa informação e testar... Abração...
Lembrando que vc esah trabalhando com 8 bits... normalmente, mapas de displacement que necessitam de uma informacao mais precisa, sao utilizados em 16 e 32 bits...vale a pena estudar isso tambem... o seu degrade não está perfeito também...existem acumulos de cores em alguns pontos. seia mais facil testa com o ps mesmo, criando alguns pontos de degrade. outro ponto é que o mapa reconhece em tons de cinza, que variam do branco para o preto. Sobre o modificador displace e o shader displacemente, vc vai perceber pouca coisa nos testes, pois dependendo da malha, vai ter que subdividir muito para ficar um resultado atraente. abs
____________ Glauco Longhi www.longhifineart.com Twitter - @glaucolonghi
Opa galera!!! Já consegui resultados bem melhores... Dêem uma olhada... A questão era mesma a profundidade de cor. Mas de qualquer jeito gostaria da oportunidade de aprender mais um pouco... Acho estranho que apesar de uma setagem autíssima, ainda não ficam "placas" lisas correspondentes à imagem. Fica esse aspecto poroso. Nesse caso, estou usando o mapa com 8000x8000 pixels, do formato tiff de 32 bits de color depth, 0.5 pixel de edge length, 64k de max subdiv e é um plane com 200x200 de segmento, e o efeito é através do displacement do material standard, mas renderizado com mental ray. Com tudo isso esperava algo, digamos..., um pouco melhor, sem esse efeito poroso. O efeito de displace fica um pouco para depois, porque o MR consegue fazer mto mais subdivisões do que a subdivisão manual de polígonos usando a mesma memória. Mas convenhamos, diversas vezes achei que o displace clássico do 3ds max proporciona um efeito de deformação mais "limpo" que o do Mental Ray. Existe alguma forma de eliminar esses "poros" ? De onde eles vêem? Será que são pequenos grânulos que o max renderiza? Digo isto porque em qualquer imagem renderizada pelo max, vc pode ir no photoshop e usar um Brightness/Contrast , ligar o Legacy e aumentar o contraste que serão percebidos pequenos grânulos. Será que é isto que está causando o efeito de porosidade na minha imagem? Se for, a questão é como eliminar esses grânulos no Photoshop... Vocês sabem porque acontece esse efeito poroso na minha superfície? Abração
Legal os seus testes Danilo, bem interessante mesmo. Eu nunca testei isso e não vou saber te ajudar. Mas eu tentaria aplicar o Turbo Smooth com 2 no Interations nesse Plane para ajudar na subdivisão. Tenta ai.
Mental Ray User

Faça o login para poder comentar

Informações da Comunidade

Total de mensagens publicadas pelos membros da comunidade: 717436.

Total de membros registrados: 143179

Últimos membros registrados: LifeGauge354, LifeGauge435, elenahardiya, LifeGaugeBreeze56685, LifeGaugeBreeze3545, OsanixCapsules345, Kennetoot, BillcKittrick.

Usuário(s) on-line na última hora: 675

Legenda: Administrador, Especial, Moderador, Parceiro .

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