In this tutorial we will see how to import 3D models downloaded from Adobe Stock into Unity, setting up PBR Textures for both the built-in Shader and the Universal Render Pipeline.
Video Transcript
Hello everyone! In this tutorial we will see how to import 3D models downloaded from Adobe Stock into Unity, setting up PBR Textures for both the built-in Shader and the Universal Render Pipeline.
There are, in fact, some small differences between these two rendering engines that we will examine in this tutorial, so I advise you to watch it all the way through to the end. I will not show how to do it for High Definition Rendering Pipeline because it doesn’t change much compared to Universal Render Pipeline.
For a practical example, I will use a 3D model called Business Jet.
On the Adobe Stock website, there are thousands of 3D models available.
Each 3D model is provided in OBJ format with accompanying PBR Textures, so it can be used in practically all 3D graphics software and game engines, such as Unity, Unreal, Blender, 3D Studio MAX, and many more.
Depending on your needs, you can purchase 3D models individually or with credit packs, at very advantageous prices.
The Textures of the models are in PNG format and contain separate channels for the PBR Metallic Workflow, so we will have Textures for the Base Color, Normal, Metallic, Roughness, Glow, and Opacity channels.
However, Unity's default materials require the Smoothness information to be integrated into the Metallic Texture. Additionally, Smoothness is opposite to Roughness, which is provided in the Adobe package.
It is possible to convert and package the Metallic information using external software, but in Unity there is a way to specify the Textures of the Metallic Workflow as separate images, and we will see that soon.
Let's see how to import and configure these 3D models in Unity, starting with a project in which the built-in shader is used.
First, drag both the OBJ file and the MTL file into the Project tab from the package you downloaded from Adobe. The MTL file is needed to specify which materials to create and how to map them to the 3D model.

To view the changes in real time, let's drag the 3D model from the Project into the scene, then press the F key to frame it better.

Unity looks for materials and textures inside the imported 3D model, but in this case, the Textures are not integrated.
Therefore, let’s select the 3D model in the Project, then open the Materials tab in the Inspector window.

In the Location menu, select the Legacy option, then click on Apply.

Unity will create a new folder, called Materials, in the Project window. In this folder, we will find the two materials, already associated with the 3D model, but without Textures.

Let's then drag the Textures we are interested in from the Adobe package to this folder. I'm not importing the Glow Textures because no light-emitting materials are planned for this object.

Now, let’s first select the completely opaque material.
In the Inspector window, click on the Shader menu and select the Autodesk Interactive option.

As you can see, we have some options for the Rendering Mode, which in this case we will leave on Opaque, and above all, we can specify the individual textures of the PBR Metallic Workflow!

Therefore, let’s associate the Textures imported from the Adobe package with the respective channels of the Shader.
In the case of the Normal Map, in particular, let’s click on the Fix Now button that will appear immediately after importing.

We also need to make a couple of observations regarding the appearance of the Base Color, here called Albedo, and the Roughness. The Base Color actually derives from a mix of the Texture and the color present next to it. Therefore, click on that color and bring it to pure white to get, as a result, only the color of the Texture.

You can also have fun mixing the Texture with different colors to see the effect it creates.

Regarding the Roughness Texture, if the final effect is not what you desired, select the Texture in the Project, then uncheck the sRGB Color Texture box in the Inspector window and click on Apply to evaluate the result.

These operations must also be repeated for the Glass material, with the obvious difference that, in this case, we will have to set Autodesk Interactive with Rendering Mode set to Transparent.

This mode will take opacity from the Alpha channel of the Base Color Texture, if available, but you could also avoid importing this Texture and manually set the Alpha value to 0 in the colored slot next to Albedo.

Now we have to apply the other Textures, paying attention to what was said before in the case of Roughness and Normal Map Textures, which is unchecking the sRGB box and clicking on the Fix Now button.

Now let's see how to import the model and its Textures into a project that has been created using the Universal Rendering Pipeline from the start.
The import of the 3D model and the creation of the Materials occur as we saw in the case of the built-in shader, so we will import both the OBJ file and the MTL file into the Project window.

Next, in the Materials tab of the Inspector window for the 3D model, we will select the Legacy option for materials and click on Apply, so Unity creates the Materials folder with the materials to be specified for the model.

In the Materials folder, we will then import the Texture images to associate with the existing materials.

At this point, however, we will not be able to change the type of Shader for each material directly to Autodesk Interactive, because that option can only be used with the built-in shader.

Don't worry! Autodesk Interactive is also available among the Universal Render Pipeline options in the Shader menu!

We also notice that there are three different modes available, namely Base, Masked, and Transparent.
For the opaque material of the plane, we will use the Base mode, while for the glasses, we will use the Transparent material.

Let’s start by associating the Textures with their respective channels in the Autodesk Interactive material of Universal Render Pipeline.
We immediately notice that the shader does not automatically apply the Textures, so it will be up to us to select the various Use Map checkboxes for each Texture.

In the case of the Normal Map, Unity should offer us the option to fix the Texture by clicking on the Fix Now button.

If this button is not available, we can still fix the Texture by selecting it in the Project and specifying its correct type, which is Normal Map, in the Texture Type menu, in the Inspector window.

The same considerations regarding the Roughness Texture apply as in the case of the built-in shader, so it may be necessary to deselect the sRGB option in this Texture's Inspector window and apply the changes.

For the Glasses material, we need to perform similar operations, but with some differences; first, the Shader must be an Autodesk Interactive Transparent one.

The Base Color, Normal Map, Metallic, and Roughness Textures should be set as we have already seen in other cases, but there is an important difference regarding the transparency texture, called Opacity.
In the case of Autodesk Interactive Transparent, the Use Opacity Map checkbox allows us to use the transparency channel present in the Base Color Texture. However, we have a separate Texture for the Opacity channel.
How should we proceed? There are two alternatives, depending on whether your material is completely transparent or not. If the material is completely transparent, as in our case, then we can directly specify the transparency value in the Opacity field, without using a Texture, by setting the Opacity value to 0.

In the case of a material that is transparent only in some areas, we can opt for the Autodesk Interactive Masked shader, where we can also use our Opacity texture.


Also in these cases, as in the case of the built-in shader, it is possible to use the Glow map provided in the Adobe package for the Emissive channel. I didn't use this Texture because it is not necessary for this project, but it's good to know that this option is available.

Ok, that's all for this tutorial! I hope it has been helpful to you!
See you soon!