Neste tutorial, veremos como importar modelos 3D baixados do Adobe Stock para o Unity, configurando Texturas PBR tanto para o Shader embutido quanto para o Universal Render Pipeline.



Transcrição do vídeo

Olá a todos! Neste tutorial, veremos como importar modelos 3D baixados do Adobe Stock para o Unity, configurando Texturas PBR tanto para o Shader embutido quanto para o Universal Render Pipeline.

Existem, de fato, algumas pequenas diferenças entre esses dois motores de renderização que examinaremos neste tutorial, então aconselho você a assisti-lo até o fim. Não mostrarei como fazer para o High Definition Rendering Pipeline porque não muda muito em comparação com o Universal Render Pipeline.

Para um exemplo prático, usarei um modelo 3D chamado Business Jet.

No site do Adobe Stock, há milhares de modelos 3D disponíveis.

Cada modelo 3D é fornecido no formato OBJ com Texturas PBR acompanhantes, então pode ser usado em praticamente todos os softwares gráficos 3D e motores de jogos, como Unity, Unreal, Blender, 3D Studio MAX e muitos mais.

Dependendo de suas necessidades, você pode comprar modelos 3D individualmente ou com pacotes de créditos, a preços muito vantajosos.

As Texturas dos modelos estão no formato PNG e contêm canais separados para o Workflow Metálico PBR, então teremos Texturas para os canais de Cor Base, Normal, Metálico, Rugosidade, Brilho e Opacidade.

No entanto, os materiais padrão do Unity exigem que a informação de Smoothness esteja integrada à Textura Metálica. Além disso, Smoothness é o oposto de Roughness, que é fornecido no pacote da Adobe.

É possível converter e empacotar a informação Metálica usando software externo, mas no Unity há uma maneira de especificar as Texturas do Workflow Metálico como imagens separadas, e veremos isso em breve.

Vamos ver como importar e configurar esses modelos 3D no Unity, começando com um projeto em que o shader embutido é usado.

Primeiro, arraste tanto o arquivo OBJ quanto o arquivo MTL para a aba Project do pacote que você baixou da Adobe. O arquivo MTL é necessário para especificar quais materiais criar e como mapeá-los no modelo 3D.

Para visualizar as mudanças em tempo real, vamos arrastar o modelo 3D do Project para a cena, depois pressione a tecla F para enquadrá-lo melhor.

O Unity procura por materiais e texturas dentro do modelo 3D importado, mas neste caso, as Texturas não estão integradas.

Portanto, selecione o modelo 3D no Project, depois abra a aba Materials na janela do Inspector.

No menu Location, selecione a opção Legacy, depois clique em Apply.

O Unity criará uma nova pasta, chamada Materials, na janela do Project. Nesta pasta, encontraremos os dois materiais, já associados ao modelo 3D, mas sem Texturas.

Vamos então arrastar as Texturas que nos interessam do pacote da Adobe para esta pasta. Não estou importando as Texturas de Glow porque não há materiais emissores de luz planejados para este objeto.

Agora, vamos primeiro selecionar o material completamente opaco.

Na janela do Inspector, clique no menu Shader e selecione a opção Autodesk Interactive.

Como você pode ver, temos algumas opções para o Rendering Mode, que neste caso deixaremos em Opaque, e acima de tudo, podemos especificar as texturas individuais do Workflow Metálico PBR!

Portanto, vamos associar as Texturas importadas do pacote da Adobe com os respectivos canais do Shader.

No caso do Normal Map, em particular, clique no botão Fix Now que aparecerá imediatamente após a importação.

Também precisamos fazer algumas observações sobre a aparência da Base Color, aqui chamada de Albedo, e da Roughness.

A Base Color na verdade deriva de uma mistura da Textura e da cor presente ao lado dela.

Portanto, clique nessa cor e ajuste-a para branco puro para obter, como resultado, apenas a cor da Textura.

Você também pode se divertir misturando a Textura com diferentes cores para ver o efeito que cria.

Em relação à Textura de Roughness, se o efeito final não for o desejado, selecione a Textura no Project, desmarque a caixa sRGB Color Texture na janela do Inspector e clique em Apply para avaliar o resultado.

Essas operações também devem ser repetidas para o material de vidro, com a óbvia diferença de que, neste caso, teremos que definir Autodesk Interactive com o Rendering Mode ajustado para Transparent.

Esse modo obterá a opacidade do canal Alpha da Textura de Base Color, se disponível, mas você também pode evitar importar essa Textura e definir manualmente o valor Alpha para 0 no slot colorido ao lado de Albedo.

Agora temos que aplicar as outras Texturas, prestando atenção ao que foi dito antes no caso das Texturas de Roughness e Normal Map, que é desmarcar a caixa sRGB e clicar no botão Fix Now.

Agora vamos ver como importar o modelo e suas Texturas em um projeto que foi criado usando o Universal Rendering Pipeline desde o início.

A importação do modelo 3D e a criação dos Materiais ocorrem como vimos no caso do shader embutido, então vamos importar tanto o arquivo OBJ quanto o arquivo MTL para a janela do Project.

Em seguida, na aba Materials da janela do Inspector para o modelo 3D, selecionaremos a opção Legacy para os materiais e clicaremos em Apply, para que o Unity crie a pasta Materials com os materiais a serem especificados para o modelo.

Na pasta Materials, vamos importar as imagens de Textura para associar aos materiais existentes.

Neste ponto, no entanto, não seremos capazes de mudar o tipo de Shader para cada material diretamente para Autodesk Interactive, porque essa opção só pode ser usada com o shader embutido.

Não se preocupe! O Autodesk Interactive também está disponível entre as opções do Universal Render Pipeline no menu Shader!

Também percebemos que há três modos diferentes disponíveis, a saber: Base, Masked e Transparent.

Para o material opaco do avião, usaremos o modo Base, enquanto para os vidros, usaremos o material Transparent.

Vamos começar associando as Texturas aos seus respectivos canais no material Autodesk Interactive do Universal Render Pipeline.

Percebemos imediatamente que o shader não aplica automaticamente as Texturas, então será nossa responsabilidade selecionar as várias caixas de seleção Use Map para cada Textura.

No caso do Normal Map, o Unity deve nos oferecer a opção de corrigir a Textura clicando no botão Fix Now.

Se esse botão não estiver disponível, ainda podemos corrigir a Textura selecionando-a no Project e especificando seu tipo correto, que é Normal Map, no menu Texture Type, na janela do Inspector.

As mesmas considerações sobre a Textura de Roughness se aplicam como no caso do shader embutido, então pode ser necessário desmarcar a opção sRGB na janela do Inspector dessa Textura e aplicar as mudanças.

Para o material dos Vidros, precisamos realizar operações semelhantes, mas com algumas diferenças; primeiro, o Shader deve ser um Autodesk Interactive Transparent.

As Texturas de Base Color, Normal Map, Metallic e Roughness devem ser configuradas como já vimos em outros casos, mas há uma diferença importante em relação à textura de transparência, chamada Opacity.

No caso do Autodesk Interactive Transparent, a caixa de seleção Use Opacity Map nos permite usar o canal de transparência presente na Textura de Base Color. No entanto, temos uma Textura separada para o canal de Opacity.

Como devemos proceder? Existem duas alternativas, dependendo se o seu material é completamente transparente ou não. Se o material for completamente transparente, como no nosso caso, podemos especificar diretamente o valor de transparência no campo Opacity, sem usar uma Textura, definindo o valor de Opacity para 0.

No caso de um material que é transparente apenas em algumas áreas, podemos optar pelo shader Autodesk Interactive Masked, onde também podemos usar nossa textura de Opacity.

Também nestes casos, como no caso do shader embutido, é possível usar o mapa de Glow fornecido no pacote da Adobe para o canal Emissive. Eu não usei essa Textura porque não é necessário para este projeto, mas é bom saber que essa opção está disponível.

Ok, isso é tudo para este tutorial! Espero que tenha sido útil para você! Até breve!

Este site tem como único objetivo apresentar alguns dos meus trabalhos, sem qualquer finalidade promocional. Observe que, no momento, não estou procurando - nem responderei a - solicitações de trabalhos personalizados, consultorias ou qualquer outro tipo de colaboração profissional.


INFORMAÇÕES DE POLÍTICA DE PRIVACIDADE AVANÇADAS E USO DOS FICHEIROS DE COOKIES