0

After create a new display layer, how to set colour attribute to that layer?

sel = cmds.ls(selection=True,fl=True)    
coneGroup = cmds.group(empty=True,name="cones_#")
dGroup = cmds.createDisplayLayer(coneGroup, n = "cones_cam")
cmds.color(dGroup, (0,0,0))

3 Answers3

2

Use need to use setAttr:

sel = cmds.ls(selection=True,fl=True)    
coneGroup = cmds.group(empty=True,name="cones_#")
dGroup = cmds.createDisplayLayer(coneGroup, n = "cones_cam")

# Enable the layer's color.
cmds.setAttr("{}.color".format(dGroup), True)

# Enable the layer's color to use rgb.
cmds.setAttr("{}.overrideRGBColors".format(dGroup), True)

# Set the layer's color with values between 0-1.
cmds.setAttr("{}.overrideColorRGB".format(dGroup), 1, 0, 0)
Green Cell
  • 4,677
  • 2
  • 18
  • 49
0

Code excerpt:

for shadingEngine in cmds.ls(type="shadingEngine"):
    new_shader = cmds.listConnections(shadingEngine, type = 'lambert')[0]
    print new_shader
    new_sg = mC.sets(renderable=True, noSurfaceShader=True, empty=True)
    print new_sg
    f=mC.setAttr (new_shader+'.color',values[0],values[1],values[2])

    mC.hyperShade(assign=new_shader)

The above code works for the color shading through the surface node you can refer and implies it , H.

Dominique
  • 16,450
  • 15
  • 56
  • 112
0

#code

for shadingEngine in cmds.ls(type="shadingEngine"):

    new_shader = cmds.listConnections(shadingEngine, type = 'lambert')[0]
    print new_shader
    new_sg = mC.sets(renderable=True, noSurfaceShader=True, empty=True)
    print new_sg
    f=mC.setAttr (new_shader+'.color',values[0],values[1],values[2])
    mC.hyperShade(assign=new_shader)

Above code work for the color shading through the surface node you can refer and implies it , Happy hunting for your searches