Como suavizar a sombra de um objeto, mantendo as bordas duras?

Freqüentemente chego ao problema de ter uma malha com partes que gostaria de renderizar lisas e bordas “duras” conectando-as.

Como posso definir a malha para mostrar as bordas agudas, mas tornar tudo mais suave?

No exemplo, gostaria que os lados dos cilindros individuais fossem renderizados suaves, mas a intersecção entre o fundo e o topo deve ser nítido / plano

plano definido como suave

Comentários

  • Obrigado pelas respostas, acho que ambas são realmente boas dependendo da situação.

Resposta

Existem algumas maneiras de fazer isso, mas a mais rápida e eficiente (no seu caso aqui) é apenas suavizar da mesma forma, usando Shade Smooth e, em seguida, adicionando um modificador Edge Split à malha.

Do wiki

O modificador EdgeSplit divide as bordas em uma malha. As arestas a serem divididas podem ser determinadas a partir do ângulo da aresta (ou seja, ângulo entre as faces que formam esta aresta) e / ou arestas marcadas como agudas.

A divisão de uma aresta afeta a geração normal do vértice nessa aresta, tornando a aresta parecem nítidos. Portanto, esse modificador pode ser usado para obter o mesmo efeito do botão Autosmooth, fazendo com que as bordas pareçam nítidas quando o ângulo estiver acima de um certo limite. Também pode ser usado para controle manual do processo de suavização, onde o usuário define quais bordas devem parecer suaves ou nítidas

Aqui está como você tem acima ..

insira a descrição da imagem aqui

Com o modificador adicionado

insira a descrição da imagem aqui

Além disso, você pode ver algumas mais dicas aqui para obter boa qualidade em modelos de superfície dura . O BlenderCookie tem um tutorial ( arquivado ) sobre como obter bordas bem definidas.

Resposta

Embora o que iKlsR diz seja de fato o mais eficiente, muitas vezes é preferível adicionar loops de borda em ambos os lados da borda rígida, ou chanfrá-lo ( Ctrl + B ). Quando sombreado suavemente, isso produz uma superfície mais realista, uma vez que raramente existem cantos realmente agudos na realidade, e também captura bem os destaques especulares exibindo melhor o modelo.

Canto chanfrado com wireframe

Close-up

Observe que o modificador Edge Split não deve ser usado ao chanfrar ou usar edgeloops para afiar cantos. O Edge Split corta fisicamente o modelo para formar um canto agudo, enquanto o bisel realmente cria o canto.

Comentários

  • Talvez seja útil mencionar ao leitor que a modificação EdgeSplit As operações de biselamento não são técnicas mutuamente exclusivas. Fazer chanfros manuais ajuda a guiar a transição de suave para plano nas seções onde EdgeSplit produz transições abruptas não naturais.
  • Para qualquer pessoa realmente nova no Blender – Bevel é um modificador. Procure lá.

Resposta

A partir de este commit ( estará no blender 2.71 ), o blender tem suporte para split normais.

É basicamente como o antigo Autosmooth , mas funciona em Cycles e na janela de visualização, além de BI.

Se você não sabe o que é Autosmooth, ele se comporta como o modificador de divisão de arestas, mas sem realmente dividir arestas:

insira a descrição da imagem aqui

Lá não há modificador de divisão de borda usado na captura de tela acima.

Comentários

  • Isso é incrível. Ele corrigiu todos os meus problemas de sombreamento causados por vincos subdiv / 1.0 de uma vez.
  • Esta deve realmente ser a resposta principal, ou a resposta aceita deve ser atualizada.
  • a partir de 2.80, isso funciona com o Eevee também?
  • @Luciano sim, deveria. A configuração está no mesmo lugar também iirc

Resposta

Outra coisa que você pode fazer é – No modo Editar, pressione W e aí está Shade Flat e Shade Smooth Você pode apenas selecionar as partes de seu objeto que você deseja que sejam suaves e pressionar Shade Smooth .

insira a descrição da imagem aqui

Em 2.8+, isso é acessível através do Modo de edição e do Modo de objeto Clique com o botão direito no menu de contexto.

Resposta

O método a seguir é provavelmente melhor para tempo real (por exemplo jogos) e trabalhos de baixo poli em particular.

Gandalf3 mencionou o novo recurso Autosmooth , mas gostaria de adicioná-lo com ele habilitado, você pode selecionar manualmente faces, arestas e vértices que gostaria de endurecer – a configuração Autosmooth “Ângulo” apenas cria uma suavização de base para trabalhar. Se você entrar no modo de edição e olhar em Shading / UVs> Shading , existem opções para marcar vértices, arestas e faces. Com o Autosmooth desativado, você pode ver as arestas / vértices que marcou, mas eles não será renderizado de forma plana, mas quando Autosmooth está habilitado, eles serão renderizados corretamente.

Autosmooth: Marcação manual

Como Gandalf3 menciona, ao contrário do modificador de bordas divididas, Autosmooth não divide elementos fisicamente para obter iluminação de bordas rígidas, portanto, é ideal para trabalhos de baixo polígono e parece ter sido projetado para melhor compatibilidade com os formatos FBX e OBJ, que são comumente usadosnos jogos.

Resposta

Outra maneira simples de fazer isso seria selecionar as faces que deseja suavizar (neste caso as superfícies não horizontais) e selecione Sombreamento: Suave no painel de ferramentas. Em seguida, selecione as faces que deseja nítidas (superfícies horizontais, neste caso) e selecione Sombreamento: Plano .

Provavelmente não dará resultados tão bons quanto Método de Greg “, mas pode ser mais rápido e simples.

Comentários

  • Isso é um método útil se você precisa de uma malha lowpoly para importar para o Unity. Apenas certifique-se de importar tangentes.
  • @NoviceInDisguise Parece funcionar bem para mim em 2.73: i.stack.imgur.com/4XqVR.png

Resposta

Apenas para ser completo:

O primeiro e original método para conseguir isso ainda está lá: Autosmooth . Funciona como uma Divisão de borda definida como Ângulo de borda . A desvantagem é que o efeito não é visível na janela de visualização. O modificador é um tanto superior agora.

insira a descrição da imagem aqui

Comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *