Rhino WIP Feature: Physically based material displacement

The Rhino WIP now uses “adaptive meshing” for displacements occurring in physically based materials. These can be either native Rhino Physically Based materials (a.k.a. PBR materials) or using PBR material libraries such as those found in the Adobe Substance catalog (via the Substance Importer plugin in the PackageManager command).

What is displacement anyways?

Displacement is the creation of a 3D mesh using a 2D image. The range of the displaced depth is calculated from the greyscale values in a 2D image texture. Physically based materials can use displacement textures to add detail to a rendered object without directly modeling the result.

Why use adaptive meshing for PBR materials?

In previous versions of Rhino, the quality of the displacement result, in a Physically Based material, was dependent on the density of the render mesh for the object. Adaptive meshing provides superior initial results on a wide range of geometry by subdividing the existing render mesh automatically.

How this new feature works.

Physically based material displacements (PBRD) are controlled in both the Materials and Properties panels of the Rhino WIP. A Physically Based material must have a displacement channel with a texture map assigned to use this feature. The height is then controlled in model units within the Displacement channel of the material. Note that black in the displacement texture will be multiplied by -.5 and white by .5 of the value entered in this field. The resolution or ‘initial quality’ of the resulting displacement mesh is controlled within the Displacement section of the Properties panel when the object is selected. Additionally, the use of sub-object materials is supported, as shown below, if the geometry type used supports that manner of material assignment such as with polysurfaces.

If needed, the properties panel can still be used to adjust the render mesh density for a given selection. That render mesh is then used as the starting point for the displacement initial quality setting. Although the initial quality setting in Properties > Displacement can be used alone, the use of a custom render mesh for the object being displaced can provide additional control.

Further techniques…

The texture mapping properties of the object are also used to control how the PBR material displacement will appear.

This method of PBR displacement can allow for faster design iterations compared to object properties displacements. Using the right click context menu over a material thumbnail, any assigned objects can be selected and another material assigned to replace it. Preserving any existing sub-object material assignments will result in only replacing those sub-objects with the first material assigned.

You can use the command ExtractRenderMesh to extract the result of the PBRD if needed.

Here’s the sample file used for this post as well. Give it a try in your own models and let us know what you think.
PBRD_sample.3dm (1.8 MB)

Can I use Blender materials?

Blender materials don’t have a specific file format to my knowledge and are embedded in the blend file itself. To get these into other renderers you need to either use a 3D format that carries material information or export the texture maps with proper names and zip them. You should be able to use the texture map if you export it, name it with a ‘height’ or ‘displacement’ suffix and include that in a zip folder that you drag and drop into Rhino. This will make a PBR mat and you’ll see the PBRD, now with adaptive meshing so even if the render mesh is not dense you’ll get a better result.