in Engine 2.7 and later, If the clearcoat value is greater than 0 and less than 1, the clearcoat specularity is always applied with the maximum. (ccSpecularity is 1.0 at getClearCoat)
you can reproduce easily.
Because, the following code causes clearCoatTint to be false if the clearCoat value is less than 1
options.clearCoatTint = equalish(stdMat.clearCoat, 1.0);
standard-material-options-builder.js
This means that if the clearCoat value is less than 1, the STD_CLEARCOAT_CONSTANT of the clearCoat shader is not defined.
As a result, ccSpecularity is always 1.
However, if you assign a clearcoat texture to the material, STD_CLEARCOAT_TEXTURE is defined and the gradation by the texture is applied.
I think this is inconsistent behavior.
Anyway, I just want to adjust specularity of clearcoat by clearCoat factor(not texture).
Thanks.
this message translated by google translator.