How to change Flop Index (Reflectance change with angle change) of PBR material

Flop Index is defined as “the measurement on the change in reflectance of a metallic color as it is rotated through the range of viewing angles.” Essentially, as you rotate a flat surface closer to parallel to eye level, the color changes and darkens. The PBRMetallicRoughnessMaterial already does this, however I’m wondering if there’s any way to change the rate/intensity at which this happens.

cc @sebavan @PatrickRyan

@GreenTrail, if you change this property, the shader would no longer conform with the standards for PBR materials that many engines all agree on, so there isn’t really a parameter exposed for this. You would likely need a custom shader or node material to handle this. The simplest way would be to add in a fresnel operation after the PBR calculations that is multiplied with the metallic factor and the diffuse contribution to the final color. This would allow you to control how fast the color darkens by changing the bias and power of the fresnel operation. The output would no longer adhere to the PBR standards, but if you needed a custom look for your asset, this is the approach I would take.

You could try to play with metallicF0Factor and metallicReflectanceColor on the PBR material they have been lately introduced to offer some configuration for it still following some Physically possible results.

Would these settings be on the PBR Metallic Roughness Node Material?

Nope, they are on the PBR Material

1 Like

@GreenTrail, you can read more about these properties in the docs about PBRMaterial. These properties have been added to the PBRMaterial to support the glTF extension KHR_Materials_Specular, but can be leveraged by anyone wanting more control over the specular reflections of the metallic-roughness PBR lighting model.

The PBRMetallicRoughnessBlock in node material does not have these properties built in by default. But you have each component contribution available as an output for the node, so you should be able to modify the base PBR calculations in similar ways.