def SetupLighting(): #creation lumiere ambiante mutils.createLocator("aiAreaLight", asLight=True) lum1 = cmds.rename("LumiereAmbiante") cmds.rotate(-90, 0, 0) cmds.move(0, 17, 0) cmds.scale(15, 15, 15) cmds.setAttr(lum1 + ".color", 0, 0.19, 1) cmds.setAttr(lum1 + ".intensity", 79) #creation lumiere centrale mutils.createLocator("aiAreaLight", asLight=True) lum2 = cmds.rename("LumiereCentale") cmds.rotate(-205, 75, -140) cmds.move(5, 8, -3) cmds.setAttr(lum2 + ".color", 1, 0.66, 0.44) cmds.setAttr(lum2 + ".intensity", 100)
def create_arnold_default_light(): """ Create generic default light for arnold which can not use maya default light """ cmds.directionalLight(rotation=(45, 30, 15), intensity=0.7, useRayTraceShadows=0) cmds.directionalLight(rotation=(240, 45, 45), intensity=0.7, useRayTraceShadows=0) cmds.directionalLight(rotation=(-62, 55, 0), intensity=1.0, useRayTraceShadows=1) try: import mtoa.utils as mutils mutils.createLocator("aiSkyDomeLight", asLight=True) except Exception as e: LOGGER.error('Error creating arnold Sky Dome Light: %s', e)
def createUI(self): cmds.scrollLayout(childResizable=True, minChildWidth=800) cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) cmds.rowLayout(numberOfColumns=9, columnAttach=[(1, 'both', 10), (2, 'both', 5), (3, 'both', 5), (4, 'both', 5), (5, 'both', 5), (6, 'both', 5), (7, 'both', 5), (8, 'both', 5), (9, 'both', 5)] ) cmds.text(label='Create Light:') selectCommand='import maya.cmds as cmds\ncmds.select(\''+'directionalLightShape1'+'\')' cmds.nodeIconButton( style='iconOnly', command=lambda *args: cmds.CreateDirectionalLight(), image1='directionallight.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: cmds.CreatePointLight(), image1='pointlight.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: cmds.CreateSpotLight(), image1='spotlight.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: cmds.CreateAreaLight(), image1='arealight.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: mutils.createLocator('aiAreaLight', asLight=True), image1='AreaLightShelf.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: mutils.createLocator('aiSkyDomeLight', asLight=True), image1='SkydomeLightShelf.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: mutils.createLocator('aiPhotometricLight', asLight=True), image1='PhotometricLightShelf.png' ) cmds.nodeIconButton( style='iconOnly', command=lambda *args: self.doCreateMeshLight(), image1='MeshLightShelf.png' ) cmds.setParent('..') cmds.separator() cmds.setParent('..') cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) cmds.rowLayout(numberOfColumns=6, adjustableColumn=2, columnWidth6=[50, 160, 160, 180, 180, 110], columnAttach=[(1, 'both', 5), (2, 'both', 5), (3, 'both', 5), (4, 'both', 5), (5, 'both', 5), (6, 'both', -5)] ) cmds.text(label='Select') cmds.text(label='Light Name') cmds.text(label='Color') cmds.text(label='Intensity') cmds.text(label='Exposure') cmds.rowLayout(numberOfColumns=2, columnWidth2=[60, 50], columnAttach=[(1, 'both', 0), (2, 'both', 5)] ) cmds.text(label='Samples') cmds.text(label='Enable') cmds.setParent('..') cmds.setParent('..') cmds.separator() cmds.setParent('..') self.column = cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) self.refreshControls() '''for element in self.listElements:
def place_light(pos, bbox_points, aim=(0, 0, 0)): light = mutils.createLocator("aiAreaLight", asLight=True)[1] loc = cmds.spaceLocator(p=aim) cmds.setAttr("{}.translateZ".format(light), 1) cmds.aimConstraint(loc, light, maintainOffset=True) x, y, z = pos cmds.move(x, y, z, light, a=True) tl, tr, br, bl = bbox_points u_size = max(distance_between(tl, tr), distance_between(bl, br)) / 2 v_size = max(distance_between(tl, bl), distance_between(tr, br)) / 2 cmds.scale(u_size, v_size, 1, light, r=True) return light
def createDomLight(self): if cmds.objExists("aiSkyDomeLight1"): print "Un dome exist deja" else: Dommy = mutils.createLocator("aiSkyDomeLight", asLight=True) cmds.setAttr("%s.aiSamples" % Dommy[0], 3) cmds.parent(Dommy[1], "Studio") if cmds.objExists("hdri_file_script"): cmds.connectAttr("hdri_file_script.outColor", "aiSkyDomeLightShape1.color") else: self.file_node = cmds.shadingNode("file", asTexture=True, name="hdri_file_script") cmds.connectAttr("%s.outColor" % self.file_node, "aiSkyDomeLightShape1.color") cmds.parent("aiSkyDomeLight1", "Studio")
def main(data_path, radius=700, divisions=100, intensity=15, exposure=11.5): with open(data_path, "r") as f: data = json.load(f) sphere_name, _ = cmds.polySphere(radius=radius, sx=divisions, sy=divisions) # Flipping UVs and rotating to match default arnold dome light position cmds.select("{}.map[0:]".format(sphere_name)) cmds.polyFlipUV(usePivot=True, pivotU=0.5, pivotV=0.5) cmds.setAttr("{}.rotateY".format(sphere_name), 86.4) for i in range(data["num_lights"]): bbox_points = data[str(i)]["bbox_points"] mid_point = data[str(i)]["mid_point"] tex_path = data[str(i)]["rect_tex"] bbox_world = [get_uv_position(sphere_name, i) for i in bbox_points] mid_pos = get_uv_position(sphere_name, mid_point) light = place_light(mid_pos, bbox_world) file_node = cmds.shadingNode("file", asTexture=True) cmds.setAttr("{}.fileTextureName".format(file_node), tex_path, type="string") light_shape = cmds.listRelatives(light)[0] cmds.connectAttr("{}.outColor".format(file_node), "{}.color".format(light_shape)) cmds.setAttr("{}.intensity".format(light_shape), intensity) cmds.setAttr("{}.exposure".format(light_shape), exposure) hdr_path = data["hdr"] light_dome = mutils.createLocator("aiSkyDomeLight", asLight=True)[1] light_dome_shape = cmds.listRelatives(light_dome)[0] hdr_file_node = cmds.shadingNode("file", asTexture=True) cmds.setAttr("{}.fileTextureName".format(hdr_file_node), hdr_path, type="string") cmds.connectAttr("{}.outColor".format(hdr_file_node), "{}.color".format(light_dome_shape)) cmds.delete(sphere_name)
def createFileTexture(self, index_str, file_path): name_ = 'file' + str(index_str) tex = pm.shadingNode('file', name=name_, asTexture=True, isColorManaged=True) if not pm.objExists('p2d_' + name_): pm.shadingNode('place2dTexture', name='p2d_' + name_, asUtility=True) p2d = pm.PyNode('p2d_' + name_) tex.filterType.set(0) pm.connectAttr(p2d.coverage, tex.coverage) pm.connectAttr(p2d.translateFrame, tex.translateFrame) # pm.connectAttr(p2d.rotateFrame, tex.rotateFrame) # pm.connectAttr(p2d.mirrorU, tex.mirrorU) pm.connectAttr(p2d.mirrorV, tex.mirrorV) pm.connectAttr(p2d.stagger, tex.stagger) pm.connectAttr(p2d.wrapU, tex.wrapU) # pm.connectAttr(p2d.wrapV, tex.wrapV) # pm.connectAttr(p2d.repeatUV, tex.repeatUV) pm.connectAttr(p2d.offset, tex.offset) pm.connectAttr(p2d.rotateUV, tex.rotateUV) pm.connectAttr(p2d.noiseUV, tex.noiseUV) pm.connectAttr(p2d.vertexUvOne, tex.vertexUvOne) pm.connectAttr(p2d.vertexUvTwo, tex.vertexUvTwo) pm.connectAttr(p2d.vertexUvThree, tex.vertexUvThree) pm.connectAttr(p2d.vertexCameraOne, tex.vertexCameraOne) pm.connectAttr(p2d.outUV, tex.uvCoord) pm.connectAttr(p2d.outUvFilterSize, tex.uvFilterSize) tex.colorSpace.set('Raw') tex.fileTextureName.set(file_path) skydome = mutils.createLocator('aiSkyDomeLight', asLight=True) connect_cmd = "connectAttr -force " + name_ + ".outColor aiSkyDomeLightShape" + index_str + ".color;" mel.eval(connect_cmd) cmds.setAttr('aiSkyDomeLightShape' + index_str + '.aiSpecular', self.specular)
def createUI(self): cmds.scrollLayout(childResizable=True, minChildWidth=800) cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) cmds.rowLayout(numberOfColumns=9, columnAttach=[(1, 'both', 10), (2, 'both', 5), (3, 'both', 5), (4, 'both', 5), (5, 'both', 5), (6, 'both', 5), (7, 'both', 5), (8, 'both', 5), (9, 'both', 5)]) cmds.text(label='Create Light:') selectCommand = 'import maya.cmds as cmds\ncmds.select(\'' + 'directionalLightShape1' + '\')' cmds.nodeIconButton( style='iconOnly', command=lambda *args: cmds.CreateDirectionalLight(), image1='directionallight.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: cmds.CreatePointLight(), image1='pointlight.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: cmds.CreateSpotLight(), image1='spotlight.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: cmds.CreateAreaLight(), image1='arealight.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: mutils.createLocator( 'aiAreaLight', asLight=True), image1='AreaLightShelf.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: mutils.createLocator( 'aiSkyDomeLight', asLight=True), image1='SkydomeLightShelf.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: mutils.createLocator( 'aiPhotometricLight', asLight=True), image1='PhotometricLightShelf.png') cmds.nodeIconButton(style='iconOnly', command=lambda *args: self.doCreateMeshLight(), image1='MeshLightShelf.png') cmds.setParent('..') cmds.separator() cmds.setParent('..') cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) cmds.rowLayout(numberOfColumns=6, adjustableColumn=2, columnWidth6=[50, 160, 160, 180, 180, 110], columnAttach=[(1, 'both', 5), (2, 'both', 5), (3, 'both', 5), (4, 'both', 5), (5, 'both', 5), (6, 'both', -5)]) cmds.text(label='Select') cmds.text(label='Light Name') cmds.text(label='Color') cmds.text(label='Intensity') cmds.text(label='Exposure') cmds.rowLayout(numberOfColumns=2, columnWidth2=[60, 50], columnAttach=[(1, 'both', 0), (2, 'both', 5)]) cmds.text(label='Samples') cmds.text(label='Enable') cmds.setParent('..') cmds.setParent('..') cmds.separator() cmds.setParent('..') self.column = cmds.columnLayout(adjustableColumn=True, columnAlign="right", rowSpacing=10) self.refreshControls() '''for element in self.listElements:
def createArnoldMenu(): # Add an Arnold menu in Maya main window if not pm.about(b=1): pm.menu('ArnoldMenu', label='Arnold', parent='MayaWindow', tearOff=True ) pm.menuItem('ArnoldStandIn', label='StandIn', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldCreateStandIn', parent='ArnoldStandIn', label="Create", c=lambda *args: createStandIn()) pm.menuItem('ArnoldCreateStandInFile', parent='ArnoldStandIn', optionBox=True, c=lambda *args: doCreateStandInFile()) pm.menuItem('ArnoldExportStandIn', parent='ArnoldStandIn', label='Export', c=lambda *args: doExportStandin()) pm.menuItem('ArnoldExportOptionsStandIn', parent='ArnoldStandIn', optionBox=True, c=lambda *args: doExportOptionsStandin()) pm.menuItem('ArnoldLights', label='Lights', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldAreaLights', parent='ArnoldLights', label="Area Light", c=lambda *args: mutils.createLocator('aiAreaLight', asLight=True)) pm.menuItem('SkydomeLight', parent='ArnoldLights', label="Skydome Light", c=lambda *args: mutils.createLocator('aiSkyDomeLight', asLight=True)) pm.menuItem('ArnoldMeshLight', parent='ArnoldLights', label='Mesh Light', c=lambda *args: doCreateMeshLight()) pm.menuItem('PhotometricLights', parent='ArnoldLights', label="Photometric Light", c=lambda *args: mutils.createLocator('aiPhotometricLight', asLight=True)) pm.menuItem(parent='ArnoldLights', divider=True) pm.menuItem('MayaDirectionalLight', parent='ArnoldLights', label="Maya Directional Light", c=lambda *args: cmds.CreateDirectionalLight()) pm.menuItem('MayaPointLight', parent='ArnoldLights', label="Maya Point Light", c=lambda *args: cmds.CreatePointLight()) pm.menuItem('MayaSpotLight', parent='ArnoldLights', label="Maya Spot Light", c=lambda *args: cmds.CreateSpotLight()) pm.menuItem('MayaQuadLight', parent='ArnoldLights', label="Maya Quad Light", c=lambda *args: cmds.CreateAreaLight()) pm.menuItem('ArnoldVolume', label='Volume', parent='ArnoldMenu', c=lambda *args: createVolume()) pm.menuItem('ArnoldFlush', label='Flush Caches', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldFlushTexture', parent='ArnoldFlush', label="Textures", c=lambda *args: cmds.arnoldFlushCache(textures=True)) pm.menuItem('ArnoldFlushBackground', parent='ArnoldFlush', label="Skydome Lights", c=lambda *args: cmds.arnoldFlushCache(skydome=True)) pm.menuItem('ArnoldFlushQuads', parent='ArnoldFlush', label="Quad Lights", c=lambda *args: cmds.arnoldFlushCache(quads=True)) pm.menuItem('ArnoldFlushAll', parent='ArnoldFlush', label="All", c=lambda *args: cmds.arnoldFlushCache(flushall=True)) pm.menuItem('ArnoldUtilities', label='Utilities', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldBakeGeo', label='Bake Selected Geometry', parent='ArnoldUtilities', c=lambda *args: arnoldBakeGeo()) pm.menuItem('ArnoldRenderToTexture', label='Render Selection To Texture', parent='ArnoldUtilities', c=lambda *args: arnoldRenderToTexture()) pm.menuItem('ArnoldTxManager', label='Tx Manager', parent='ArnoldUtilities', c=lambda *args: arnoldTxManager()) pm.menuItem('ArnoldLightManager', label='Light Manager', parent='ArnoldUtilities', c=lambda *args: arnoldLightManager()) pm.menuItem('ArnoldHelpMenu', label='Help', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldUserGuide', label='User Guide', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://support.solidangle.com/display/AFMUG/Arnold+for+Maya+User+Guide')) pm.menuItem('ArnoldTutorials', label='Tutorials', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://support.solidangle.com/display/mayatut/Arnold+for+Maya+Tutorials')) pm.menuItem('ArnoldVideos', label='Videos', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://support.solidangle.com/display/AFMV/Arnold+for+Maya+Videos')) pm.menuItem(divider=1, parent='ArnoldHelpMenu') pm.menuItem('ArnoldSolidAngle', label='Solid Angle', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://www.solidangle.com')) pm.menuItem('ArnoldMailingLists', label='Mailing Lists', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://subscribe.solidangle.com')) pm.menuItem('ArnoldAsk', label='Knowledge Base', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://ask.solidangle.com')) pm.menuItem('ArnoldSupportBlog', label='Support Blog', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://support.solidangle.com/blog/arnsupp')) pm.menuItem('ArnoldLicensing', label='Licensing', parent='ArnoldHelpMenu', c=lambda *args: arnoldLicenseDialog()) pm.menuItem(divider=1, parent='ArnoldHelpMenu') pm.menuItem('ArnoldDeveloperGuide', label='Developer Guide', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://support.solidangle.com/display/ARP/Arnoldpedia')) pm.menuItem('ArnoldExperimentalMenu', label='Experimental', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldRender', label='External RenderView', parent='ArnoldExperimentalMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldSelectCamera', label='Select Camera', parent='ArnoldRender', subMenu=True, tearOff=False, postMenuCommand=lambda *args: populateSelectCamera()) populateSelectCamera() pm.menuItem('ArnoldStartRender', label='Render', parent='ArnoldRender', c=lambda *args: startRender()) pm.menuItem('ArnoldStartIPR', label='IPR', parent='ArnoldRender', c=lambda *args: startIpr()) pm.menuItem('ArnoldRefresh', label='Refresh', parent='ArnoldRender', c=lambda *args: refreshRender()) pm.menuItem('ArnoldStopRender', label='Stop Render', parent='ArnoldRender', c=lambda *args: stopRender()) pm.menuItem('ArnoldAbout', label='About', parent='ArnoldMenu', c=lambda *args: arnoldAboutDialog())
def createArnoldLight(self, iesPath): aiPhoL = createLocator('aiPhotometricLight', asLight=1) attrName = '%s.ai_filename'% aiPhoL[0] mc.setAttr(attrName, iesPath, type = 'string') mc.confirmDialog( title=u'提醒', message=u'已创建灯光%s' %aiPhoL[1], button=['OK'], defaultButton='OK', icon='information')
def createArnoldMenu(): # Add an Arnold menu in Maya main window if not pm.about(b=1): pm.menu('ArnoldMenu', label='Arnold', parent='MayaWindow', tearOff=True) pm.menuItem('ArnoldStandIn', label='StandIn', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldCreateStandIn', parent='ArnoldStandIn', label="Create", c=lambda *args: createStandIn()) pm.menuItem('ArnoldCreateStandInFile', parent='ArnoldStandIn', optionBox=True, c=lambda *args: doCreateStandInFile()) pm.menuItem('ArnoldExportStandIn', parent='ArnoldStandIn', label='Export', c=lambda *args: doExportStandin()) pm.menuItem('ArnoldExportOptionsStandIn', parent='ArnoldStandIn', optionBox=True, c=lambda *args: doExportOptionsStandin()) pm.menuItem('ArnoldLights', label='Lights', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem( 'ArnoldAreaLights', parent='ArnoldLights', label="Area Light", c=lambda *args: mutils.createLocator('aiAreaLight', asLight=True)) pm.menuItem('SkydomeLight', parent='ArnoldLights', label="Skydome Light", c=lambda *args: mutils.createLocator('aiSkyDomeLight', asLight=True)) pm.menuItem('ArnoldMeshLight', parent='ArnoldLights', label='Mesh Light', c=lambda *args: doCreateMeshLight()) pm.menuItem('PhotometricLights', parent='ArnoldLights', label="Photometric Light", c=lambda *args: mutils.createLocator('aiPhotometricLight', asLight=True)) pm.menuItem(parent='ArnoldLights', divider=True) pm.menuItem('MayaDirectionalLight', parent='ArnoldLights', label="Maya Directional Light", c=lambda *args: cmds.CreateDirectionalLight()) pm.menuItem('MayaPointLight', parent='ArnoldLights', label="Maya Point Light", c=lambda *args: cmds.CreatePointLight()) pm.menuItem('MayaSpotLight', parent='ArnoldLights', label="Maya Spot Light", c=lambda *args: cmds.CreateSpotLight()) pm.menuItem('MayaQuadLight', parent='ArnoldLights', label="Maya Quad Light", c=lambda *args: cmds.CreateAreaLight()) pm.menuItem('ArnoldVolume', label='Volume', parent='ArnoldMenu', c=lambda *args: createVolume()) pm.menuItem('ArnoldFlush', label='Flush Caches', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldFlushTexture', parent='ArnoldFlush', label="Textures", c=lambda *args: cmds.arnoldFlushCache(textures=True)) pm.menuItem('ArnoldFlushBackground', parent='ArnoldFlush', label="Skydome Lights", c=lambda *args: cmds.arnoldFlushCache(skydome=True)) pm.menuItem('ArnoldFlushQuads', parent='ArnoldFlush', label="Quad Lights", c=lambda *args: cmds.arnoldFlushCache(quads=True)) pm.menuItem('ArnoldFlushAll', parent='ArnoldFlush', label="All", c=lambda *args: cmds.arnoldFlushCache(flushall=True)) pm.menuItem('ArnoldUtilities', label='Utilities', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldBakeGeo', label='Bake Selected Geometry', parent='ArnoldUtilities', c=lambda *args: arnoldBakeGeo()) pm.menuItem('ArnoldRenderToTexture', label='Render Selection To Texture', parent='ArnoldUtilities', c=lambda *args: arnoldRenderToTexture()) pm.menuItem('ArnoldTxManager', label='Tx Manager', parent='ArnoldUtilities', c=lambda *args: arnoldTxManager()) pm.menuItem('ArnoldLightManager', label='Light Manager', parent='ArnoldUtilities', c=lambda *args: arnoldLightManager()) pm.menuItem('ArnoldHelpMenu', label='Help', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem( 'ArnoldUserGuide', label='User Guide', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage= 'https://support.solidangle.com/display/AFMUG/Arnold+for+Maya+User+Guide' )) pm.menuItem( 'ArnoldTutorials', label='Tutorials', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage= 'https://support.solidangle.com/display/mayatut/Arnold+for+Maya+Tutorials' )) pm.menuItem( 'ArnoldVideos', label='Videos', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage= 'https://support.solidangle.com/display/AFMV/Arnold+for+Maya+Videos' )) pm.menuItem(divider=1, parent='ArnoldHelpMenu') pm.menuItem( 'ArnoldSolidAngle', label='Solid Angle', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://www.solidangle.com')) pm.menuItem('ArnoldMailingLists', label='Mailing Lists', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage='https://subscribe.solidangle.com')) pm.menuItem( 'ArnoldAsk', label='Knowledge Base', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch(webPage='https://ask.solidangle.com')) pm.menuItem('ArnoldSupportBlog', label='Support Blog', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage='https://support.solidangle.com/blog/arnsupp')) pm.menuItem('ArnoldLicensing', label='Licensing', parent='ArnoldHelpMenu', c=lambda *args: arnoldLicenseDialog()) pm.menuItem(divider=1, parent='ArnoldHelpMenu') pm.menuItem( 'ArnoldDeveloperGuide', label='Developer Guide', parent='ArnoldHelpMenu', c=lambda *args: cmds.launch( webPage= 'https://support.solidangle.com/display/ARP/Arnoldpedia')) pm.menuItem('ArnoldExperimentalMenu', label='Experimental', parent='ArnoldMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldRender', label='External RenderView', parent='ArnoldExperimentalMenu', subMenu=True, tearOff=True) pm.menuItem('ArnoldSelectCamera', label='Select Camera', parent='ArnoldRender', subMenu=True, tearOff=False, postMenuCommand=lambda *args: populateSelectCamera()) populateSelectCamera() pm.menuItem('ArnoldStartRender', label='Render', parent='ArnoldRender', c=lambda *args: startRender()) pm.menuItem('ArnoldStartIPR', label='IPR', parent='ArnoldRender', c=lambda *args: startIpr()) pm.menuItem('ArnoldRefresh', label='Refresh', parent='ArnoldRender', c=lambda *args: refreshRender()) pm.menuItem('ArnoldStopRender', label='Stop Render', parent='ArnoldRender', c=lambda *args: stopRender()) pm.menuItem('ArnoldAbout', label='About', parent='ArnoldMenu', c=lambda *args: arnoldAboutDialog())
from random import randint import pymel.core as pm import mtoa.utils as mutils mutils.createLocator("aiSkyDomeLight", asLight=True) for i in range(12): box = pm.polyCube(ch=0)[0] box.translate.set(randint(-20, 20), randint(-20, 20), randint(-20, 20)) scale = randint(1, 5) box.scale.set(scale, scale, scale) shader = pm.shadingNode('aiStandard', asShader=True) pm.select(box) pm.hyperShade(assign=shader) file_node = pm.createNode("file") file_node.fileTextureName.set("C:/Users/strack/Pictures/ic/IC.%04d.jpg" % (i + 1)) file_node.outColor >> shader.color