Turning Reflectance Layers On / Off

On 15/10/2014 at 17:34, xxxxxxxx wrote:

Hey there!

Is there a way to turn on / off different layers in the Reflectance channel using the Python API?  I want to be able to toggle the eyeball switch on my Specular layer based on some User Data.  Any help would be greatly appreciated.



On 16/10/2014 at 07:15, xxxxxxxx wrote:


Reflectance is currently not supported by the Python API. You can only access it with the C++ Material class.

Best wishes,

On 10/10/2017 at 18:05, xxxxxxxx wrote:

This is now possible.

"""Name-US: Toggle Reflectance   
Description-US: Toggle the first reflectance layer on/off.   
import c4d   
from c4d import gui   
def main() :   
    mat = doc.GetActiveMaterial()   
    if not mat:   
    doc.AddUndo(c4d.UNDOTYPE_CHANGE, mat)   
    layer = mat.GetReflectionLayerIndex(0) # Get the top-most layer   
    if not layer:   
    flags = layer.GetFlags()   
    if flags is None:   
    active_toggled_flags = flags ^ c4d.REFLECTION_FLAG_ACTIVE   
if __name__=='__main__':   

On 05/11/2017 at 05:59, xxxxxxxx wrote:

thanks for the update, is it now possible to enable/disable individual Reflectance Layers in Xpressso?

My hack is going to be just to turn the Brightness to 0% otherwise lol

On 06/11/2017 at 02:41, xxxxxxxx wrote:


the activity state of a reflectance layer is stored in a flag, not a parameter. So I'm afraid it is not possible to edit this value using XPresso.

best wishes,

On 07/11/2017 at 05:44, xxxxxxxx wrote:


Thanks for the answer.  I did test using Xpresso to turn the Brightness of the Color channel to 0% and it works the same as turning the flag to 0.  Or at least it Renders the same, not sure on the back end.

I need to get back into Python and C++ again.  Xpresso can do so much though.