Your first remeshing in 3ds Max
Disclaimer: This post is written using version 9.1.42900.0 of Simplygon and 3ds Max 2021. If you encounter this post at a later stage, some of the settings calls might have changed. However, the core concepts should still remain valid.
In this post we'll introduce how to use the Simplygon plugin for 3ds Max and use it to remesh a very high poly model.
This example will use the Simplygon integration in 3ds Max, but the same concepts can be applied to all other integrations of the Simplygon API.
Problem to solve
Here we have a high poly mesh with a single diffuse texture, which we wish to optimize, this can be done with both Simplygon's reduction- and remeshing feature.
Reduction optimizes the asset by removing polygons from the original while maintaining other data, such as original materials, UVs and vertex colors. Reduction and Material baking can be combined.
Remeshing generates a completely new mesh that represents the original asset, while good at optimizing it will not preserve data in the same sense as reduction, vertex colors and skinning can be transferred onto the new mesh, while materials/textures have to be baked, and new UVs generated. We will use remeshing for this post.
The model is very high poly, as expected of a photoscan, and contains over 7 million vertices. This is a close up of the mouth.
The solution is to process the object using the UI for Simplygon plugin in 3ds Max and create a proxy of it using the remeshing pipeline.
When optimizing a very high poly mesh into a low poly mesh remeshing often gives a better result then reduction because it can remove interiors and fill small holes.
Autodesk 3ds Max plug-ins are installed automatically when running the Simplygon installer, and after installation you need to restart 3ds Max for it to load successfully (if it was running when you installed Simplygon).
Start by bringing up the Simplygon UI by right clicking the toolbar and choose Simplygon.
Click Add LOD Component and pick Template → Basic → Remeshing with material baking.
We can choose quality of the new mesh by changing OnScreensize. Simplygon will optimize the mesh so it has less then one pixel of error when rendered at target screen size. For more information read about deviation and screen size.
OutputMaterialSetting's texture width and height under MappingImageSettings determines the resolution of the new texture.
Material casters are used to transfer the old texture of the object to the newly modeled one. Depending on what material channels we have; base color, specularity, metallic and so on we can have different casters.
To add all 3ds Max standard casters press the plus icon right of Material Casters and select Automatic while having the original mesh selected in the view port.
Our original mesh only has a base_color texture so all other channels do not contain any data we want to transfer. We are going to add a normal map, even though the original did not have one. Adding one will allow us to bake the high-poly models surface onto our new model. We are going to remove all other casters and are left with:
- ColorCaster - base_color is the base color channel.
- NormalCaster - bump is 3ds Max's normal map channel.
In a different tool than 3ds Max these channels will be named differently.
Select the objects you want to remesh and click the Simplygon logo to start processing.
We can play around with different settings and are able to generate different remeshes from our original asset.
Remesh for 300 screen size with a 1024x1024 texture.
Remesh for 1080 screen size with a 4096x4096 texture.
|Asset||Screen size||Texture size||Polys||Verts|
|Original asset||-||8192x8192||14 596 096||7 298 050|
|Remeshed HD||1080||4096x4096||8 798||4 401|
|Remeshed SD||300||1024x1024||1 374||689|
Conclusion is that Simplygon can process even very large meshes and generate game ready meshes of all kinds of fidelity.