Example #1
0
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)
Example #2
0
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)
Example #3
0
    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:
Example #4
0
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")
Example #6
0
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)
Example #8
0
    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:
Example #9
0
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())
Example #10
0
 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')
Example #11
0
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())
Example #12
0
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