Export Guidelines
In this guide we will cover the exporting options we have when coming from 3DSMax. For Max we recommend to export as a glb using the BabylonJS glTF exporter. You can find the installer for your version of Max here Releases · BabylonJS/Exporters
Unless, if you have a complicated material graph, we recommend using the Max OBJ exporter or following our Bake Guide below. The Max OBJ exporter will bake the material graph on export. If an OBJ is not desired, proceed to the Bake Guide which recommends exporting as a GLB post baking.
It is always recommended to use a texture for the base color instead of a color value. If you are using a color value for your base color you must export as a glb.
Before we dig in, here are the recommended settings for both glTF, FBX and OBJ exports.
3DSMax Export Settings for GLB:
- Export textures: True
- Export only Selected: True
- Export tangents: True
- Export Materials: True
- Copy Textures to output: True
- Export normal: True
3DSMax Export Settings for FBX:
- Turbo smooth: True
- Convert deforming dummies to bones: True
- Preserve edge orientation: True
- Version: 2014/2015 or newer
Type: Binary - Embedded Media: True
- Up Axis: Y up
3DSMax Export Settings for OBJ
- Flip YZ-Axis: True
- Texture Coordinates: True
- Normals: True
- Smoothing Groups: True
- Vertex: True
- Normals: True
- Texture-coord: True
- Export materials: True
- Create Mat-library: True
- Render procedurals: True
- Format: png
- Size: 4096×4096 (recommended)
Materials
Physical Material
In Max we have access to a variety of Material Types we recommend that you use the “Physical Material”. The physical material is physically based so it supports PBR inputs.
Base Color
- FBX exports always require a texture map.
Metallic
Roughness
We recommend using a power of 2 texture saved as a .png. That map is then plugged into its respective slot as defined below:
Note it is recommended that even if you are using a map for the Metallic and Roughness that its value is set to 1.0. This is important if you are exporting as an OBJ.
- Albedo to Base Color map (required for FBX export)
- Metallic to Metallic map
- Roughness to Roughness map
- Normal to Bump map
If your material requires transparency we need to have a Color map with an Alpha embedded in the image file. We recommend a power of 2 .TGA saved out in a 32 bit format.
We recommend TGA since this allows you to save out an alpha channel from Photoshop. Photoshop only allows Alphas via transparent backgrounds in your image document when saving out as a PNG. If you are using a .png with a transparent background please ensure that the texture Alpha source is set to Image alpha with pre-multiplied Alpha enabled:
In the Material make sure Transparency is set to 1.0 (as pictured below).
Please also make sure the Texture map is plugged into the following channels:
- Base Color Map
- Transparency Color Map
Complex Materials
If your material contains node graphs similar to this, where there is a node in-between the input texture and the material input, then we recommend to export via Max’s OBJ exporter. It is required to follow the material set up outlined above.
Additionally, if you do not wish to export an OBJ, please reference our Bake Guide below to bake the materials, re-assign, and export as a GLB.
It is important to avoid using spaces in textures names. We recommend using underscores instead “_”.
Example:
- Correct texture name: VNTANA_texture.png
- Incorrect texture name: VNTANA texture.png
Mesh
After you have applied the materials to your model we need to prepare it for export. To do this we want to move the asset to origin. The easiest way to do this is to select your model and in the transform box zero out the values for X, Y and Z (the transform box is located on the right side of the UI under the animation timeline).
Xfom Tool
After that we want to reset the models XForms, this can be found in the Utilities tab with your model selected.
This is a very handy tool that can be used to clear and reset the objects transforms. It can also be very helpful in clearing up any weird rotation, scale, modifier (any modifier that uses asset transforms/asset bounding box), and normal issues. This tool will also expose any Flipped faces.
Modifier Stack
The last step in preparing the model for export is to collapse the stack located in your modify tab. With your model selected, click on the Modify tab and on the top of the stack, right click and select collapse all.
You will see a warning saying you will not be able to change the parameters of the modifiers you have applied when you perform this action, click yes.
GLB Export
For best results please ensure to review our Materials and Mesh sections above prior to export.
With your model selected navigate to Babylon > Babylon File Exporter.
GLB Export Settings:
- Export textures: True
- Export only Selected: True
- Export tangents: True
- Export Materials: True
- Copy Textures to output: True
- Export normal: True
FBX Export
For best results please ensure to review our Materials and Mesh sections above prior to export.
All materials are required to use a texture map for the base color channel.
With your model selected go to File > Export > Export Selected
This will open up a window and allow you to select the desired export location and file name. After you have defined those parameters, the FBX options will appear. Please make sure to enable the below settings:
FBX Export Settings:
- Turbo smooth: True
- Convert deforming dummies to bones: True
- Preserve edge orientation: True
- Version: 2014/2015 or newer
Type: Binary - Embedded Media: True
- Up Axis: Y up
OBJ Export
Note: avoid using spaces and Unicode characters in your names this can introduce naming issues in the obj exporter.
For best results please ensure to review our Materials and Mesh sections above prior to export. If you have complex materials present in your scene, you should export with the Obj Exporter.
Complex material example below:
With your model selected go to File>Export>Export Selected.
Define the location you wish to save your file and select .obj from the drop down.
OBJ Export Settings:
- Flip YZ-Axis: True
- Texture Coordinates: True
- Normals: True
- Smoothing Groups: True
- Vertex: True
- Normals: True
- Texture-coord: True
- Export materials: True
- Create Mat-library: True
- Render procedurals: True
- Format: png
- Size: 4096×4096 (recommended)
After the export process completes you will need to go to the folder you exported the file to, select the textures, .mtl, and obj file, then and the files together. Now we can upload the .zip file to VNTANA.
Bake & Export Guide
In this guide, we will go over how to bake out complex materials, including VRay materials, so that they can be exported via the Open Babylon glb Exporter plugin for 3DSMax. This guide will go over two different methods of baking depending on how your asset is constructed.
The Max material graph is designed to give artists the ability to create and edit any texture. Users can combine these with textures to create excellent materials. The drawback is that materials are not exportable in this form. These materials will need to be converted to Physical Materials prior to export.
If you do not have this plugin, you can find the installer for your version of Max at Releases · BabylonJS/Exporters.
Option 1 - Material Graph Using Geometry Information
It is recommended to use this method if you have any nodes within your Material node graph that use geometry information.
An example would be a fall node with its “Falloff Direction” set to “Object.”
We’ll cover the below steps:
Packing UVs
Baking
Applying Materials
Packing UVs
To bake out our material, we must ensure that our UVs are within 0-1. If your asset’s UVs are within 0-1, you can proceed to the next section, Baking.
If your asset’s UVs are not within 0-1, we will need to pack our UVs before we bake.
Let’s dive into the Packing process.
1. Duplicate: Duplicate the mesh component with UVs that are not within 0-1. Rename it with the suffix LP (Low poly).
This will become our bake target and the mesh we will export.
In our case, the UVs for this entire group of mesh components are outside of 0-1. We duplicated the group and renamed it with the suffix LP (Low poly).
2. UVW Unwrap Modifier: With our mesh component selected, we want to add a UVW unwrap modifier. This will allow us to edit our assets UVs.
After clicking Unwrap UVW you will notice an Unwrap UVW in our modifier Stack.
3. Open UV Editor: Click Open UV Editor to open our UV window. As we can see, our UVs are outside of 0-1 space.
4. Pack UVs: To position our UVs within 0-1, navigate to Tools → Pack UVs within the top menu.
Now the UVs are within 0-1.
Note: Depending on assets, UV Unfolding might be required. When baking, it is recommended to avoid stretching and overlapping UVs. We don’t have any of those in our example, so we can move on to the next step.
Baking
Once you have confirmed that the UVs are within 0-1 and are not overlapping, the asset is ready for material baking.
Let’s walk through the baking steps below:
1. Bake to Texture: Navigate to Render → Bake to Texture within the top menu. This will bring up the bake-to-texture window.
The Bake To Texture tool allows us to select multiple bake outputs as well as multiple mesh components to bake.
2. Set Up Bake to Texture:
A. Target Mesh: To add a bake element, we must first select our target mesh or meshes (duplicated Low Poly mesh) in our viewport or scene outliner. It is recommended to select all the meshes you intend to bake in this step.
B. Define Material Channel: Then find the channel “Color” or the name of the specialized material you’re using (i.e. “VRayDiffuseFilterMap”), within the Map Type panel on the left.
Double-click the channel to add to the bake output.
The default texture settings are suitable however, the image size, padding, and file type can be adjusted as needed.
C. Define Remaining Material Channels: Now, we must add the channels for our Normal, Metallic, and Roughness maps.
To add these, we must find and add the following channels to the bake output within the Map Type panel:
- “Normal”
- “Metalness”
- “Roughness”
For VRay materials, search for:
“VRayNormalsMap”
”VRayMetalnessMap”
“VRayRoughnessMap”
For other specialized materials, search for the appropriate channels with that material types name.
We also must change our project from setting from “Self” to our source mesh (the original model).
Select bake to begin the baking process
This can be time-consuming, depending on the complexity of the asset.
Applying Materials
Now that we have baked all of the materials, they will need to be applied to the Low Poly mesh. We will need to apply a new material, then apply our textures, and then the asset is ready for export.
Let’s dive into it:
1. Open the Material Editor: To apply our newly baked textures, we must go to our Material Editor. To do this, Press M on your keyboard or select the Material Editor icon from your shelf. This will open our Material Editor.
2. Add a Physical Material: We want to create a new Physical Material, this can be found in our material map browser under Materials → General → Physical Material. Drag the material into the Material Editor.
3. Add Baked Textures: Now we need to bring in our textures from the bake operation. Within a file explorer window, navigate to the output path from the Baking section, select all of the textures and drag and drop them into the Material Editor.
4. Define the Material Channels per Texture: Now that we have our textures in the Material Editor, we can begin connecting the textures to the material inputs.
A. Base Color: Let’s begin with our Base color map. Connect the Color Map or VRayDiffuseFilterMap bake output to our Base Color Map pin of the material.
B. Roughness: Now connect the Roughness Map or VRayRoughnessMap bake output to our Roughness Map pin of the material.
C. Metalness: Now connect the Metalness Map or VRayMetalnessMaps bake output to our Metalness Map pin of the material.
D. Normal: Now connect our Normals Map or VRayNormalsMap bake output to our Bump Map pin of the material.
5. Apply Material to Mesh: Now that our textures have been linked to the material we are ready to apply the material to the mesh. With our desired mesh selected right click on the material and select “Assign Material to Selection”.
6. Repeat Material Creation and Application: Now we must create materials, connect the rest of the bake outputs, and apply the materials to the remaining mesh components.
Export
After applying our materials, we are ready to export as a glb via the Babylon 3DSMax Exporter plugin. Reference our export guidelines here.
Option 2 - Material Graph Not Using Geometry Information
It is recommended to use this method if you do not have any nodes within your node graph that use geometry information.
Baking Preparation
We must create a plane in our scene for every Complex or Vray Material used.
Note: we want to use the base material nodes. If a multi-material is used, we want to grab the inputs and bake those out.
1. Add a Plane: To do this, we must go to our Creation window and select Plane from the list.
2. Create a plane: This will enable the plane creation tool that can be used to draw a plane to the desired size. Our plane’s size is not important as long as it is square. For our example, I have set our plane to 10cm x 10 cm.
3. Apply materials: Apply each materials or VRay material within the scene to a plane.
After creating a plane for each material and applying the material to the plane, we are ready to use the Bake to Texture tool.
Baking
Let’s walk through the baking steps below:
1. Bake to Texture: Navigate to Render → Bake to Texture within the top menu. This will bring up the bake-to-texture window.
The Bake To Texture tool allows us to select multiple bake outputs as well as multiple mesh components to bake.
2. Set Up Bake to Texture:
A. Target Mesh: To add a bake element, we must first select our target mesh or meshes (the planes we created for our materials). It is recommended to select all the meshes you intend to bake in this step.
B. Define Material Channel: Then find the channel “Color” or any other specialized material (i.e. “VRayDiffuseFilterMap”), within the Map Type panel on the left.
Double-click the channel to add to the bake output.
The default texture settings are suitable however, the image size, padding, and file type can be adjusted as needed.
C. Define Remaining Material Channels: Now, we must add the channels for our Normal, Metallic, and Roughness maps.
To add these, we must find and add the following channels to the bake output within the Map Type panel:
- “Normal”
- “Metalness”
- “Roughness”
If you’re using VRay Materials, search for:
“VRayBumpNormalsMap”
”VRayMetalnessMap”
“VRayRoughnessMap”
For other specialized materials, search for the appropriate channels with that material types name.
D. Bake: Select bake to begin the baking process.
This can be time-consuming, depending on the complexity of the asset.
Applying Materials
Now that we have baked all of the materials, they will need to be applied to the Low Poly mesh. We will need to apply a new material, then apply our textures, and then the asset is ready for export.
Let’s dive into it:
1. Open the Material Editor: To apply our newly baked textures, we must go to our Material Editor. To do this, Press M on your keyboard or select the Material Editor Icon from your shelf. This will open our Material Editor.
2. Add a Physical Material: We want to create a new Physical Material, this can be found in our material map browser under Materials → General → Physical Material. Drag the material into the Material Editor.
3. Add Baked Textures: Now we need to bring in our textures from the bake operation. Within a file explorer window, navigate to the output path from the Baking section, select all of the textures and drag and drop them into the Material Editor.
4. Define the Material Channels per Texture: Now that we have our textures in the Material Editor, we can begin connecting the textures to the material inputs.
A. Base Color: Let’s begin with our Base color map. Connect our Color or Vraydiffusefilter bake output to our Base Color Map pin of the material.
B. Roughness: Now connect our Roughness or VrayRoughnessMap bake output to our Roughness Map pin of the material.
C. Metalness: Now connect our Metalness or VrayMetalnessMap bake output to our Metalness Map pin of the material.
D. Normal: Now connect our Normals or VRayNormalsMap bake output to our Bump Map pin of the material.
5. Apply Material to Mesh: Now that our textures have been linked to the material, we are ready to apply the material to the mesh. With our desired mesh selected right click on the material and select “Assign Material to Selection”.
6. Repeat Material Creation and Application: Now we must create materials, connect the rest of the bake outputs, and apply the materials to the remaining mesh components.
Export
After applying our materials, we are ready to export as a glb via the Babylon 3DSMax Exporter plugin. Reference our export guidelines here.