Modo 901 Displacement VS Normal Maps
As a 3D artist there are times that you can’t have all the details you need on a mesh but instead in an image file that can be added later. The most common detail image maps are Displacement and Normal Maps. Each with their own strengths and best practices.
Getting Started with Displacement Maps
Displacement maps are grey scaled images that are used to physically displace the vertices of a mesh. Think of it as, a hight map that tells each vertices what direction to go into and how far. The image below is that of a mid level mesh that has been displaced by our map.
Displacement maps require mesh geometry to exist in order to be seen correctly. The image above is being driven by the mesh below, their isn’t enough vertices to push to get the detail we are looking for. In order to get our vertices count up we can do whats called a subdivision to our current mesh now or at render time.
Subdivision Levels with Catmull Clark Current and Render Time
Catmull Clark subdivisions is an advanced Sub-D method that allows for better control of edge normals and offers great performance. In order to gain access to it in Modo select your mesh and use the shortcut shift + tab, then in the mesh property window go to the surface tab and check Multiresolution under Catmull-Clark.
Catmull Clark has three level options. Each level is a multiplier for the meshes current polygon count.
- Subdivision: The max level we can use for either current or render levels
- Current Level: The mesh level in the editor
- Render Level: Level used at render time.
What’s great about the current and render levels workflow is, the current editor level can be much lower so you can use the app without a huge hit to performance; when rendering the level can be set higher.
As you can see from the image above I’ve set the current level(mesh on right) to level 1 and the render level to 5. So when I hit render the mesh uses level 5. At this level you can see much more detail then our previous editor versions. To find the right render level takes a bit of trial and error. Just make sure you save your work, in case the level is to high for your system to process.
Getting Started with Normal Maps
Often used in game development, normal maps are image files that contain normal transformation data from a high res mesh. Read more about Baking Maps in Modo . Once created we can apply that high res mesh data to a low res model and allude to details. I Say allude, because the mesh isn’t dense at all, instead it uses light tricks to make it seem like there is more detail then actual available.
As you can see with the normal map applied the poly count is really low and there is no mesh distortion(yellow mesh outline) but our detail is visible.
Comparing Displacement to Normal Maps
Looking at our Normal Map and Displacement Map examples above, you can see the amount of polygons needed for each to display. On the left, the normal mapped mesh uses fewer polygons; but as you get closer to the mesh the details become flat. On the other side, the displacement mapped mesh holds its structure with actual polygons(which can still use more ploygons). So as you get closer the details remain.
Choosing which map to use comes down to where the mesh is going to be used. If you’re modeling for animation, print or close up shots, displacement maps will give you better quality at the cost of longer render times. For limited resource usage like games or arch viz; normal maps will proved the best in performance and detail with better memory and cpu performance.
As a 3D artist, your goal is to tell a story. Regardless of the application albeit print ads, vfx , games or animation, your ability to convey the right amount of information and detail in story telling is key. Normal maps are great for realtime applications or when you have limited resources. Displacement maps are great for when you have to render for close ups. Or if you want to use proxy meshes without committing to all the details at the current time.