3DSMax to glTF

How to export 3DS MAX scene as glTF

If you have not already installed the babylon plugin for 3DS MAX, you can find all instructions here as well as general information about the plugin.

With this plugin, you can also export your project to glTF 2.0 format (

All you need to do is choose gltf as Output format.

glTF export window

The plugin exports to babylon format before converting it to glTF. The notable exported files are the .gltf and .bin ones.

To export to a single .glb file, choose glb as Output format.


Exported features

Since the plugin first exports to babylon then converts it to glTF, glTF features are a subset of the babylon ones.

  • Cameras

    • zfar
    • znear
    • yfov (Perspective camera)
    • Position / rotation
    • Animations: Position
  • Meshes

    • Geometry: position, normal, color, texture coordinates (2 channels)
    • Skin
    • Instances
    • Morph targets
    • Position / rotation / scaling
    • Animations: bones, morph weights
  • Nodes

    • Position / rotation / scaling
    • Animations: Position, scaling, rotation
  • Materials

    • Standard material (converted to PBR, see below)
    • Physical material (PBR)
    • Base color and alpha
    • Metalness and roughness
    • Emission, ambient occlusion
    • Multi-materials
  • Textures

    • Wrap mode (Clamp, mirror, repeat)
    • magFilter, minFilter
    • Image format conversion to jpg / png
  • Hierarchies are exported

Conversion Standard to PBR materials

The plugin uses core specifications of glTF, i.e. without any extension. This implies that only PBR materials are exported.

To support compatibility with 3ds max Standard materials, they are converted to PBR materials based on their diffuse, specular, opacity and glossiness.

The complete algorithm is detailed here

A demo is available here

Note that the conversion duration scales with images size and may have a severe impact on export duration.

PBR materials

The physical materials are exported to glTF format as PBR materials.

Involved parameters are highlighted bellow and described in the following sections.

3DS MAX physical material parameters

Remember that in 3DS MAX, when a map is assigned to a parameter, the basic parameter value is ignored. This behaviour is kept when exporting.

Base color and Transparency

Only the color of base color is used. The weight of base color is ignored.

Only the weight of transparency is used. The color of the transparency is ignored, as well as other parameters (depth, thin-walled, transparency roughness).

In glTF format, the transparency is expressed in alpha (alpha = 1 - transparency).

The base color RGB and the alpha A are merged together into a single color RGBA:

glTF base color and alpha maps combined

The 2 maps must have same sizes to be merged successfully.

Note that the duration of this process scales with images size and may have a severe impact on export duration.

The basic parameter value is used as default value when binded map is not provided:

glTF base color map and transparency weight combined

Metalness and Roughness

The metalness is used.

The roughness of the material is used. It can be inverted to mean Glossiness - this also affects roughness map. The IOR parameter is ignored.

The metalness and roughness maps are combined together:

glTF metalness and roughness maps combined

In 3DS MAX, metalness and roughness maps are black and white images (R=G=B).

In glTF format, metalness is stored in blue channel, roughness in green.

The 2 maps must have same sizes to be merged successfully.

Note that the duration of this process scales with images size and may have a severe impact on export duration.

Like for base color and transparency, the basic parameter value is used as default value when binded map is not provided.


The exported emission color value is computed based on all 4 parameters: emission weight, color, luminance and Kelvin.

However, the exported emission color map is identical to the specified one in generic map. This mean that emisson weight, luminance and Kelvin are not used. The emission map is assumed to be precomputed.

Ambient occlusion

The diffuse roughness map is used as ambient occlusion.

Bump map

The bump map (or normal map) and its weight are used.

What you should know

Babylon properties

Most babylon properties are not used when exporting to glTF format. The only one which matter is:

  • Do not export: Self-explanatory, this object/light/camera won’t be exported. False by default.


Lights are not supported in glTF 2.0. An empty node is exported in place of light only when it is relevant to do so (when a light has a mesh or a camera as descendant).

Left to right handed coordinate system

As glTF export relies on conversion from babylon, the coordinate system is changing from left (babylon) to right handed (glTF). To do it simply, a root node named "root" is added to the scene. All nodes are set as descendants of this root node. It has specific rotation and scaling to do the trick.

Consideration about skins

In glTF, a skin is binded to a node. The skeleton (root bone) of a skin should be positioned at origin, without rotation or scaling. The node to which is applied the skin is responsible of its transformation (translation, rotation, scale).

Textures image format

glTF 2.0 only supports the following image formats: jpg and png. You are adviced to use those formats for your textures when exporting to glTF.

Note that the exporter also supports textures with bmp, gif, tga, tif and dds formats. But, those textures will be automatically converted to png/jpg by the exporter to follow glTF specifications.

Environment texture

To enjoy PBR material rendering, you should have an environmnent texture in your scene. The plugin exports the environment map if any is provided in 3DS MAX.

However, glTF format does not support this feature and the environment map needs to be added manually in client implementations. The Babylon Sandbox, see bellow, provides such feature.

How to export 3D model with animation to .babylon / .gltf format

Single animation clip

You can export all animations of the objects in your scene into a single animation clip following these steps:

  1. Open FBX / DAE or any other 3D model with animations in 3ds Max

  2. Check / Apply texture to model

  3. Go to “Time Configuration” window and change “Start Time:”, “End Time” under “Animation” section properly.

3ds Time Configuration Window

  1. Right click on the imported 3D model. Navigate “Babylon... > Babylon Properties” and open the “Babylon.js Object Properties” window as below.

3ds Babylon Plugin Properties Window

  1. Update the “From:”, “To:” fields under “Animations” section with expected animation frames to be exported

  2. Open “Babylon Exporter” window from menu “Babylon > Babylon File Exporter ...” as below.

3ds Babylon Exporter

Multiple animation clips

You can also export multiple animations clips and play one of them depending on the situation. For example, a character would have "Walk", "Run" and "Jump" animations, each spread along the timeline.

To setup the animations clips (also named animation groups) right-click on your scene, you will have a menu Babylon -> Babylon Animation Groups, which opens the Animation Groups window.

3ds animation groups window

Features are explained below:

  • Create / delete an animation group

  • Set a name

  • Set start and end frames. Values out of timeline bounds are automatically clamped at runtime.

  • Add / remove node selection. This acts as a layer per animation group: only added nodes will be part of the animation group. This is useful when you export a complex scene and want to animate only a small part of it.

  • Export non-animated node targets option: when checked, all added nodes will be part of the animation group. Nodes that are actually not animated (no key in the timeline) will have a fake scale animation exported. This option might be useful if you want to add an in-game behaviour to all the nodes of an animation group, like toggle visibilty.

When updating an input field or the animation nodes, changes are highlighted through a color. Press the Confirm button to submit changes.

Note that when updating the scene hierarchy, like deleting a node, while the Animation Group window is opened, the Animation Nodes frame is not updated. Close the Animation Groups window and re-open it to take hierarchy updates into account.

Try it out!

Export your own scene from 3DS MAX to glTF format and load it into the Babylon Sandbox. Or load them via scripts using the babylon loader.