Para uma renderização realista da pele humana, precisamos de olhar mais de perto as texturas usadas para o shader de pele. Neste passo a passo, o nosso artista 3D sénior Jēkabs Jaunarājs partilha os seus métodos para criar estas texturas.
Há algum tempo, criei a Alina, um modelo 3D humano realista que irei referir neste artigo, centrado no trabalho de textura e nas considerações para criar uma pele de aspeto natural.
Este artigo é o terceiro da minha série de blogues que explora a criação da Alina. O primeiro artigo centrou-se em olhose o segundo em cabelo e dentes.
Uma renderização de pele realista depende principalmente do seu shader, que, por sua vez, depende enormemente das texturas. Neste caso, a referência à natureza (pele humana real) é a melhor abordagem.
A maior aproximação com que um artista 3D pode trabalhar são as digitalizações fotogramétricas de pessoas reais. No entanto, esta aproximação tem muitos inconvenientes. Numa textura difusa projectada no modelo a partir de imagens de fotogrametria, existem muitos problemas:
Renderização do teste para a pele.
Mais imagens na ArtStation de Jēkabs.
Apesar destes problemas, este é o meu ponto de partida para o trabalho de texturização, porque todas as características são reais e nada é imaginado ou inautêntico. Sigo a referência e pinto manualmente as áreas problemáticas para as tornar como devem ser.
Mas voltarei à criação de texturas mais tarde, porque o primeiro passo é, afinal de contas, fazer os UVs, e há alguns pontos importantes a abordar.
A densidade de textura indica quantos píxeis de textura são atribuídos a uma unidade de comprimento no seu modelo 3D e é essencial porque o tamanho da textura é um recurso limitado.
Diferentes partes de uma malha podem ter diferentes densidades de texel. É preferível atribuir uma densidade de texel mais elevada às partes da malha onde o impacto é maior e uma densidade mais baixa onde não faz diferença.
Na prática, atribua mais densidade de texel ao rosto: nariz, sobrancelhas e lábios, menos ao pescoço e às orelhas e muito menos à área do couro cabeludo se estiver coberta por cabelo. Por outras palavras, aumente a escala das áreas importantes e diminua a escala das áreas insignificantes ao desenrolar a malha.
Se quiser ultrapassar esta limitação de tamanho de textura, considere os UDIMs, uma técnica mais avançada para empacotar as suas ilhas UV no espaço de textura.
Técnica UDIMs: vários conjuntos de texturas individuais para um único modelo.
Um pouco de jargão técnico primeiro: "conjunto de texturas" refere-se à lista de texturas destinadas a trabalhar em conjunto num shader (ou seja, texturas difusas, normais e de rugosidade). Com os UDIMs, um único conjunto de texturas é dividido em vários conjuntos individuais, o que também é o caso do meu modelo.
Ao preparar o seu espaço UV para UDIMs, a principal coisa a ter em conta é que o nosso espaço UV está separado em unidades discretas (cada unidade torna-se o seu próprio conjunto de texturas), cada uma com o seu próprio endereço, tal como uma mesa de xadrez na vida real. Não pode haver quaisquer valores de coordenadas U ou V negativos, por isso coloque as suas ilhas UV apenas no quadrante superior direito do espaço UV.
Como nota técnica para os utilizadores mais avançados, é possível ter vários conjuntos de UV e conjuntos de UDIMs para a mesma malha. Uma única malha pode ter uma coleção de diferentes layouts e vários conjuntos de texturas para esses layouts.
Fragmento de mapa de deslocação dos lábios.
Um mapa de deslocação é um mapa que modifica a própria geometria. Essencialmente, após a subdivisão, um mapa de deslocação move (ou desloca) a posição geométrica real dos pontos sobre a superfície da malha.
A malha é movida na direção normal do polígono, empurrando a sua superfície para fora ou para dentro. Desta forma, é possível trabalhar com uma versão simplificada no software 3D e, ao mesmo tempo, ter todos os detalhes de escultura com elevado número de polígonos no momento da renderização.
Os mapas de deslocamento nunca são pintados. São cozidos do nível de subdivisão de escultura mais alto para o mais baixo. Também é melhor salvá-los como .exr com 16 ou 32 bits, pois isso permite que muito, muito mais informações de altura sejam salvas em comparação com as imagens padrão de 8 bits.
A textura difusa final distribuída por 4 mosaicos UDIMs.
Um mapa difuso da pele deve ter em conta que a pele humana tem um aspeto muito diferente consoante a parte específica do corpo. Conheço algumas destas diferenças como um facto, e outras são apenas as minhas observações a partir de referências, que podem não se aplicar a todos os casos:
O mapa difuso não deve ter qualquer sombra. Contém apenas informação sobre a cor da superfície, nada mais.
Mapa de rugosidade distribuídos por 4 blocos UDIMs.
A pele humana cria vários reflexos. A melhor maneira de os criar é pintar os mapas de rugosidade e especular. Pode ser um pouco confuso saber quais são as diferenças entre estes dois, por isso deixa-me explicar:
Mapa especular distribuído por 4 azulejos UDIMs.
Para a Alina, atribuí a rugosidade mais baixa aos lábios e às pálpebras. Na minha textura de rugosidade a preto e branco, colori-as de preto e as áreas mais rugosas ficaram quase brancas. Utilizei todos os tons de cinzento para as áreas intermédias.
Depois pintei o mapa especular e continuei a ajustá-lo até as renderizações de teste me parecerem correctas.
A rotação escapular ocorre quando o braço é levantado acima do nível do ombro e o úmero bloqueia com o processo acrómio.
Uma camada de verniz é outra pequena adição ao realismo. Naturalmente, a pele tem uma camada de óleos, o que altera o aspeto visual, por isso adicione-a ao seu modelo. Criei um mapa de textura separado para isto porque, tal como acontece com muitas coisas realistas, o efeito não é uniforme e varia consoante a localização do corpo.
Para além do mapa normal cozido, pode ser uma excelente ideia utilizar um mapa normal de mosaico para obter detalhes de alta frequência no modelo. As desvantagens são, obviamente, as costuras UV, uma vez que não se trata de uma textura cozida.
Uma solução alternativa, que já utilizei algumas vezes, é adicionar um mapa alfa separado que oculta o mapa de mosaicos nas áreas onde existem costuras. Em computação gráfica, não existem regras rígidas. De qualquer forma, é tudo batota, por isso faça o que tem a fazer para obter o aspeto certo.
Seja o primeiro a receber notícias sobre os próximos livros, projectos, eventos e descontos!
Informações