import maya.cmds as cmds class APLS_Window(object): #constructor def __init__(self): self.window = "APLS_Window" self.title = "Auto 3 Point Light System" self.size = (300, 300) #close old window is open if cmds.window(self.window,exists = True): cmds.deleteUI(self.window, window=True) #Create new window self.window =cmds.window(self.window, title=self.title, widthHeight=self.size) #Create layout cmds.columnLayout(adjustableColumn = True) #Title text cmds.text(self.title) #Button to create lights self.LightsCreateBtn = cmds.button( label='Create Lights', command=self.createLights ) #Button to delete cube self.deleteCubeBtn = cmds.button( label='Delete cube', command=self.deleteCube ) #Button to delete all lights self.deleteLightsBtn = cmds.button( label='Delete all lights', command=self.deleteLights ) #Display new JD_Window cmds.showWindow() #Code for create button def createLights(self, *args): #Creates key light cmds.shadingNode('areaLight',asLight = True) cmds.move (4, 2, 4) cmds.rotate(-10, 40, 0,) cmds.scale (1,1,1) cmds.rename ('keyLight') #renames light cmds.setAttr ("keyLight.intensity", 20) #edits intensity cmds.setAttr('keyLight.color', 1, 1, 1, type = 'double3') #edits colour cmds.setAttr ("keyLight.normalize", 0) #disables normalise of light cmds.setAttr ("keyLight.aiNormalize", 0) #disables normalise of light in Arnold renderer #Creates fill light cmds.shadingNode('areaLight',asLight = True) cmds.rotate(-10, -60, 0,) cmds.move (-5, 3, 5) cmds.scale (1,1,1) cmds.rename ('fillLight') #renames light cmds.setAttr ("fillLight.intensity", 10) #edits intensity cmds.setAttr('fillLight.color', 1, 1, 1, type = 'double3') #edits colour cmds.setAttr ("fillLight.normalize", 0) #disables normalise of light cmds.setAttr ("fillLight.aiNormalize", 0) #disables normalise of light in Arnold renderer #Creates back light cmds.shadingNode('areaLight',asLight = True) cmds.rotate(-15, 155, 0,) cmds.move (3, 1, -5) cmds.scale (0.2,1,1) cmds.rename ('backLight') #renames light cmds.setAttr ("backLight.intensity", 15) #edits intensity cmds.setAttr('backLight.color', 1, 1, 1, type = 'double3') #edits colour cmds.setAttr ("backLight.normalize", 0) #disables normalise of light cmds.setAttr ("backLight.aiNormalize", 0) #disables normalise of light in Arnold renderer #Creates cube cmds.polyCube (n='controlCube') #Groups lights and cube cmds.group('keyLight','fillLight', 'backLight', parent='controlCube', n='allLights') cmds.select('controlCube') #code for delete cube button def deleteCube(self, *args): cmds.ungroup() cmds.delete ('controlCube') #code for delete lights button def deleteLights(self, *args): cmds.delete ('keyLight', 'fillLight', 'backLight') cmds.delete ('allLights') cmds.delete ('controlCube') myWindow = APLS_Window()