This article covers different techniques for objects, materials, lights or entire scene transfers between the Maya and 3ds Max platforms where the V-Ray plugin is involved. The workflow shown below is advanced with maximum editability.
There are several ways to transfer a scene from Maya to 3ds Max. Some of them are useful for a complete transfer when an exact match is necessary, others – when there is a requirement for editability and adjustments after the transfer.
This article covers the most common techniques and features required to complete the transferring process while keeping everything as editable as possible.
- Using V-Ray Scene Export/Import functionality
V-Ray Scene (.vrscene) file is a native V-Ray format that can be used to transfer information between Maya and 3ds Max. To transfer the scene, you have to export the .vrscene file from Maya and then import it into 3ds Max.
- Very easy setup
- Preserves the appearance – the transferred scene will be rendered in the exact same way, including geometries, materials, maps, lights, animation, etc.
- Editing transferred information is only possible by manually overriding .vrscene nodes
- Does not support Camera transfer, but this could easily be done with the next two approaches
Additional information on this approach could be found here.
2. Using Maya’s Send To 3ds Max functionality
Autodesk native Send To functionality is another way to exchange information between Maya and 3ds Max.
- Extremely easy setup
- Supports Update functionality
- Doesn’t support V-Ray nodes like lights, materials, maps etc. Those have to be created manually from scratch.
- Requires a lot of extra work to recreate non-transferable nodes
3. Using standard formats for exchanging information between host applications such as FBX, OBJ
- Preserves the editability of geometries and lights
Doesn’t support V-Ray nodes
Requires a lot of extra work to recreate non-transferable nodes
4. Using a combination of mentioned approaches
- Preserves scenes appearance
- Supports Update functionality
- Requires a little extra work only for assigning exported materials and re-creating special effects like Displacement
- Materials cannot be edited
In this article, we will focus on the last approach which combines different workflows and ensures maximum editability with minimum work.
Example Workflow: Step by Step Tutorial
Project files: Download scene files
Preparation stage (Maya)
- The scene should be well organized to make the process easier. Objects can be grouped into layers, and shaders should be well named for easier identification.
- Assets stored on network locations should be fully accessible.
- Unhide any hidden objects if they need to be transferred.
- Both platforms should have the exact same Units setup. In this example, centimeters are used.
- Both platforms should have the exact same Axis setup. By default, Maya uses Y-axis as Up-axis while 3ds Max uses Z-axis. In this example, Z-axis will be used as Up-axis. More information on how to change Maya Up-axis could be found here.
- Export the scene as a .vrscene file from Maya through the Render Settings > Common tab > Translator > Export to a .vrscene file option. Name it Materials.vrscene.
This .vrscene will be used for the material transfer.
- Export another .vrscene file, this time with everything hidden except the Lights - Direct light and Dome light. Name it Lights.vrscene.
Lights can also be exported in separate .vrscene files for better control.
- In Maya, select File menu > Send to 3ds Max > Send as a New Scene
The same version of 3ds Max should be running together with Maya, otherwise the menu
will be missing.
Partial geometry transfer is possible by first selecting the desired object.
- In 3ds Max, check if everything has been transferred properly and save the 3ds Max scene.
The Maya camera is transferred along with the previous step and is represented in 3ds Max by a regular 3ds Max camera. We only need to match the exposure settings.
In this example, the V-Ray Physical Exposure controls from the 3ds Max Environment and Effects menu are used to set the same F-stop, Shutter speed and ISO values as those in the Maya V-Ray Physical Camera attributes.
An alternative method to match F-Stop, Shutter speed and ISO parameters would be to use
a V-Ray Physical Camera.
4. Add lights (3ds Max)
Use the VRayScene node to import previously exported Lights.vrscene.
Once the _lights.vrscene file is linked to a VRayScene inside 3ds Max, it is fairly easy
to transfer further updates of lights from Maya. Just re-export and override the existing
Lights.vrscene file and 3ds Max will pick up those changes automatically.
5. Assign materials/shaders (3ds Max)
Use the VRayVRmatMtl to load the previously exported Materials.vrscene file and assign all materials to their respective objects.
To do that:
- Create a new VRayVRmatMtl and load the Materials.vrscene file from File.
- From the Material name list, select the desired material. For better organization, you may rename VRayVRmatMtl to use the same name.
- Apply this VRayVRmatMtl to the respective scene geometry.
- Repeat the steps above for each material.
There are different methods to simplify this:
Select objects, layers or groups from the scene explorer that are using identical
materials and assign the corresponding VRayVRmatMtl.
Use the shader/material picker from the Material Editor window to get the current
object's 3ds Max material. This allows assigning a specific VRayVRmatMtl to objects
sharing the same material at once.
6. At this point all objects have their new V-Ray shaders applied
- The .vrscene should contain all the texture paths used in the Maya file path editor so that they are successfully located by the V-Ray scene node. File path corrections can be made by editing the .vrscene manually.
- VRay2SidedMtl materials are represented by Front and Back materials.
Those materials are exported as two separate shaders in the .vrscene file, meaning that
the VRay2SidedMtl should be manually created in 3ds Max and the materials in mind should
be connected to it.
- Changes to the original materials in Maya through re-exporting and overriding the material .vrscene file will automatically update the VRayVRmatMtl materials in 3ds Max.
7. Transfer displacement
Recreating the displaced geometry in the 3ds Max scene.
- Add V-Ray Displacement modifiers to objects that have to be displaced and rewrite the settings from the Maya scene.
Maya 2d Placement node setup for the displacement texture has a Repeat UVs set to 4, which
requires additional mapping adjustments in 3ds Max for a proper mapping result match.
Alternatively, use the Unwrap UVW modifier to adjust the position of the object’s UVs.
- Manually create the displacement texture in the 3ds Max material editor. Use the VRayBitmap node (previously known as VRayHDRI) to load the texture file and adjust its placement using the U/V Offset values. Use a value of 0,125.
8. Equalize the Render Settings between Maya and 3ds Max
The Render settings are not transferred with the V-Ray scene node, so they need to be set manually. Rewrite the values and parameters from the Maya Render Settings.
Render in Maya 2019 / V-Ray Next Update 3
Render in 3ds Max 2019 / V-Ray Next Update 3
This is an example workflow and can be modified according to the user’s needs.
As you can see, the results from Maya and 3ds Max are identical. Furthermore, the 3ds Max scene is editable which means that every object can be modified and animated. Editing materials directly in 3ds Max is not possible unless you re-create the materials from scratch, or you edit them in Maya and re-export the Materials.vrscene file – 3ds Max will automatically pick up the changes.
The workflow above should give the same or really similar render outputs between Maya and
3ds Max. Of course, if your project contains features not covered in this tutorial and those
are not properly transferred, you may notice some discrepancies.
Although Maya and 3ds Max could achieve similar effects, their tools don't work in the same
way. This makes replicating some effects a little bit challenging.