This script creates a VRay Rect Light, allows you to rename it, connect a texture if you would like, and it sets the light defaults to what I normally start out with.
To Run: Just run the script.
#Create Rect Light Maya Version 1.0.0 #Bryanna London #!/usr/bin/env python import maya.cmds as cmds import maya.mel as mel #rect light def def createRectLight(): #Name Creation Prompt namePrompt = cmds.promptDialog(title = 'Name Light', message = 'Enter Light Name', button=['OK', 'Cancel'], defaultButton = 'OK', cancelButton = 'Cancel', dismissString = 'Cancel') if namePrompt == 'OK': name = cmds.promptDialog(query = True, text = True) else: name = 'VRayLightRect' #create vray rect light rectLight = cmds.shadingNode( 'VRayLightRectShape' , asLight=True ) #rename light rectLightName = cmds.rename( rectLight , name ) #Set default attributes cmds.setAttr('%s.invisible' %(rectLightName), 1) cmds.setAttr('%s.intensityMult' %(rectLightName), 10) cmds.setAttr('%s.uSize' %(rectLightName), 3) cmds.setAttr('%s.vSize' %(rectLightName), 3) #Rect Tex Prompt texturePrompt = cmds.confirmDialog(title = 'File Texture', message = 'Would you like to plug a file texture into ' + rectLightName + '?', button = ['Yes', 'No'], defaultButton = 'Yes', cancelButton = 'No', dismissString = 'No') #If Texture Prompt is Yes if texturePrompt == 'Yes': rootDirectory = cmds.workspace(query = True, rootDirectory = True) + 'sourceimages/' imageFilters = "Image Files(*.png *.jpg *.exr *.hdr *.tif);; All Files (*.*)" selectFile = cmds.fileDialog2(startingDirectory = rootDirectory, fileMode = 1, fileFilter = imageFilters) #If a file was selected: set up file if selectFile: #create file node and 2d texture node fileTex = cmds.shadingNode('file', name = rectLightName + '_file', asTexture = True) place2dTextureNode = cmds.shadingNode('place2dTexture', asUtility = True) #connect the selected image to the file node. Set filter type. cmds.setAttr('%s.fileTextureName' %(fileTex), selectFile[0], type = 'string') cmds.setAttr('%s.filterType' %(fileTex), 0) #connect place2dTexture to file cmds.connectAttr(place2dTextureNode + '.coverage', fileTex + '.coverage') cmds.connectAttr(place2dTextureNode + '.translateFrame', fileTex + '.translateFrame') cmds.connectAttr(place2dTextureNode + '.rotateFrame', fileTex + '.rotateFrame') cmds.connectAttr(place2dTextureNode + '.mirrorU', fileTex + '.mirrorU') cmds.connectAttr(place2dTextureNode + '.mirrorV', fileTex + '.mirrorV') cmds.connectAttr(place2dTextureNode + '.stagger', fileTex + '.stagger') cmds.connectAttr(place2dTextureNode + '.wrapU', fileTex + '.wrapU') cmds.connectAttr(place2dTextureNode + '.wrapV', fileTex + '.wrapV') cmds.connectAttr(place2dTextureNode + '.repeatUV', fileTex + '.repeatUV') cmds.connectAttr(place2dTextureNode + '.offset', fileTex + '.offset') cmds.connectAttr(place2dTextureNode + '.rotateUV', fileTex + '.rotateUV') cmds.connectAttr(place2dTextureNode + '.noiseUV', fileTex + '.noiseUV') cmds.connectAttr(place2dTextureNode + '.vertexUvOne', fileTex + '.vertexUvOne') cmds.connectAttr(place2dTextureNode + '.vertexUvTwo', fileTex + '.vertexUvTwo') cmds.connectAttr(place2dTextureNode + '.vertexUvThree', fileTex + '.vertexUvThree') cmds.connectAttr(place2dTextureNode + '.vertexCameraOne', fileTex + '.vertexCameraOne') cmds.connectAttr(place2dTextureNode + '.outUV', fileTex + '.uvCoord') cmds.connectAttr(place2dTextureNode + '.outUvFilterSize', fileTex + '.uvFilterSize') #Turn on rect tex cmds.setAttr('%s.useRectTex' %(rectLightName), 1) #Get Light Shape Node rectLightShape = cmds.listRelatives( rectLightName, shapes = True) #connect file to light cmds.connectAttr(fileTex + '.outColor', rectLightShape[0] + '.rectTex') cmds.select(rectLightName) createRectLight()
© 2018 Bryanna London