How to use the Multi Engine Textures Pack in different rendering engines
In these Tutorials we’ll see how to use Multi Engine Textures Pack’s Textures, present in all of the 3D models’ packages, with the materials for the PBR (Physically Based Rendering) of some visualizations and the 3D rendering programs; in particular, we’ll see:
how to configure an exportation Preset in Substance Painter 2019 in order to export the necessary Textures for Cycles / Eevee in Blender 3D 2.79 - 2.8x PBR4 material; indeed, in all of the 3D models’ packages, there is a BLEND file (Blender 2.7x - 2.8x) with the same PBR4 material that operates all of the PBR Materials (using only 3 Texture images): the dielectric material, the metallic one and that with transparency.
In all of the Tutorials, I’ll show some images using one of my 3D models, the “clinical thermometer”, visible in the next image (which was rendered in Cycles or Eevee for 3D Blender using a scene with 3 light sources and a Texture’s image as a background of the virtual universe).
The object that I’ll use in these tutorials is composed by two objects: the “glass” for the transparent parts and the “frame” for the rest.
I’ve decided to use this model because it shows two different materials with different features: the first one (the “frame”) is opaque and shows both the metallic and the dielectric parts; the second one (the “glass”) is transparent, so, it’ll allow us to see how to manage the transparency in the software that have been used.
The techniques discussed using this 3D model can be applied to all of my 3D models which were created with my standard:
one Material for each Object;
the Textures’ map (“UV Layout”) without overlays;
the FBX interchange format included in the package;
the BLEND file with PBR4 Material and PBR Textures for Cycles included in the file;
the MULTI ENGINE TEXTURE PACK folder which carries the PBR Textures for the different rendering engines and for the Workflow Metallic and Specular (PBR materials).
You’ll always find a BLEND file created with a 2.7x version (or next), in the 3D models’ ZIP packages. This file has got the Textures images associated with the Materials present in the scene.
The BLEND file present in the package has got always Textures images packed up inside for the many Materials present in the scene.
So, if you want to use the object with the textures that I provided, you simply have to put the object in your Blender scene. Let’s see how.
In your Blender project’s scene, in which you want to put the object in the way as it has been provided in the package, select Append from the File menu.
Select APPEND from the FILE menu in the Blender project, in which you want to put the object.
At this point, in the Blender’s File Browser window, you have to “navigate” up to importing the desired Objects in this way:
find and click on the File that you’re interested in, from his path on disk;
inside the file, click on the Object section;
select all the objects you want to import and click on Append in the form.
APPEND phases; particularly, while uploading the object with the Materials and the Textures, pay attention to select OBJECT.
So, the objects will be inserted in the current form, equipped with the Materials and the original Textures, ready to be transformed as desired.
The object inserted in the scene is equipped with the Materials and the original Textures.
If you import the object in an empty scene, don’t forget to activate the light’s sources or at least a color in the background, or you won’t be able to see anything; the next image has been obtained putting the object in a scene made of a white surface, 3 Area Lamp light’s sources and an HDR panoramic image for the background of the virtual universe.
Rendering preview of a 3D Blender scene (Cycles as rendering engine), with the lights and a background image correctly set.
Instead, if you want to create a new Texture’s set, for example in Substance Painter, and you want to use the PBR4 node from the material that I’ve provided you, you have to create the Textures in a way that they can be compatible with the PBR4 node. This operation has been described in another Tutorial of this basic guide (“Export the Textures for PBR4 material of Cycles from Substance Painter 2019”).
IMPORTANT NOTE - (SEMI) TRANSPARENT OBJECTS
The PBR4 node of my Materials has got a value called “Abs Strength” that means “Absorption Strength” and serves to adjust the light absorption intensity when this one goes through a semitransparent material, colored or not.
Pay attention at the material’s parameters.
For the colored semitransparent materials such as jelly, wine, and not completely transparent fluids in general, this parameter must have values greater than 1 (which is the default value), but for the water, the diamonds or “pure” glasses you have to take it down to 0, or the object will look dark.
Furthermore, you’ll have to correctly set the IOR parameter, which shows the material’s refractive index, and that you can regain quickly with a simple research on the Internet; for example, for a diamond, the best value you’ll find is between 2.1 and 2.4.
In this tutorial we’ll see how to configure the Texture’s exportation on Substance Painter to get the three necessary Textures for the Cycles / Eevee PBR4 material for the 3D Blender.
This is useful because - as described in another Tutorial - all of my BLEND models are equipped with that material and, if you want to keep on using it (to keep the coherency with the other objects in the scene) but you want to change the Textures (for example, because you’ve recreated them and you’ve added a logo, or because you have created them from scratch) you have to know how to export the necessary Textures images.
This tutorial has been done with Substance Painter's 2019 version, and it’s for those who has already got a good knowledge of the program (it’s not a basic tutorial).
The PBR4 material in Cycles / Eevee particularly uses 3 images:
an image for the base color (Albedo or Base Color);
an image like Normal Map;
an image composed of four other different images, in grayscale, stored in the four RGBA channels (Red, Green, Blue, Alpha) of a single PNG image.
The PBR4 node in Cycles /Eevee uses 3 Textures images; particularly, the ORMA image is composed in reality of 4 images (Occlusion, Roughness, Metallic, Alpha), linked to the image’s four RGBA channels.
So, in our Substance project we have an object which is completely texturized and ready for the exportation. We choose Export Textures in the Substance Painter’s menu.
We choose Export Textures from the Substance Painter’s menu.
Let’s move in the CONFIGURATION tab in the window that will show up on screen. Here we can choose to create a new exportation Preset for the PBR4 or to select one which is already existent and add to the queue the three necessary Textures, so we can have the Preset’s original Textures and the Textures for the PBR4, after the exportation.
The Configuration form in Export Document (from Export Textures).
Anyway, to create the three images, we need:
an RGB image for the base color; we write “cycles_$textureSet_BaseColor” in this Texture’s Output Map; we won’t put transparency information (Opacity) in this Texture;
an R+G+B+A image for the ORMA Texture (Occlusion, Roughness, Metallic, Alpha); so, we need 4 distinct information channels to put in four different maps in just one Texture; we write “cycles_$textureSet_ORMA”in this Texture’s Output Map field;
an RGB image for the Normal Map; we write “cycles_$textureSet_normal” for this Texture’s Output Map field.
The three images that you need to create for the exportation.
At this point, we have to drag the maps that are in the right part of the form, respectively inside of the Output Maps’ Slot; particularly, we drag:
Input Maps – Base Color in the BaseColor Texture;
Input Maps – Ambient Occlusion in the ORMA Texture’s “R" slot;
Input Maps – Roughness in the ORMA Texture’s “G” slot;
Input Maps – Metallic in the ORMA Texture’s “B” slot;
Input Maps – Opacity in the ORMA Texture’s “A” slot;
Converted Maps – Normal OpenGL in the normal Texture.
All of the maps that we’re interested into are part of the Input Maps section, exception given for the Normal OpenGL map, which is in the Converted Maps section.
The associations that need to be done between Substance Painter’s maps and the Textures that need to be created.
Our exportation Preset is ready; obviously, at this point, we have to go back to the Export form in the EXPORT DOCUMENT window, and, as it’s showed in the next image, set:
the path to disk to put in the exported files (the three texture images);
the 8-bit PNG format (because we need an image with a transparency channel; so, for example, the JPG can’t be used);
the just created configuration (the Preset) that shows the settings for the 3 images that need to be exported for Cycles;
the images’ resolution that needs to be created (for example, in my case, 2048x2048).
The EXPORT form in the EXPORT DOCUMENT window.
So, the images will be exported in the chosen path to disk and ready to be linked to the PBR4 Material in Cycles / Eevee.
In the MULTI ENGINE TEXTURES PACK folder there are, among others, the Textures to recreate the PBR Materials with the Specular and the Metallic Workflow. In this tutorial we’ll see how to recreate a PBR Material with the Specular Workflow in Marmoset Toolbag.
First of all, we import the 3D model’s FBX file in a new Marmoset Toolbag project: we just have to drag the FBX file inside the 3D View of the program.
The program will immediately recognize the Materials, linking them to the Specular Workflow; in this case, there are two Materials: the “glass” (the thermometer’s transparent parts) and the “frame” (the rest of the thermometer).
Importing the model’s FBX file in the 3D scene; Marmoset Toolbag will immediately recognize the Materials (listed in the top right corner of the image); in this case, there are two of them: the “glass” and the “frame”.
We have to make a double click on “frame”, then we open a File Browser window and enter in the folder that has got the Textures inside of the package.
At this point we have to drag the images with the “PBR-SpecGloss_” and the Material’s name, so, we have to drag them in Marmoset Toolbag in this way:
the Diffuse in Albedo image – the Albedo Map;
the Glossiness in Microsurface image – the Gloss Map;
the Normal in Surface image – the Normal Map;
the Specular in Reflectivity image – the Specular Map.
We can leave out the Height image.
Setting the Textures for the PBR Specular Material in Marmoset Toolbag.
Regarding the “glass” Material, the same considerations on how to drag and link the maps are valid, but we have to make another operation as well: we have to click on the Transparency form, at the right bottom, to select Refraction.
The Transparency form will open and we’ll have to set in it especially the Index of Refraction value (I recommend you to lower it as much as possible; for example, to 1.05 or 1.02) and, if necessary, uncheck the “Use Microsurface” checkbox.
Set Refraction and Transparency for the semitransparent objects.
Obviously, the object’s final look will be also influenced by the image which was used as an environmental lighting; to create the image below, I’ve used the “Indoor Fluorescents” Preset and I’ve lowered the background intensity (Backdrop Brightness) to make the object stand out.
The Environmental lighting’s settings and the background of the 3D scene in Marmoset Toolbag 3.
In the MULTI ENGINE TEXTURES PACK folder, there are, among others, the Textures to recreate the PBR Materials with the Specular Workflow and the Metallic one. In this tutorial we’ll see how to recreate a PBR Material with the Metallic Workflow in Substance Painter 2019; if you want to see how to recreate the Material with the Specular Workflow, look my tutorial on Marmoset Toolbag 3.
First of all, we import the FBX file of the 3D model in a new Substance Painter project, dragging the FBX file inside the program’s 3D View. Substance Painter will immediately ask us to specify the settings to create a new project; we can confirm the default settings and go on.
The project creation in Substance Painter 2019.
Substance Painter will immediately recognize the Materials linked to the object and will put them in the Texture Set List section; in this case we have two materials: the “glass” (thermometer’s transparent parts) and the “frame” (the rest of the thermometer).
The first thing to do is to remove the empty Layer automatically created by Substance Painter from the Materials (there are two of them, in this case); once it has been done, we must create a FILL LAYER for each Material.
For each Material in the Texture Set List, delete the default Layer and create a new Fill Layer.
At this point, we have to import the Texture images in the project, so, we choose File - Import Resources, and then, (in the Import Resources window that will appear on screen), we select the Textures with the prefix “PBR-MetalRough_” and the Material’s name (“glass” and “frame” in my case).
We can avoid importing the HEIGHT Textures.
Import the Textures in the project, choosing those with the MetalRough prefix. We can avoid importing the HEIGHT images.
Before clicking on “Import”, we have to change the resource type from Undefined to Texture; so, in the “Import your resources to:” selector, we choose to import the images in the Current Session.
The Textures’ importation settings.
At this point, for each Material, we can begin to set the Textures in the Fill Layer’s slots that we’ve created, following the matches between the images’ names and the PROPERTIES – FILL slots (Base Color, Metallic, Roughness, Normal).
The matches between the imported images and the Material’s PROPERTIES - FILL slots.
A note for the semi-transparent materials, such as glass: my package does NOT include a Texture for the semi-transparency, which is called Alpha or Opacity, so, you’ll have to manually set the value (or creating a new Texture for this purpose) in the Material’s Opacity camp, in the PROPERTIES – FILL form.
Once you’ve done all of this, you’ll have the Substance Materials just like I’ve created them, and, starting from this base, you’ll be able to do all the changes that you’ll think will be more appropriate (adding logos, changing colors or any other material’s properties in different places, etc.).
The Materials can be exported as a generic PBR, for Unity, for V-Ray, for Adobe Dimension, for Unreal and other programs using the Substance Painter 2019’s native Presets; but, if you want to create the Textures for the PBR4 Material of Cycles, using the BLEND file present in the packages, you’ll have to create a special export Preset for Substance.
The instructions on how to create the Preset for the PBR4 in Cycles are in another Tutorial of this guide.
To use the Texture in Unity 5 Standard Shader (that uses the PBR Metallic Workflow), first of all we have to drag the object’s FBX file that is inside of the Project tab, so that it can be put in the current project.
The object will look as made of two geometries and two Materials, that at the beginning will be grey without any Texture.
The FBX file imported in Unity will have the Materials empty, without any Texture.
Right now, we can’t change the Materials’ settings, because Unity imports the FBX files giving them the Materials present in the file, as it’s visible in the Inspector’s Materials form for the imported object: here, the “Material Creation Mode” is set on “Import (Legacy)”, while “Location” is set on “Use Embedded Materials”.
As a Default, Unity tries to import the Materials and the Textures directly from the FBX files; however, in our case, there are only the Materials, but the Textures images are missing.
So, let's click on “Use Embedded Materials” option (“Location” slot), change it to “Use External Materials (Legacy)” and click on Apply to apply the changes.
Let's select the "Use External Materials (Legacy)" option for Location and apply the changes.
Unity will create a folder called Materials and will put in it the object’s Materials, but this time we’ll can change them putting them in the Textures. However, the Materials will be linked to the object, so, after you’ve put in a copy of the object in your Scene (by dragging it from the Project to the Inspector), you’ll immediately see the changes.
The new Materials, created in the Materials folder, will be linked to the object and we will be able to change them.
At this point we can select the images files with the “Unity5-Metallic” prefix from the Multi Engine Texture Pack folder and drag them in the Materials folder in the Project tab; in particular, we’ll have to drag 3 images for each Material (so, in my example, 6 images, as we have 2 Materials).
Let's drag the images with the "Unity5-Metallic" prefix from the Multi Engine Texture Pack folder to the Project’s Materials folder.
Setting the Textures for each Material is very easy, because we just have to drag:
the textures with the AlbedoTransparency suffix in the Material channel’s slot;
the texture with the MetallicSmoothness suffix in the Material channel’s slot;
the texture with the Normal suffix in the Material channel’s slot; in this last case, we’ll have to click on the “Fix Now” button that will appear in the Material form, to mark the image as a Normal Map.
Drag the Textures in their Material’s slots and click on the “Fix Now” button for the Normal Map.
There’s no need to do anything else to set a basic opaque Material; regarding the Materials with transparency, instead, after making these links, it’s necessary to change the “Rendering Mode” parameter, in the top of the Material Inspector form, from “Opaque” (the default value) to “Transparent”.
Regarding the Materials with transparency, once the three Textures images are combined (as it happens with the opaque Materials), it’ll be necessary to change the Rendering Mode from Opaque to Transparent.
To use the model in the Unreal Engine 4.x, first of all, we have to drag the object’s FBX file inside of the Content Browser of our Unreal project.
We click on “Import All” in the “FBX Import Options” window and we keep on going disregarding any warnings about the “Smoothing Groups” absence in the models.
Import the FBX file in the Content Browser of the Unreal Project.
The game engine will immediately recognize the present objects in the FBX file (in our example, there are two of them: the “frame” and the “glass”) and the related Materials, but these will be empty at the beginning; dragging the objects in the 3D scene, indeed, we’ll see them uniformly, without any Texture.
The objects and the Materials uploaded in Unreal.
In this tutorial, as in those for the other programs, we’ll see how to configure two different Materials types: opaque (metallic, dielectric or mixed) ones and semi-transparent ones; in both of them, the combinations to do for the Textures provided in the package are the same, so let’s start talking about the opaque materials.
First of all, we drag the textures with the UNREAL prefix from Multi Engine Texture Pack folder to the project’s Content Browser; we have 3 images for each Material, so, in my example, I’ll import 6 of them.
NOTE: during the Normal Textures importation, Unreal can inform us that it has converted automatically the image in “Normal Map”, as it’s visible in the panel at the bottom right in the next image; we can confirm the Unreal’s operation by clicking on the “OK” button.
Drag the Textures Images with the Unreal prefix in the project’s Content Browser; click on OK if Unreal inform us that it has transformed the Normal Maps.
Once we’ve imported the project’s images too, we have to make a double click on a Material to insert the Texture images; as a default, the Material’s node is linked to an empty one: we have to select it, delete it and drag the three Textures images of this Material from the Content Browser to the Materials’ editor.
Let's insert the three Textures images in the Materials’ editor for the selected Material. Let's delete the default empty nodes.
In this example, I’m selecting the “frame” Material (the opaque parts, both metallic and dielectric), linking the Textures in this way:
the BaseColor texture composite output (RGBA) to the Material node’s BaseColor input;
the OcclusionRoughnessMetallic Texture’s “R” output to the Material node’s Ambient Occlusion input;
the OcclusionRoughnessMetallic Texture’s “G” output to the Material node’s Roughness input;
the OcclusionRoughnessMetallic Texture’s “B” output to the Material’s node Metallic input;
the Normal Texture’s composite (RGBA) output to the Material node’s Normal Input.
Let's link the three Texture images’ outputs to the Material node’s input ports.
Let's save the changes to apply them and go back to the Main Editor of the program.
Let’s take a look now to the semitransparent Materials (in this example, the “glass”). We have to double click on the new Material to enter the Materials’ editor again.
We need to link the Textures to the Material’s node exactly like the opaque Materials, so, first of all, we have to do this operation.
However, we have to make also another link: let's take the Alpha output (the last one) in the Texture Base Color and link it to the Material node’s Opacity input.
Let's use the same Textures and Nodes configuration for the (semi-)transparent materials, too; however, in this case, we must link also the BaseColor image’s Alpha output to the Material node’s Opacity input.
Once we’ve saved the changes, however, we’ll see that the object will look opaque.
This is due by the fact that, on the left of the Materials’ editor, we have to set the material’s “Blend Mode” from Opaque (default value) to Translucent for the selected material; moreover, in the left bottom of the form, we have to change the “Lighting Mode” parameter to “Surface Forward Shading”.
For the semi-transparent Materials, it’s necessary to set the Blend Mode on Translucent and the Lighting Mode on Surface Forward Shading.
Again, we save the changes and go back to the Main Editor; now, the semi-transparent material will be correctly showed in the scene.
The final result.
NOTE --- In case the object looks “too transparent” (that is: invisible), you can link a Scalar node to the Material node’s Opacity input and set the Scalar value, for example, at 0.1 or 0.2, making the object semi-transparent (but not too much... just enough so it’s possible to see it).
In this tutorial we’ll see how to configure the PBR Textures (attached in the Multi Engine Textures Pack package) in a V-Ray Next Update 2 (version 4.20) material for 3D Studio MAX 2020.
To create the renderings that are visible in this tutorial, I’ve put a light source and a background image in the 3D Studio MAX project; without these elements, indeed, the renderings would appear black. I’ve added also a plan (a grey one), so, we can put the object on it to see the shadows.
The initial scene: besides the objects, there are a plan, a light source and the virtual camera.
Let’s start from the easiest material, the “frame”, which is opaque.
Let's create a VRayMtl material and assign it to the “frame” object in the scene.
Therefore, let's click on the square boxes next to the “Diffuse”, “Reflect” and “Reflect Glossiness” slots, in the “Basic Parameter” material’s section. A “Material / Map Browser” window will appear, in which we’ll have to specify that we want to create a BITMAP for that channel. We’ll have to specify the Texture image we want to use, too; we can select the right image using the suffix present in the file’s name to recognize it; for example, for the “frame” Diffuse’s slots, we’ll have to set the “vray_frame_diffuse.png” Texture.
Of the four maps that we’ll use, three of them will be of Bitmap type and we’ll can easily recognize them from the file’s names present in the Multi Engine Texture Pack.
To set the fourth image, the Normal Map, we can go on in this way: let's open the material’s Maps section and click on the Bump slot, then let's change it to the VrayNormalMap type. Inside of this object we’ll can set, in the “Normal Map” slot, the corresponding texture (in this case: “vray_frame_normal.png”).
To set the Normal Map, let's click on Bump and change the type to VRayNormalMap, then let's drag the Normal Texture in the Normal Map slot.
As you can see, to set an opaque Material in V-Ray with the PBR Textures provided in the Multi Engine Texture Pack, we just have to link four PNG images that we can recognize from their names (Diffuse, Reflection, Reflection Glossiness, Normal).
Regarding the “glass” material (and for all of the Materials that have transparency in general), we have to do the same basic operations for the “frame” opaque material (that is: combining the four Textures images to the respective Material’s slots); after that, we’ll have to do three simple operations in the “Reflect” section of the “Basic Parameters” tab:
check the “Affect Shadows” checkbox; otherwise the material might look black;
change the “Refract Color” in pure white, or, in case it appears too transparent, in a very light grey, almost white;
lower the “IOR” value; for example, to 1.04.
To set a semi-transparent VRayMtl material, once we've uploaded the four Textures images as it has been done for the opaque materials, we have to pay attention to the Refract Color, Refract IO and Affect Shadows settings, in the material’s Basic Parameters section.
Once this has been done, the Materials will be correctly set.
The rendered image.