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

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -