Neste tutorial, veremos como importar e configurar um modelo 3D baixado do Adobe Stock no Blender.
Transcrição do vídeo
Olá a todos! Neste tutorial, veremos como importar e configurar um modelo 3D baixado do Adobe Stock no Blender.
No site do Adobe Stock, de fato, milhares de modelos 3D estão disponíveis. Cada modelo 3D é fornecido no formato OBJ com Texturas PBR associadas, portanto pode ser utilizado praticamente em todos os softwares de computação gráfica 3D e game engines, como Unity, Unreal, Blender, 3D Studio MAX e muitos outros.
Escolhi este modelo 3D porque ele nos permitirá analisar não apenas como importar um arquivo OBJ para a cena e associar rapidamente as Texturas PBR aos seus submateriais, mas também como separar as várias partes, definir seus Origins e criar relações de parent, para que possam ser modificadas posteriormente, se necessário.

Arquivos OBJ podem ser importados em uma cena do Blender em qualquer versão do software. O material utilizado é o Principled BSDF, particularmente para o motor de renderização Cycles.
De fato, as operações que mostrarei aqui não servem apenas para modelos 3D importados do Adobe Stock, mas podem ser úteis com qualquer modelo 3D, qualquer que seja sua origem.
Especificamente, neste tutorial, veremos 10 operações:
Como importar o arquivo OBJ baixado do Adobe Stock para uma cena do Blender;
Como aplicar as transformações de rotação e escala do modelo importado;
Como configurar rapidamente as Texturas PBR usando o add-on Node Wrangler;
Como configurar o material transparente para as lentes do telescópio;
Como verificar se as Normals estão configuradas corretamente;
Como remover as marcações Sharp do modelo importado, se preferirmos não mantê-las;
Como restaurar as Seams originais do UV;
Como separar as várias partes da geometria com base nos submateriais utilizados;
Como configurar o Origin correto e as rotações para todas as partes separadas;
Como configurar as relações parent-child entre os vários objetos.
Antes de começarmos a importar o arquivo OBJ no Blender, vamos examinar o arquivo ZIP baixado do Adobe Stock. Extraímos os arquivos contidos no pacote ZIP para uma nova pasta.

Encontraremos três arquivos com extensões OBJ, MTL e MDL. O arquivo OBJ é aquele que contém a geometria, enquanto os arquivos MTL e MDL são usados para definir os materiais e seu mapeamento na geometria.
Também encontraremos uma pasta contendo as imagens de Texture a serem usadas para o modelo.

Para cada submaterial do modelo, encontraremos pelo menos 6 imagens de Texture no formato PNG com transparência. Para submateriais com transparência, o Adobe também fornecerá uma textura adicional para o canal Translucency.
No entanto, neste caso específico, não precisamos de Textures para os canais Glow, Opacity e Translucency. De fato, não temos materiais emissores de luz nem materiais semitransparentes, portanto gerenciaremos a transparência sem Textures no material Principled BSDF do Cycles, como veremos mais adiante.
Podemos então excluir os arquivos desnecessários da pasta.
Ao final, portanto, teremos quatro Textures para cada submaterial. Mais adiante veremos como associar as quatro Textures de cada submaterial aos quatro canais principais dos respectivos submateriais Principled BSDF, ou seja, Base Color, Metallic, Normal e Roughness.

Ótimo, agora podemos realmente começar!
Vamos ver como importar o arquivo OBJ.
A importação do arquivo OBJ na cena do Blender é feita simplesmente clicando em File Import OBJ e selecionando o arquivo no disco.

O Blender usará automaticamente o arquivo MTL, que indica os submateriais e como eles estão associados às várias partes do objeto, que neste momento é um único objeto mesh.

As várias partes do modelo podem ter cores diferentes, mas substituiremos todas essas cores pelas Textures apropriadas.
Vamos renomear o modelo 3D, por exemplo, para Telescope.
Agora vamos ver como aplicar as transformações de Rotation e Scale ao modelo.
Antes de fazer qualquer outra coisa, vamos verificar as dimensões do modelo na cena, certificando-nos de que são consistentes com o restante da cena. Se não estiverem adequadas, redimensionamos o modelo.
Depois disso, verificamos as propriedades de Rotation e Scale do modelo 3D recém-importado, ou seja, garantimos que os valores de Rotation estejam definidos como 0 e os valores de Scale estejam definidos como 1.

Se os valores não forem uniformes, aplicamos as transformações de rotação e escala pressionando a combinação de teclas CTRL A e selecionando a opção Rotation And Scale no menu Apply que aparecerá na tela.

Você precisará realizar esta operação para redefinir pelo menos a rotação inicial com quase todos os modelos baixados do Adobe Stock.
Vamos ver como configurar rapidamente as Textures com o add-on Node Wrangler.
Mudamos para um workspace Shading para ter uma lista dos submateriais do modelo e visualizar, ao mesmo tempo, o esquema de nodes de cada submaterial.
Inicialmente, para cada submaterial, devemos ter apenas um node Principled BSDF conectado ao Material Output. Se houver outros nodes, exclua-os.

Para importar e associar rapidamente as quatro imagens de Texture a cada submaterial, usaremos o add-on Node Wrangler, fornecido como padrão com o Blender.
Portanto, você não precisará procurar e baixar este add-on, mas apenas ativá-lo na janela Preferences.

O add-on funciona da seguinte forma:
para cada submaterial, é necessário selecionar o node Principled BSDF;
em seguida, é necessário pressionar a combinação de teclas CTRL SHIFT T;
aparecerá uma janela na tela onde você poderá selecionar as quatro imagens relacionadas ao submaterial selecionado.


Na janela de seleção de Texture, você também pode digitar parte do nome da Texture que está procurando, para filtrar os resultados e selecionar as Textures desejadas mais rapidamente. Como, por padrão, em objetos baixados do Adobe, os nomes das Textures devem ter o mesmo prefixo do nome do respectivo material, exceto pelo sufixo mat, então uma boa ideia pode ser copiar o nome do material antes de pressionar a combinação CTRL SHIFT T, para usar esse nome como filtro.
Esta operação deve ser realizada para todos os submateriais disponíveis no modelo. Não se esqueça de selecionar o node Principled BSDF do submaterial a cada vez, caso contrário o add-on não funcionará.
Agora, vamos ver como configurar um material transparente no Cycles para as lentes do telescópio.
O telescópio possui três submateriais para os quais é necessário configurar um material completamente transparente. Estes são: Optics Lenses, Finder Lenses e Telescope Main Lenses.
Para esses três materiais, precisamos garantir que o valor Alpha esteja definido como 1, como deve estar por padrão.
Em seguida, precisaremos definir o valor Transmission desses submateriais como 1.

O resultado deve ser evidente no modo de visualização Rendered, em uma janela 3D Viewport.
Vamos ver como verificar se as Normals estão configuradas corretamente.
Outra operação que podemos fazer neste momento é verificar se as Normals das faces estão orientadas corretamente, ou seja, voltadas para o exterior.
Modelos 3D baixados do Adobe normalmente são fornecidos com espessura e a equipe do Adobe deve ter verificado a orientação correta das Normals para todas as partes do objeto, portanto esta etapa deve ser desnecessária.
No entanto, você pode verificar as Normals mudando para Edit Mode, depois abrindo o menu Viewport Overlays no 3D Viewport e ativando a exibição das Normals das faces.

Em caso de problemas, você pode selecionar a parte do objeto ou até mesmo todo o modelo 3D no Edit Mode, depois abrir o Blender Toolbox e aplicar o operador Recalculate Outside.

Agora, vamos remover as Sharp Edges do modelo importado.
Ao mudar para Edit Mode, você pode notar algumas edges destacadas como Sharp. A ferramenta Mark Sharp modifica os atributos das Normals e, portanto, modifica o comportamento das ferramentas que trabalham com Normals, como Edge Split ou Autosmooth. Além disso, a presença de edges marcadas como Sharp também afetará o sombreamento final das faces que as utilizam.

A presença delas não deve ser um problema, mas se você quiser removê-las, basta selecionar todas as geometrias com o atalho A, depois pressionar a combinação de teclas CTRL E para abrir o menu Edges e escolher a opção Clear Sharp.

Agora, vamos restaurar as Seams originais do UV.
Em Edit Mode, também notamos que os UV unwraps das geometrias não estão disponíveis. Edges marcadas como Seams normalmente aparecem em vermelho, mas aqui estão ausentes.
No entanto, ao selecionar as geometrias pertencentes a um submaterial e observá-las em uma janela UV Editing, percebemos que, de fato, as UV islands estão presentes. Afinal, o mapeamento UV das Textures foi realizado corretamente, portanto o UV unwrap é o original, mas modelos no formato OBJ não armazenam informações como Seams, então no Blender não veremos edges marcadas dessa forma.

Para recuperar os unwraps, a fim de modificá-los ou realizar outras operações nas UV islands, basta:
selecionar todas as geometrias em Edit Mode,
mudar para uma janela UV Editor,
também selecionar todas as geometrias presentes ali,
abrir o menu UV e escolher a opção Seams from Island.

Agora as bordas das UV islands aparecerão corretamente marcadas como Seams.

Agora, vamos ver como podemos separar as várias partes da geometria com base nos submateriais utilizados.
O modelo, como está configurado, já está pronto para renderização. De fato, criei a imagem de capa em uma cena do Blender com o modelo obtido até este ponto, adicionando apenas um Plane que serve como piso e parede traseira, fontes de luz e uma imagem HDR para o fundo.

No entanto, neste momento o telescópio é um único objeto. Para este modelo específico e muitos outros, pode ser útil separar as várias partes e criar relações de parent entre elas.
No caso do telescópio, podemos identificar claramente o tripé, a fork e o corpo do telescópio propriamente dito, porque o telescópio deve poder girar tanto em torno do eixo da fork quanto em torno do seu eixo horizontal.
Para separar algumas geometrias do objeto original, você pode usar a ferramenta Separate, que pode ser utilizada em Edit Mode pressionando a tecla P após selecionar as geometrias que deseja separar.
Para objetos compostos por poucas partes, ou pelo menos por partes facilmente identificáveis, você pode proceder da seguinte forma:
mudar para Edit Mode;
desmarcar todas as geometrias;
selecionar o slot de um submaterial;
clicar no botão Select;
pressionar a tecla P e escolher a opção Separate.

Neste ponto, será necessário voltar para Object Mode, selecionar novamente o objeto original e repetir a operação para os outros submateriais.
O menu Separate também fornece a função By Loose Parts, com a qual podemos selecionar muitas geometrias e obter um novo objeto separado de cada geometria, se estiver separada das outras. No entanto, neste caso, a função By Loose Parts acabaria criando desnecessariamente centenas de novos objetos, porque há muitos detalhes do telescópio que não estão conectados entre si.
Estamos interessados em separar o telescópio em três partes, portanto poderíamos ficar tentados a proceder manualmente com a função Separate, mas mesmo esse método tem muitas desvantagens neste caso específico.
Existem, de fato, vários métodos para selecionar partes de um objeto, mas o telescópio é composto por muitos detalhes, então há o risco de que, ao proceder com seleções individuais, possamos esquecer alguns.
Por outro lado, ao proceder com seleções maiores, por exemplo com Border ou Circle Select, podemos correr o risco de selecionar partes que não nos interessam.
No entanto, o fato de o telescópio ter nove submateriais sugere uma ideia. Podemos, de fato, selecionar individualmente as geometrias associadas a cada submaterial e realizar a separação usando a função Separate By Materials.
Esse método acabará criando nove objetos, que são mais do que precisamos, mas nesse ponto poderemos unir os objetos com o operador Join.
Então vamos proceder desta forma:
após selecionar o telescópio, mudamos para Edit Mode;
selecionamos todas as geometrias pressionando a tecla A;
pressionamos a tecla P e escolhemos a opção By Material.

Ao final, podemos unir alguns objetos entre si, como as lentes do Finder ao corpo do Finder e, posteriormente, o corpo do Finder ao corpo principal do telescópio.

Também podemos unir as lentes do telescópio, a optics e o corpo principal do telescópio entre si.
A base apoiada no tripé normalmente é ajustada uma vez, com base na latitude do local, mas não deve ser girada durante uma observação, portanto podemos uni-la ao tripé.
Assim, obtivemos três objetos principais, como desejado. É uma boa ideia renomeá-los com nomes significativos antes de prosseguir.

Agora, vamos ver como definir o Origin e corrigir as rotações de todas as partes separadas.
Os objetos foram separados, mas seus Origins e suas orientações iniciais não estão corretos. Isso é particularmente evidente se você tentar girar o corpo central do telescópio ou a fork.
Vamos começar pelo tripé, pois é o mais simples, já que seu Origin pode coincidir com o centro do universo virtual e sua orientação pode ser redefinida para zero.
Selecionamos todos os objetos presentes e movemos todos no plano XY de modo que o eixo central do tripé coincida com o eixo Z global.
Depois disso, selecionamos apenas o tripé, pressionamos CTRL A e selecionamos a opção Location Rotation Scale no menu que aparecerá na tela, para posicionar o Origin do tripé no centro do universo virtual e redefinir as informações de Rotation e Scale.

Para poder corrigir a fork e o telescópio, primeiro precisamos definir corretamente o Origin da fork. Dessa forma, poderemos realizar as rotações corretamente.
Ocultamos temporariamente o tripé com a tecla H.
Selecionamos a fork, mudamos para Edit Mode e selecionamos uma edge na base deste objeto.
Pressionamos a combinação de teclas SHIFT S e escolhemos a opção Cursor to Selected.

Voltamos para Object Mode, clicamos com o botão direito na fork e selecionamos Set Origin to 3D Cursor.

Para configurar corretamente o eixo de rotação da fork, precisamos primeiro endireitar a fork e depois redefinir seus valores de Rotation.
A partir de uma vista lateral ortogonal, giramos a fork para endireitá-la.
No campo Rotation Y, percebemos que foi necessária uma rotação de 60 graus para endireitar a fork.

Com a fork endireitada, pressionamos CTRL A e selecionamos a opção Rotation & Scale. Atenção, porque desta vez não escolhemos também Location, caso contrário moveríamos o Origin da fork para o centro do universo virtual.
De qualquer forma, para restaurar a fork à sua posição original, neste caso será suficiente girá-la em torno do eixo Y em 60 graus.
Agora, porém, o eixo Z local da fork está configurado corretamente, então podemos girá-la corretamente em torno desse eixo.

A rotação do telescópio deve ocorrer em torno do eixo que passa pelos dois pinos da fork, portanto teremos que posicionar o Origin do telescópio exatamente no meio deles e, acima de tudo, garantir que pelo menos um dos três eixos globais passe por esse ponto, para que possamos aplicar as transformações de rotação e ter pelo menos um eixo Local configurado corretamente, como fizemos no caso da fork.
Definir o Origin é simples, pois podemos selecionar dois anéis dos pinos da fork, que são perfeitamente simétricos, e mover o 3D Cursor para o meio deles.
Depois disso, podemos selecionar o telescópio e usar o operador Set Origin to 3D Cursor, que já usamos no caso da fork.

Endireitar o telescópio para que um eixo global, por exemplo o eixo Y, passe corretamente por ele, não é uma operação simples, porque precisaríamos realizar uma rotação nos três eixos.
No entanto, existe uma solução: podemos temporariamente criar uma relação de parent entre o telescópio e a fork, facilitando assim o alinhamento do telescópio pelo menos em uma vista. Portanto, selecionamos o telescópio e depois selecionamos a fork, nesta ordem.
Em seguida, pressionamos a combinação de teclas CTRL P e escolhemos a opção Set Parent to Object.

Giramos a fork para endireitar tanto este objeto quanto o telescópio na vista frontal ortogonal.
Neste ponto, giramos apenas o telescópio e tentamos endireitá-lo com uma rotação em torno do eixo Y global.
Antes de aplicar as transformações de rotação ao telescópio, porém, precisamos primeiro remover a relação hierárquica com a fork.
Com apenas o telescópio selecionado e já endireitado, pressionamos a combinação de teclas ALT P e escolhemos a opção Clear Parent and Keep Transform no menu que aparecerá na tela.

Depois disso, pressionamos a combinação de teclas CTRL A e selecionamos a opção Rotation & Scale apenas para o telescópio.

Agora, vamos configurar as relações de parent entre os vários objetos.
Como você pode verificar mudando para o seletor de transformações Local em uma janela 3D Viewport, o telescópio agora pode girar em torno do seu eixo Y local, enquanto a fork pode girar em torno do seu eixo Z local.
Tudo o que resta é definir corretamente as relações de parent entre os três elementos para que possam ser facilmente movidos ou girados.
Primeiro, vamos criar a relação de parent da fork com o tripé. O procedimento é sempre o mesmo: com uma seleção múltipla, você deve primeiro selecionar o objeto filho, depois o objeto pai e, por fim, pressionar a combinação de teclas CTRL P para estabelecer a relação de parent.

Portanto, vamos criar a relação de parent entre o telescópio e a fork, selecionando a fork por último neste caso.
A cadeia hierárquica é claramente visível na janela Outliner.

Agora podemos mover, girar e redimensionar facilmente o tripé na cena, com as operações sendo aplicadas corretamente também aos outros objetos.
Além disso, podemos girar corretamente a fork e o telescópio em torno dos seus eixos locais, obtendo resultados corretos, úteis tanto para dar ao telescópio uma configuração diferente quanto para realizar animações.

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