Converting Displacements to Models

Posted Oct 25, 2019
Last Updated Oct 26, 2019

Converting displacements to props via Wall Worm can be done via the Convert Scene to Model utility. You should be using 3ds Max 2020.2+ for these steps.

  1. Select the displacements to convert to props.
  2. Open Convert Scene to Model.
  3. Choose the Culling and Clustering option if making props at scene scale or Scene to Sky Model if making skybox props.
  4. If not enabled, turn on the Convert Displacements option in the Objects to Convert group.
  5. If not enabled, turn on Create VertexLitGeneric in the Resulting Model group.
  6. In the Advanced section, turn on Work on Copies.
  7. Click the Do It button.

A few things will have happened. First, vertex alpha and 4-way blend shading may disappear in the viewport. This is expected because the DirectX Shader used for the displacements was replaced with an OSL map which may not  appear correctly in the viewport. Since you will need to render the prop's  material to a new texture, this is fine as the OSL map will render as expected.

Now you will need to unwrap the resulting prop if you want to bake it to a texture. Add an Unwrap UVW modifier onto channel 2 and unwrap as you normally would (for new users see the tips below). Then bake the material onto channel 2 and export the textures and prop. (You can also use other channels--but do not use Channel 3 because that is the channel that the vertex blending is stored in for the conversion above.)

When it comes to making the render, you may have to spend time tweaking the gamma, brightness and other settings in the OSL map if the results are not as expected. Depending on the scale of the displacements, you may never get a perfect blend between the actual displacements and props made of displacements because of reduced texel density and other factors in the prop.

Unwrapping For New Max Users

Some new users porting scenes may not be familiar with the unwrapping process. For converting the displacements to props when there are blend materials (either 2-way or 4-way) you will be forced to make a new UV channel for baking your texture because the model shaders do not allow for vertex alpha/color blending. The reason you will have to unwrap for this is to bake the blending into textures and the default displacement channel (Map Channel 1) is using tiling UVs--which are not set up for baking. We need to keep channel 1 to mimmick the original UVs for rendering, but we need a new channel to store the new mapping coordinates. That is why we use another channel (in this case, use Channel 2).

The proper way to unwrap would be to manually spend time to unwrap specifically to your displacement prop's topology. But for expediency, below are steps to do a quick and dirty unwrap just to get your prop into the game:

  1. Select your displacement prop.
  2. In the main Max menus, click Rendering > Render to Texture.
  3. In the resulting RTT dialog, set the Mapping Coordiantes Object setting to Use Automatic Unwrap and set the channel to 2.
  4. In the Output rollout, click Add and add the channels you want to use. For a skybox map you may just want Complete Map. For a prop close to players, you may want Diffuse, Normal and Specular. (Make sure to set these outputs to save as TGA files).
  5. In the Automatic Mapping rollout, turn on Rotate Clusters and Fill Holes. Set Spacing to 0.01 and Threshold Angle to 60.
  6. Click the Render button at the bottom of the RTT floater.

When you do this, the tool will add an Unwrap UVW modifier to the prop and automatically unwrap. The unwrap may not be well optimized and may include a lot of wasted space. For high-end work you should manually unwrap instead of using the automatic method.