How do I make cubes a specific color using python code for Maya -
i have cubes being created based on specific vertex locations need know how make these cubes red, via python script , not having select cubes in maya , manually making them red.
to assign material in maya need associated materials's shading group, in maya shadingengine node. use sets command argument.
import maya.cmds cmds # assign shader objects. objects can single object or list of objects def assign_shader(shader, objects): # shadinggroup listconnections shading_group = cmds.listconnections(shader, type='shadingengine')[-1] # use `sets` force objects shading group cmds.sets(objects, fe=shading_group) # examples # assign_shader('lambert1', 'pcube1') # assign_shader('lambert1', ['pcube1', 'pcube2']) you can manually make red material , call want assign way. if want create shader programmatically, it's:
new_shader = cmds.shadingnode('lambert', asshader=true, name='yournamehere') new_sg = cmds.sets(renderable=true, nosurfaceshader=true, empty=true) cmds.connectattr(new_shader + '.outcolor', new_sg + ".surfaceshader", force=true) you'd feed new_shader assign_shader
if care simple color, should use lambert shader above. set color of lambert it's just
cmds.setattr('your_lambert_here' + ".color", 1,0,0)
Comments
Post a Comment