Material Id Smart Materials

Last updated on: 28 July, 2018

Summary: A package for 3D Coat containing 40 Smart Materials which can be used as material IDs.

This 3D Coat package file contains Smart Materials which can be used to paint vertices of high-poly geometry with material ID. Materials were prepared by offsetting hue, saturation and value parameters of their color channels. Hue differences between base colors of each material can be divided into groups of four materials. Each material in such group has a hue delta of 90 degrees when compared to its neighbors. In each consecutive group, hues are offset by 30º so if the first group has hue of 0, 90 180 and 270º, then the next batch of four will have 30, 120, 210 and 300. This is repeated two times so in consequence there are 12 materials with the same color saturation and value.

The next 12 materials have the same corresponding hues as those that precede them, but their saturation and lightness are reduced by one third. Similarly, materials from range 25 to 36 have only one third of saturation and value of the initial twelve. The last four materials are shades of gray, from pure white to pure black.

Two-dimensional graph of three lines. Sawtooth pink is representing hue. Blue and yellow lines represent saturation and value and are resembling stairs going down. Vertical axis is HSV values, horizontal axis is material number.

Dependency between hue, saturation and value of each material.

Forty materials might be an overkill for material ID colors, but I think it’s better to have more than not enough. HSV delta between materials should be large enough for programs like Substance Designer/Painter to recognize the differences without the need of tweaking fuzziness of material ID picker. Or at least the first dozen shouldn’t pose any problems.

When exporting vertex-painted reference mesh from 3D Coat we need to remember that of all geometry file formats supported by 3D Coat, only Polygon File Format (ply) and Filmbox (fbx) can store vertex colors. However, Polygon File Format will strip geometry of all primitive groups created in the sculpting room, leaving us with one combined object. We can restore those groups in Houdini by exporting our sculpture as Wavefront OBJ file and use it as a target operator for Attribute Copy SOP to copy Cd point attribute from ply file. Of course, we could use fbx instead of ply, but if we want to use it on SOP level, we would still have to restore primitive groups, just using a different procedure.

Two yellow file SOPs, one loading wavefront file, the other PLY geometry. Both are piped into attribcopy operator, which in turn is piped to black null SOP. In the background there's a grid and 3D Coat's material sphere with various colors applied on it.

Retrieving colors in Houdini.