Converting PBR to V-Ray

01. Introduction

If your company uses 3D CAD to develop your products, or you already have a visualization pipeline set up with other software, then you don’t need to recreate your models: you can submit the same engineering or visualization models for rendering by Wayfair in 3DS Max/VRay.

We will go over the workflows for transitioning a CAD model into 3DS Max first, and then we will get into bringing in a model from another computer graphics software package like Maya or Modo.

02. PBR Materials to 3ds Max

a. General Theory & Supported Formats
Since 3DS Max is a DCC software package, transferring models from other packages is easy. 3DS Max supports a myriad of standard formats, including .OBJ, .DAE and .FBX – though we recommend using the last whenever possible. For this tutorial we will be using .FBX.

b. Importing 3DCG Models to 3DS Max
You can import your files into 3DS Max by dragging and dropping them onto the viewport.

Alternatively, you can go to File -> Import in the 3DS Max File menu. Make sure that “Files of type:” is set to All Formats. Select your file to import it. Note that going through this menu will give you some additional options for your model on import. Generally, you don’t need to change these for a file coming from another 3DCG program.

Once the model is brought in, it should generally be good to go. Make sure it is zeroed in space by selecting it and typing 0,0,0 into the coordinates box at the bottom of the Viewport.

c. Assigning Materials and Converting from PBR to V-Ray
For a thorough understanding of V-Ray materials we recommend reading through Section 04 of this tutorial series. This quick crash course will help you in converting your materials to V-Ray ones, but only a thorough understanding of material properties in V-Ray will guarantee you the best results. If you are using Substance Designer or Substance Painter, Allegorithmic has a direct translation plugin available. The steps below will mostly apply to a PBR based texture setup.

i. Before we begin, make sure that 3DS Max is set up to automatically apply a gamma correction of 2.2 to imported images. Go to Customize -> Preferences -> Gamma and LUT. Check “Enable Gamma/LUT Correction” and set Gamma to 2.2.

ii. Open the Slate Material Editor (left, below) by pressing M on your keyboard. If Max defaults to the Compact Material Editor, change it to the Slate Material Editor by going to the Modes option.

iii. Create a VRayMtl by clicking and dragging it from the V-Ray menu on the left into the Slate Editor workspace.

iv. Drag in each of your textures one by one.

v. Now it’s time to plug the materials into the proper slots. Since this is a metal, the Diffuse texture should go into the Reflect Map slot. In V-Ray, metals get most of their color from their Reflection color. For metals, the diffuse color should be straight black. If the material is a non-metal, then the color should go into the Diffuse Map slot. This material also has an Opacity map – that’s pretty simple too. It just goes in the Opacity slot. The Height map will not be used as part of the material – it should go into a V-Ray Displacement Modifier instead.

vi. Metalness will go into IOR. But we will need to remap the white values. IOR in V-Ray is what determines the reflectivity of an object and metals generally have a value between 20-70. Add an Output node between the Metalness map and in that node, change the Output Amount to 40 – this will bump the whites in your map to 40 once they’re plugged into the IOR slot. Note that your Metalness maps should only be black and white.

vii. If you are using a Specular Workflow (where the map has some grey values in it and you do not have a metalness map) then you will need to use a Composite node to combine your specular map and your diffuse map, then plug this into the Reflect map channel. Make sure that in the Composite node, your diffuse map is set to “Color”

viii. To use the normal map you will need to create a VRayNormalMap node. Plug your normal map into the “Normal map” slot of this node, and then plug the output of this node into the Bump map slot. Normal maps also require a gamma override. This is because of how the maps are interpreted at render time. Double click on the normal map, then click on the “Bitmap” input (where the file name is listed). This will open a file browser window. In this window, with the same texture selected, go to “Gamma” and select “Override” and set it to 1.0.

ix. Finally, we need to put in the roughness map. If you are using Substance Designer/Painter, roughness is treated the opposite of in V-Ray. In Substance, black on a roughness map indicates a smooth surface (sharp reflections), and white indicates rough (diffuse reflections). In V-Ray, it is the opposite. So any maps from Substance or any maps where white is supposed to indicate a rough area on the surface will need to be inverted. Connect the roughness map to a Color Correction node, and then connect that node to the Refl. gloss channel of the material. Inside the Color Correction node, select “Invert”. Then you should be good to go with your newly converted material!