Material Id Smart Materials
Last updated on: 28 July, 2018
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.

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.

Retrieving colors in Houdini.
(Approximate file size: 1.6 MB)