por Emi
Às vezes, quando você import o modelo para o 3DCoat, o normal map no renderizador da viewport não aparece corretamente. Mas tudo começa pela maneira como você exporta seu modelo para qualquer outro software.
O mapa normal pode corrigir um pouco os problemas de sombreamento, de como os mapas normais são lidos pelo software, e isso pode tornar o problema um pouco menos perceptível, mas o problema ainda está lá. Você deve aplicar algumas das regras que ajudariam a resolver o problema real para facilitar o trabalho e a vida, criando mapas normais melhores.
Sem aplicar essas regras normalmente, a maioria dos normais eram medianos e poucos eram difíceis, o que era estranho de ver. Mas essa é claramente a principal razão dos problemas, como estão exportando os grupos de suavização para o seu modelo e como eles estão sendo lidos em outros softwares.
Primeiro, as caixas não podem ter bordas suaves ou médias, elas têm ângulos de 90°, e não importa o que você faça, elas sempre terão esse problema de iluminação se não estiverem configuradas para bordas duras. No passado, antes que programas de cozimento mais avançados como o Marmoset aparecessem para facilitar, você sempre tinha que fazer uma gaiola, e a gaiola seria aquela que tivesse as normais médias dos vértices, então a gaiola seria usada para fazer a média ‘ pesquisando’ do high poly, sem causar erros no cozimento já que a caixa lembraria arestas duras. É claro que agora o Marmoset tem a caixa de seleção “gaiola lisa” fazendo o mesmo e agora você não precisa de uma gaiola, a menos que realmente precise de uma gaiola.
Portanto, existem duas ‘regras’ aqui e elas também estão vinculadas:
1. quando você estiver fazendo modelos com ângulos de 90°, eles devem ser sempre duros. Claro que você também pode fazer um pequeno chanfro e evitar as bordas com ângulo de 90°. isso não apenas seguirá de perto o formato do modelo de alta resolução, mas também, você pode usar as bordas suaves da caixa e torná-la mais bonita e com menos problemas, e arredondada e mais bonita e tudo mais.
2. Bordas duras (que devem ter ângulos de 90°) sempre devem ser divididas no UV para evitar problemas também. Você pode não notar isso no seu modelo, mas está lá e tem a ver com como o os pixels se encontram no ângulo de 90° e como os pixels podem ser mesclados e eles são apenas diferentes, então não há espaço suficiente como um preenchimento faria para corrigir os pequenos problemas que podem acontecer. Sim, depende da resolução e UVs e tudo mais e isso pode torná-lo mais perceptível do que outros, mas sim, num caso como este onde você está fazendo caixas, você teria que dividir todas aquelas bordas de 90°, e sim, isso significa 6 lados da caixa = 6 ilhas para evitar problemas.
Falando sobre 3DCoat e como ele funciona com presets e tudo mais. O que eu entendo sobre isso é que ao usar presets como Blender ou Unity, você está na verdade usando um arquivo predefinido não apenas como ele tratará o mapa Normal, mas também como será invertido para Verde ou não. Mas também o Espaço Tangente, a triangulação, e como ele exporta as normais e algumas outras opções. Se você usar a opção Desconhecido, poderá usar as que estão nas preferências, aquelas que você definiu.
Se você for para C:Program Files 3DCoat-VXXXToolsPresetsExtTools você verá os arquivos XML e como o Unity difere do Blender, porque a predefinição do Blender usa MikkTSpace enquanto a unity está definida como LengyelAreaAngleWeightedSpace. Esta é a única diferença. mas aparentemente o suficiente para você ver porque eles estão sendo interpretados de forma diferente. Tecnicamente eles não deveriam afetar muita coisa e apenas a maneira como ele lê o normal map se for ‘DirectX’ ou ‘OpenGL’, mas a raiz do problema de sombreamento não é sobre o normal map, é sobre o modelo e será seja sempre o modelo.
Deixando de lado as regras de UVs , os problemas que isso causa são mínimos, se você está ciente disso, então é sua escolha economizar algum espaço de UV e ignorar as bordas e o problema que pode acontecer em vez de fazê-los corretamente, pois você teria que chegar muito perto para perceber os problemas. às vezes fica um grande vão entre as bordas, já aconteceu comigo.
Se você não pode ter caixas como normais de vértices médios ou suaves, elas devem se parecer com caixas com arestas rígidas porque são arestas com ângulo de 90°. Se você quiser usar bordas suaves, terá que criar um chanfro.
Os boxeadores devem ter bordas 100% duras, os cilindros devem ser duros na parte superior e inferior e as laterais macias.
Para modelos low poly sugiro fazer chanfros, apenas um pequeno chanfro fará uma grande diferença em muitos casos, especialmente hoje em dia onde não há desculpa para ter uma caixa sem chanfro para algo assim.
As predefinições do 3DCoat são apenas pequenas variações que você pode até selecionar manualmente usando desconhecido, você não precisa das predefinições, elas são apenas para ajudar o 3DCoat a interpretar o normal map e o modelo, mas eu nunca confio nas predefinições, porque como você diz, as predefinições do Unity devem ser definido como MikkTSpace. Mas o que quero dizer é que não se trata apenas de normal map OpenGL vs DirectX.
Então, quando eu uso o 3DCoat que normalmente é para pintar, tudo funciona bem, mas isso é porque eu me certifico de que tudo no meu low poly também esteja bom, quer dizer, para fazer bons mapas normais e fazê-los funcionar em todos os lugares que você precisa de um bom low poly poly que pode capturar os detalhes de alto poli que você fez. Não tem mágica, só funciona porque eu me certifico de tudo, como os grupos de suavização e UVs e tudo mais.
O que quero dizer é que um modelo com bordas de 90° deve ser configurado automaticamente para hard edge, não tem outro jeito e pronto. não importa se o Cubo tem 6 lados como neste caso ou 1000 subdivisões Largura, Altura e Profundidade. Se você não definir o ângulo de 90° de uma caixa como borda rígida, ela sempre terá um sombreamento estranho nas bordas que são de 90°, mas estão definidas como suaves ou algo assim.
Se você estiver aplicando um único grupo de suavização a todo o conjunto de objetos… isso está errado, porque você não pode criar bordas suaves em Caixas, especialmente se os objetos forem apenas cubos com 6 faces.
Você não pode “suavizar” algo assim, especialmente se você tiver uma caixa simples de 6 polígonos, se quiser usar uma caixa, defina todos os lados como Hard Edges. Ou a única maneira é adicionar um chanfro ao redor das bordas para quebrar o ângulo de 90° e depois defini-lo como suave. Baking o normal map para ocultar o problema não é a solução, pode parecer um pouco melhor, mas o erro de sombreamento ainda existe no modelo. Mesmo os cilindros devem ter bordas suaves nas laterais e nas faces superior e inferior eles devem ser ajustados com bordas duras, a menos que você adicione um chanfro.
Então a questão é: você ainda quer manter tudo como um único grupo de suavização? a menos que você trabalhe nisso corretamente e defina coisas que deveriam ser bordas duras e bordas suaves ou adicione chanfros em cada anjo de 90°, nada resolverá seu problema, e você terá que apenas esconder o problema com o normal map e fingir que não há problema existe.
Espero ter explicado decentemente quais são os problemas aqui, para que possa ajudá-lo em suas futuras elaborações normal map .
Boa sorte e tenha um bom dia!
Português
English
Українська
Español
Deutsch
Français
日本語
Русский
한국어
Polski
中文 (中国)
Italiano
Suomi
Svenska
中文 (台灣)
Dansk
Slovenčina
Türkçe
Nederlands
Magyar
ไทย
हिन्दी
Ελληνικά
Tiếng Việt
Lietuviškai
Latviešu valoda
Eesti
Čeština
Română
Norsk Bokmål