Autodesk 3DS Max Plug-In

REDmax is a plug-in that adds the export to .red file feature to Autodesk 3ds Max. It is able to export complex animated scene data to .red files.

This document lists all the supported features of the exporter, sorted by categories.

Description

With REDmax, you can create a single .red file that embeds all the supported scene data, including geometries, lights, materials, textures and even simple animations (matrix-based). Those files are then compatible with the HOOPS Luminate API.

With REDmax you can also integrate back into Autodesk 3ds Max your custom RED materials. This enables the artists to directly work with the data you’ll later use in your HOOPS Luminate-based software. Simply create a RED material following the material controller interface rules, and it’ll display inside the Autodesk 3ds Max material editor as any other standard material.

Please, carefully check the categories below to see what’s (and what’s not) supported by REDmax.

  • Geometries

  • Lights

  • Materials

  • Animations

  • Layers

For each kind of exported data, we’ll detail how they are structured inside the RED data model.

Note

In Autodesk 3ds Max, almost every value can be animated but REDmax only supports transformation matrix animations.

REDmax is accessible through the Autodesk 3ds Max > File > Export menu after installation (see the User interface section to learn about export settings).

../../../_images/bk_id_autodesk_3dsmax_plugin_menu_export.png

Select Export in the main Autodesk 3ds Max menu and choose the RED format to access to the REDmax settings.

Geometries

All the geometries that can be tessellated should be supported by REDmax (geometries that can be converted to Mesh in Autodesk 3ds Max).

The following channels are supported:

  • Vertices, triangles & normals (including smoothing groups support)

  • 8 first texture coordinates channels (from 1 to 8; can be discontinuous 2, 4 & 7 for example), whatever the mapper is

Note

Vertex colour channels are not supported.

Exported Structure

The geometries are all exported following the same rule: first, a transformation node owning the geometry transformation is inserted in the graph (the RED id of this node, is the hash key computed from its Autodesk 3ds Max name using RED::Object::GetIDFromtString()); then a child is added to this node that holds the reference to the material used by our geometry; finally, the mesh node itself is added as a child of the previous node. This yields to the sub-graph shown in the next figure.

../../../_images/bk_id_autodesk_3dsmax_plugin_dag_geom.png

The RED sub-dag corresponding to a single geometry in Autodesk 3ds Max.

The special case of multi-meshes is handled the same way, but with several material and geometry nodes.

../../../_images/bk_id_autodesk_3dsmax_plugin_dag_multigeom.png

The RED sub-dag corresponding to a multi-geometry in Autodesk 3ds Max.

Making transformation, material and geometry nodes independent from each other allows the support of instances (references in Autodesk 3ds Max). A same (costly) geometry can be instantiated several times at different places with different materials at the only cost of geometry and material nodes allocation.

Special Cases

The scene objects (other than lights and cameras) that can’t be tessellated are exported each as a single RED DAG node owning the object transform. This ensures the coherence of the exported scene graph and preserves any linked animations. The RED nodes IDs are hash keys from the Autodesk 3ds Max objects names.

Lights

REDmax only supports standard Autodesk 3ds Max and planar VRay lights. It does not support photometric or Mental Ray lights. In order to support third-party lights, you should implement some conversion scripts right inside Autodesk 3ds Max (using Max script) to convert those lights to standard Autodesk 3ds Max ones for example.

Directionals, omnis as well as spots are supported.

General Parameters

The general parameters section is almost fully supported. The only exception is that there is a single shadow generator supported: shadow map.

../../../_images/bk_id_autodesk_3dsmax_plugin_light_general_parameters.png

The general parameters settings of a standard Autodesk 3ds Max light.

Intensity/Colour/Attenuation

../../../_images/bk_id_autodesk_3dsmax_plugin_light_colour.png

All light colour and attenuation settings are supported by REDmax.

Advanced Effects

In the advanced effects roll-out, the diffuse & specular check boxes are the only field supported.

../../../_images/bk_id_autodesk_3dsmax_plugin_light_advanced_effects.png

All light colour and attenuation settings are supported by REDmax.

Map Parameters

As the shadow map generator is supported by REDmax, the ‘Shadow Map Params’ roll-out settings are partially exported. You can set the bias, size and blur size of the shadow map that will be cast by the selected light.

../../../_images/bk_id_autodesk_3dsmax_plugin_light_shadowmap.png

The size & bias parameters of the shadow map are exported by REDmax.

Note

Other light parameters are ignored while exporting.

Exported Structure

The light are exported with a transformation node as parent. As for the geometries, this transformation node holds the Autodesk 3ds Max light transformation matrix. The RED light node itself has the same ID than the RED geometry nodes, but its parent as the hash key of the Autodesk 3ds Max light name as ID.

../../../_images/bk_id_autodesk_3dsmax_plugin_dag_light.png

The RED sub-dag corresponding to a single light.

VRay Lights

VRay light are partially supported.

Materials

REDmax supports two different materials: the Autodesk 3ds Max Standard material and the RED materials library materials (if installed). A special case is the Realistic material from the RED materials library which has its own dedicated user interface.

The Autodesk 3ds Max Standard Material

As for other exported data, the RED object corresponding to a material will have its ID set to the hash key computed from the material name. This makes later use of the scene data simpler as queries on the Autodesk 3ds Max object names can be requested.

The only supported shading model is Phong. Any other shading model will be exported as Phong.

../../../_images/bk_id_autodesk_3dsmax_plugin_mat_std_basic.png

The supported basic parameters of the Autodesk 3ds Max Standard material.

Some parameters can be retrieved from textures and are still supported by REDmax.

../../../_images/bk_id_autodesk_3dsmax_plugin_mat_std_maps.png

The Autodesk 3ds Max Standard material maps.

The supported channels are:

  • Diffuse colour

  • Specular colour

  • Opacity

  • Bump

  • Reflection

For each of these channels, the texure must be of Autodesk 3ds Max Bitmap type. If not, the texture will not be exported, and therefore will be overriden by the colour/float value of the corresponding parameters.

Note

In the Opacity channel, the value is computed from the RGB texel values; alpha channel is not supported.

Note

In the Reflection channel, it is assumed that the projection type of the texture is spherical. No other projection type is supported.

Note

Texture amounts are not supported, except in the transparency and bump cases.

The Material Controller

HOOPS Luminate proposes a feature called “the material controller” that gives a high-level view of a HOOPS Luminate material. This view exposes an interface with a few calls that enable the user to access to material properties very simply.

In the case of Autodesk 3ds Max standard materials conversion, a material controller is created for each converted HOOPS Luminate material. It is read-only, but gives access to parameters as they were defined in the Autodesk 3ds Max material UI. This way and after exporting to a .red file, the user can retrieve what the diffuse texture or the specular exponent were in the original corresponding Autodesk 3ds Max standard material.

Here is an exhaustive list of which properties are defined inside each controller:

  • “ambient”: ambient colour or texture in the Autodesk 3ds Max standard material

  • “ambient uvmat col0”: first column of the ambient uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “ambient uvmat col1”: second column of the ambient uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “ambient uvmat col2”: third column of the ambient v transform matrix as defined in the Autodesk 3ds Max standard material

  • “ambient uvmat col3”: fourth column of the ambient uv transform matrix as defined in the Autodesk 3ds Max standard material; along with the three previous columns, the user can rebuild the original ambient uv transform matrix using the RED::Matrix::SetColumnREDsdk method

  • “ambient uv channel”: the HOOPS Luminate mesh channel to be used as input for the ambient uv texture coordinates

  • “diffuse”: diffuse colour or texture in the Autodesk 3ds Max standard material

  • “diffuse uvmat col0”: first column of the diffuse uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “diffuse uvmat col1”: second column of the diffuse uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “diffuse uvmat col2”: third column of the diffuse uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “diffuse uvmat col3”: fourth column of the diffuse v transform matrix as defined in the Autodesk 3ds Max standard material

  • “diffuse uv channel”: the HOOPS Luminate mesh channel to be used as input for the diffuse uv texture coordinates

  • “specular”: specular colour or texture in the Autodesk 3ds Max standard material

  • “specular uvmat col0”: first column of the specular uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular uvmat col1”: second column of the specular uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular uvmat col2”: third column of the specular uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular uvmat col3”: fourth column of the specular v transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular uv channel”: the HOOPS Luminate mesh channel to be used as input for the specular uv texture coordinates

  • “specular exponent”: specular exponent colour or texture in the Autodesk 3ds Max standard material

  • “specular exponent uvmat col0”: first column of the specular exponent uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular exponent uvmat col1”: second column of the specular exponent uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular exponent uvmat col2”: third column of the specular exponent uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular exponent uvmat col3”: fourth column of the specular exponent v transform matrix as defined in the Autodesk 3ds Max standard material

  • “specular exponent uv channel”: the HOOPS Luminate mesh channel to be used as input for the specular exponent uv texture coordinates

  • “bump”: bump texture in the Autodesk 3ds Max standard material

  • “bump uvmat col0”: first column of the bump uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “bump uvmat col1”: second column of the bump uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “bump uvmat col2”: third column of the bump uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “bump uvmat col3”: fourth column of the bump v transform matrix as defined in the Autodesk 3ds Max standard material

  • “bump uv channel”: the HOOPS Luminate mesh channel to be used as input for the bump uv texture coordinates

  • “self-illum”: self-illum colour or texture in the Autodesk 3ds Max standard material

  • “self-illum uvmat col0”: first column of the self-illum uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “self-illum uvmat col1”: second column of the self-illum uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “self-illum uvmat col2”: third column of the self-illum uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “self-illum uvmat col3”: fourth column of the self-illum v transform matrix as defined in the Autodesk 3ds Max standard material

  • “self-illum uv channel”: the HOOPS Luminate mesh channel to be used as input for the self-illum uv texture coordinates

  • “opacity”: opacity colour or texture in the Autodesk 3ds Max standard material

  • “opacity uvmat col0”: first column of the opacity uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “opacity uvmat col1”: second column of the opacity uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “opacity uvmat col2”: third column of the opacity uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “opacity uvmat col3”: fourth column of the opacity v transform matrix as defined in the Autodesk 3ds Max standard material

  • “opacity uv channel”: the HOOPS Luminate mesh channel to be used as input for the opacity uv texture

  • “reflection”: reflection texture in the Autodesk 3ds Max standard material

  • “reflection uvmat col0”: first column of the reflection uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “reflection uvmat col1”: second column of the reflection uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “reflection uvmat col2”: third column of the reflection uv transform matrix as defined in the Autodesk 3ds Max standard material

  • “reflection uvmat col3”: fourth column of the reflection v transform matrix as defined in the Autodesk 3ds Max standard material

  • “reflection uv channel”: the HOOPS Luminate mesh channel to be used as input for the reflection uv texture

Animations

Only matrix-based animations are supported. It covers Position-Rotation-Scale animations. The animations can be exported all together as a single animation track or as several tracks (see the User interface section to learn how to configure animation export).

Single Animation or Animation Tracks?

Sometimes, a user may want to replay animated data as a single sequence of frames just as a movie does. But other times, one may want to control each animated object on a particular frame basis (in video games for example). To make things simpler, REDmax allows artists to produce single Autodesk 3ds Max files containing several time un-correlated animations. A single .red file would be produced by the export process, but each detected animation will have its own track making it possible to replay it independently of the others using HOOPS Luminate.

../../../_images/bk_id_autodesk_3dsmax_plugin_anim_tracks.png

An animated scene exported as a single animation track on the left; the same scene exported as multiple animation tracks on the right. Please, note the differences in the tracks lister at the bottom of each window.

The process of animation tracks detection relies on the usage of a reserved label to describe animated data. By default with REDmax, this label is set to ‘Track_’. During animation export, each time a Autodesk 3ds Max object whose the name contains the ‘Track_’ string is met, it’s considered as the root of an animation track. It will then be exported, along with its associated sub-graph, as a separated animation track. All the objects not detected as being parts of an animation track will later be exported together in the ‘default track’ track of the .red file.

Layers

REDmax does not support layers as defined in Autodesk 3ds Max. It only makes the difference between visible and hidden objects. According to the option set in the user interface, visible only or visible and hidden objects can be exported. The layers organization is not preserved in the exported data and therefore can’t be resolved after loading of the .red file.

User Interface

REDmax exposes as few export parameters as possible to make it flexible and enjoyable. Those parameters are divided into two categories: general parameters and animations parameters.

../../../_images/bk_id_autodesk_3dsmax_plugin_ui.png

The REDmax user interface showing the plug-in settings.

We’ll detail here each export parameters.

Objects Parameters

  • Export visible objects only: check it to export only those objects that are visible. If not, the hidden objects will be exported too. Once the .red file loaded, hidden & visible objects will then be all visible.

  • Force tangents creation: by default, tangents are created only for the objects using bump mapping. By checking this option, tangents will be created for every object in the scene even if not using bump mapping.

Materials Parameters

  • Export materials library only: check it to export only the scene materials (without any 3d data) to a single .red file.

  • Use materials prefix: when ‘Export materials library only’ is checked, this field lets you choose a prefix string to be added to every exported material name.

  • Use high perf shaders: check it to export the scene using high performance materials (using the RED::RenderShaderViewport shader). Only the Autodesk 3ds Max standard are converted to high performance materials. Other type of materials are exported using the default material conversion rules. The diffuse colour of the Autodesk 3ds Max standard materials is used as the shading colour for the RED::RenderShaderViewport shaders.

  • Constrain image size: check it to force image having at least one of their dimensions greater than the user-supplied value to be resized before export. The image ratio is preserved. The original image is not modified, only the exported version.

Camera Parameters

  • Override clipping: check it to enter custom near and far clipping plane values. Those values will override the ones automatically computed from the Autodesk 3ds Max cameras.

  • Default camera: lets you choose amongst the scene cameras which one will be set as the default one in the exported file. The default camera is only a hint for the user of the .red files. All the other cameras will be exported along with the default one.

Animation Parameters

  • Export animations: check this option to allow for matrix-based animation export.

  • Export multiple animation tracks: animations can be exported as a single track, or divided into smaller tracks. By checking this option, REDmax will automatically detect animations tracks based on the user-supplied animation track identifier and export them independently from each other.

  • Animation tracks identifier: the user-supplied animation tracks identifier. Each object containing this identifier in its name will be marked as an animation track root and exported in a separate animation track as well.

  • Animation first frame & Animation last frame: use these two values to constraint the range of animation frames that will be exported. By default, the values are initialized to the full scene animation range.