Exemple #1
0
    def update(self, *args):
        """
        Sets the controls to selected object's setting
        """
        try:
            shapes = cmds.ls(sl=True, o=True, dag=True, s=True)
            if len(shapes) > 0:

                self.shadEngine = str(cmds.listConnections(shapes, type="shadingEngine")[0])
                # connected materials
                self.materials = str(cmds.ls(cmds.listConnections(self.shadEngine), materials=True)[0])
            # check if connected material is a surface shader or Maya material
            if cmds.nodeType(self.materials) == "surfaceShader":
                wireframeColor = cmds.attrColorSliderGrp(
                    "wireframeColor", edit=True, at=self.materials + ".outColor", sb=True
                )
                wireColorSlider = cmds.attrColorSliderGrp(
                    "wireColorSlider", edit=True, at=self.shadEngine + ".miContourColor"
                )
                wirewidthControl = cmds.attrFieldSliderGrp(
                    "wirewidthControl", edit=True, at=self.shadEngine + ".miContourWidth"
                )
            else:
                wireframeColor = cmds.attrColorSliderGrp(
                    "wireframeColor", edit=True, at=self.materials + ".color", sb=True
                )
                wireColorSlider = cmds.attrColorSliderGrp(
                    "wireColorSlider", edit=True, at=self.shadEngine + ".miContourColor"
                )
                wirewidthControl = cmds.attrFieldSliderGrp(
                    "wirewidthControl", edit=True, at=self.shadEngine + ".miContourWidth"
                )
        except TypeError, UnboundLocalError:
            pass
Exemple #2
0
    def createShader(self, *args):
        self.shaderName = cmds.shadingNode("lambert",
                                           asShader=True,
                                           n=("%sPVSHD") % self.geo)
        self.shadingGroup = cmds.sets(n=("%sSG" % self.shaderName),
                                      renderable=True,
                                      noSurfaceShader=True,
                                      empty=True)
        cmds.connectAttr("%s.outColor" % self.shaderName,
                         "%s.surfaceShader" % self.shadingGroup)
        cmds.sets(self.geo, e=True, forceElement=self.shadingGroup)
        self.colorAttr = "color"
        cmds.setAttr("%s.%s" % (self.shaderName, self.colorAttr), 1, .7, .4)

        cmds.attrColorSliderGrp(self.color,
                                e=True,
                                en=True,
                                at="%s.%s" % (self.shaderName, self.colorAttr))
        cmds.iconTextButton(self.dragBut,
                            e=True,
                            dgc=partial(self.dragCommand, self.shadingGroup,
                                        ("%s.%s" %
                                         (self.shaderName, self.colorAttr))))
        cmds.button(self.createButton, e=True, bgc=(.5, .2, .2))
        cmds.textField(self.shadText, e=True, tx=self.shaderName)
Exemple #3
0
	def createUI(self,winName,dock):
		##if Maya version is 2011 or above, create a doclable window,
		##else create a floating window.
		if dock==True:
			if cmds.dockControl("%s_dock" % winName, q=True, exists=True):
				cmds.deleteUI("%s_dock" % winName)
		else:
			if cmds.window(winName, q=True, exists=True):
				cmds.deleteUI(winName)
		try:
			###create window
			self.widgets["window"]=cmds.window(title="Render Wireframe", width=350, mnb=False,mxb=False)
			self.widgets["mainLayout"]=cmds.columnLayout("mainLayout",width=340,height=400,adj=True)
			self.widgets["scrolFldRprtr"]=cmds.cmdScrollFieldReporter("scrolFldRprtr",w=350,eac=False,fst="python")
			cmds.separator(h=5,style="none")
			cmds.separator(h=5,style="none")
			self.widgets["Amb_Occlus"]=cmds.text( label='Press CTRL button & hit the shelfbar button to render with AO' )
			self.widgets["rowColumnLayout"]=cmds.rowColumnLayout(nc=2,cw=[(1,180),(2,140)],columnOffset=[(1,"both",5),(2,"both",2)])
			self.widgets["aoCheck"]=cmds.checkBox("aoCheck",label='Render with Ambient Occlusion' ,  value=self.FLAG)


			self.widgets["mtrlSg_Attrib_Contrls"]= cmds.frameLayout('mtrlSg_Attrib_Contrls',w=340,
			label='Change Color and Wire Width', borderStyle='in',parent=self.widgets["mainLayout"] )
			self.widgets["formLayout"] = cmds.formLayout("formLayout",numberOfDivisions=100)

			self.widgets["wireframeColor"]=cmds.attrColorSliderGrp('wireframeColor', sb=True, at='lambert1.outColor', l='Object Color')
			self.widgets["wireColorSlider"]=cmds.attrColorSliderGrp("wireColorSlider", l='Wire Color', at='initialShadingGroup.miContourColor',
			ann='the Wires will only show up in Render', sb=False)
			self.widgets["wirewidthControl"]=cmds.attrFieldSliderGrp("wirewidthControl",at=self.shadEngine+'.miContourWidth',
			ann='keep value between .5 and .8', min=0.0, max=1.50,l='Wire Width' )
			self.widgets["antiAliasControl"]=cmds.floatSliderGrp("antiAliasControl", label='Anti Alias', cc=partial(self._change), field=True, minValue=0.01, maxValue=1.0, ann="change anti-alias contrast",  value=cmds.getAttr("miDefaultOptions.contrastR") )

			cmds.setParent('..')

			self.widgets["rowColumnRenLayout"]=cmds.rowColumnLayout( nc=2,cw=[(1,180),(2,140)],columnOffset=[(1,"both",5),(2,"both",2)])


			self.widgets["renderSelected"]=cmds.iconTextButton('renderSelbtn', al='left',h=25,image='WireFrameOnShaded.png',ann='Wireframe selected object',
			style='iconAndTextHorizontal',label='Wireframe Selected',c=self._restrictUiReload)

			self.widgets["renderBtn"]=cmds.iconTextButton('renderBtn', align="right", h=25, width=100 , ann='Click here to take a test Render Preview\n For good quality use high resolution',
			c=cmds.RenderIntoNewWindow, style='iconAndTextHorizontal', image='menuIconRender.png', label='Render Preview')
			self.widgets["mainLayout_btns"]=cmds.columnLayout("mainLayout_btns", width=340, height=400)
			self.widgets["showSGbtn"]=cmds.button(c=self.showSGroup, l="Show Material", ann="Opens Attribute Editor and displays material of the selected object")

			self.widgets["formLayout"]=cmds.formLayout("formLayout", edit=True, af=[("wireframeColor",'top',0), ("wireframeColor",'left', -70)])
			self.widgets["formLayout"]=cmds.formLayout("formLayout", edit=True, af=[("wireColorSlider",'top',20), ("wireColorSlider",'left', -70)])
			self.widgets["formLayout"]=cmds.formLayout("formLayout", edit=True, af=[("wirewidthControl",'top',40), ("wirewidthControl",'left', -70)])
			self.widgets["formLayout"]=cmds.formLayout("formLayout", edit=True, af=[("antiAliasControl",'top',60), ("antiAliasControl",'left', -70)])

			cmds.scriptJob(parent=self.widgets["window"], e=["SelectionChanged",self.update])
		except RuntimeError, err:
			   print err
Exemple #4
0
    def createUI(self):
        self.selButton = cmds.iconTextButton(style="textOnly",
                                             label=self.geo,
                                             w=120,
                                             p=widgets["objectRCLO"],
                                             c=self.select)
        self.createButton = cmds.button(l="create",
                                        w=50,
                                        p=widgets["objectRCLO"],
                                        c=self.createShader)
        self.color = cmds.attrColorSliderGrp(l="",
                                             cw=[(1, 10), (2, 40), (3, 50)],
                                             rgb=(.5, .5, .5),
                                             p=widgets["objectRCLO"])
        self.dragBut = cmds.iconTextButton(l="Drag/Drop",
                                           style="textOnly",
                                           w=50,
                                           fla=False,
                                           p=widgets["objectRCLO"],
                                           dpc=partial(self.dropCommand,
                                                       self.geo, self.color))
        self.shadText = cmds.textField(w=110, ed=False, tx=self.shaderName)
        cmds.separator(style="none", h=5)
        cmds.separator(style="none", h=5)
        cmds.separator(style="none", h=5)
        cmds.separator(style="none", h=5)
        cmds.separator(style="none", h=5)

        self.shaderCheck()

        if self.shaderName and self.shadingGroup:
            if self.shadingGroup != "initialShadingGroup":
                self.colorAttr = getColorAttr(self.shaderName)
                if self.colorAttr:
                    cmds.button(self.createButton, e=True, bgc=(.5, .2, .2))
                    cmds.attrColorSliderGrp(self.color,
                                            e=True,
                                            en=True,
                                            at="%s.%s" %
                                            (self.shaderName, self.colorAttr))
                    cmds.iconTextButton(
                        self.dragBut,
                        e=True,
                        dgc=partial(self.dragCommand, self.shadingGroup,
                                    ("%s.%s" %
                                     (self.shaderName, self.colorAttr))))
            else:
                cmds.attrColorSliderGrp(self.color, e=True, en=False)
                pass
    def __init__(self, node):

        super(AE_mila_mix_template, self).__init__(node)

        self.setNode(node)

        # LAYER / MIX
        if cmds.frameLayout(label="Mix", collapsable=True):
            if cmds.columnLayout(adj=True):

                # 				self.on = cmds.attrControlGrp( attribute = self.attr("on"))

                self.weight = cmds.attrFieldSliderGrp(
                    attribute=self.attr("weight"),
                    label="Weight",
                    columnWidth=columnWidthData)
                self.addControl("weight", self.weight, cmds.attrFieldSliderGrp)

                self.weight_tint = cmds.attrColorSliderGrp(
                    attribute=self.attr("weight_tint"),
                    label="Tint",
                    columnWidth=columnWidthData)
                self.addControl("weight_tint", self.weight_tint,
                                cmds.attrColorSliderGrp)

                self.bump = AE_bump_template(self.node)

            cmds.setParent("..")
        cmds.setParent("..")
Exemple #6
0
    def refreshControls(self):
        if cmds.columnLayout(self.column, exists=True):
            cmds.setParent(self.column)

            for rowChild in cmds.columnLayout(self.column, query=True, childArray=True) or []:
                row = self.column+"|"+rowChild
                cmds.deleteUI(rowChild)
                
            for element in self.listElements:
                elementName = element[1]
                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)] )
                selectCommand='import maya.cmds as cmds\ncmds.select(\''+elementName+'\')'
                cmds.nodeIconButton( style='iconOnly', command=selectCommand, image1=element[0]+'.png' )
                cmds.text(label=elementName, align='left')
                
                cmds.attrColorSliderGrp(label='C:', at=elementName+'.color', columnWidth4=[15,30,70,40], columnAlign=[1,"center"])
                
                if element[0] == 'MeshLightShelf':
                    cmds.attrFieldSliderGrp(label='I:', at=elementName+'.intensity', columnWidth2=[15,45], columnAlign=[1,"center"])
                    cmds.attrFieldSliderGrp(label='E:', at=elementName+'.aiExposure', columnWidth3=[15,45,70], columnAlign=[1,"center"])
                else:
                    cmds.attrFieldSliderGrp(label='I:', at=elementName+'.intensity', columnWidth4=[15,45,70,40], columnAlign=[1,"center"])
                    cmds.attrFieldSliderGrp(label='E:', at=elementName+'.aiExposure', columnWidth4=[15,45,70,40], columnAlign=[1,"center"])
                
                
                cmds.rowLayout(numberOfColumns=2, columnWidth2=[60, 50], columnAttach=[(1, 'both', 0), (2, 'both', 5)] )
                
                
                cmds.intFieldGrp('lightManager_samples_'+elementName, label='S:', columnWidth2=[20,30], columnAlign2=['center','center'])
                cmds.connectControl('lightManager_samples_'+elementName, elementName+'.aiSamples', index=1)
                cmds.connectControl('lightManager_samples_'+elementName, elementName+'.aiSamples', index=2)
                
                cmds.checkBoxGrp('lightManager_visibility_'+elementName, label="E:", columnWidth2=[18,22])
                try:
                    cmds.connectControl('lightManager_visibility_'+elementName, elementName+'.visibility', index=1)
                    cmds.connectControl('lightManager_visibility_'+elementName, elementName+'.visibility', index=2)
                except:
                    pass
                    
                
                cmds.setParent('..')
                
                cmds.setParent('..')
        def __init__(self, node, label="Max Distance", collapse=True):

            self.controls = []
            self.connectControls = []

            def attr(attr):
                return "%s.%s" % (node, attr)

            self.node = node

            if cmds.frameLayout(label=label,
                                collapse=collapse,
                                collapsable=True):
                if cmds.columnLayout(adj=True):

                    self.use_max_dist = cmds.checkBoxGrp(
                        label="",
                        label1="Use Max Distance",
                        columnWidth=columnWidthData,
                        cc=self.value_changed)
                    self.connectControls.append(
                        ("use_max_dist", self.use_max_dist, 2))
                    cmds.connectControl(self.use_max_dist,
                                        attr("use_max_dist"),
                                        index=2)

                    self.max_dist = cmds.attrFieldSliderGrp(
                        attribute=attr("max_dist"),
                        label="Max Dist",
                        columnWidth=columnWidthData)
                    self.controls.append(
                        ("max_dist", self.max_dist, cmds.attrFieldSliderGrp))

                    self.use_color = cmds.checkBoxGrp(
                        label="",
                        label1="Use Color",
                        columnWidth=columnWidthData,
                        cc=self.value_changed)
                    self.connectControls.append(
                        ("use_max_dist_color", self.use_color, 2))
                    cmds.connectControl(self.use_color,
                                        attr("use_max_dist_color"),
                                        index=2)

                    self.color = cmds.attrColorSliderGrp(
                        attribute=attr("max_dist_color"),
                        label="Color",
                        columnWidth=columnWidthData)
                    self.controls.append(("max_dist_color", self.color,
                                          cmds.attrColorSliderGrp))

                cmds.setParent("..")
            cmds.setParent("..")

            self.value_changed()
    def __init__(self, node):

        super(AE_mila_transparency_template, self).__init__(node)

        self.controls = []

        self.addControl(
            "transparency",
            cmds.attrColorSliderGrp(attribute=self.attr("transparency"),
                                    label="Transparency",
                                    columnWidth=columnWidthData),
            cmds.attrColorSliderGrp)
Exemple #9
0
	def update(self, *args):
		"""
		Sets the controls to selected object's setting
		"""
		try:
			shapes = cmds.ls(sl=True, o=True, dag=True, s=True)
			if len(shapes) > 0:
				self.shadEngine = str(cmds.listConnections(shapes, type ="shadingEngine")[0])
				 # connected materials
				self.materials = str(cmds.ls(cmds.listConnections(self.shadEngine), materials = True)[0])
			# check if connected material is a surface shader or Maya material
			if cmds.nodeType(self.materials)=='surfaceShader':
				wireframeColor=cmds.attrColorSliderGrp("wireframeColor", edit= True,  at=self.materials+'.outColor', sb=True )
				wireColorSlider=cmds.attrColorSliderGrp("wireColorSlider", edit= True,  at=self.shadEngine+'.miContourColor')
				wirewidthControl=cmds.attrFieldSliderGrp("wirewidthControl", edit= True, at=self.shadEngine+'.miContourWidth' )
			else:
				wireframeColor=cmds.attrColorSliderGrp("wireframeColor", edit= True,  at=self.materials+'.color', sb=True )
				wireColorSlider=cmds.attrColorSliderGrp("wireColorSlider", edit= True, at=self.shadEngine+'.miContourColor')
				wirewidthControl=cmds.attrFieldSliderGrp("wirewidthControl", edit= True, at=self.shadEngine+'.miContourWidth')
		except TypeError,UnboundLocalError:
			pass
Exemple #10
0
 def dropCommand(self, targetGeo, sldrGrp, *args):
     print "dropCommand passingAttr = %s\ndrop passingSG = %s" % (
         GeoObject.passingAttr, GeoObject.passingSG)
     #connect geo to passed sg
     cmds.sets(targetGeo, e=True, forceElement=GeoObject.passingSG)
     #connect slider to passed attr
     shd = cmds.listConnections("%s.surfaceShader" % GeoObject.passingSG)[0]
     cmds.attrColorSliderGrp(sldrGrp,
                             e=True,
                             at="%s.%s" % (shd, GeoObject.passingAttr))
     #deactivate createButton
     cmds.button(self.createButton, e=True, bgc=(.5, .2, .2))
     #activate drag functionality
     shd = cmds.listConnections("%s.surfaceShader" % GeoObject.passingSG)[0]
     self.shadingGroup = GeoObject.passingSG
     self.colorAttr = GeoObject.passingAttr
     self.shaderName = cmds.listConnections("%s.surfaceShader" %
                                            self.shadingGroup)[0]
     cmds.iconTextButton(self.dragBut,
                         e=True,
                         dgc=partial(self.dragCommand, self.shadingGroup,
                                     GeoObject.passingAttr))
     cmds.textField(self.shadText, e=True, tx=self.shaderName)
def AE_tint_roughness_template(node, label="Base", collapse=True):

    controls = []

    def attr(attr):
        return "%s.%s" % (node, attr)

    if cmds.frameLayout(label=label, collapse=collapse, collapsable=True):
        if cmds.columnLayout(adj=True):

            controls.append(
                ("tint",
                 cmds.attrColorSliderGrp(attribute=attr("tint"),
                                         label="Tint",
                                         columnWidth=columnWidthData),
                 cmds.attrColorSliderGrp))

            try:
                controls.append(
                    ("roughness",
                     cmds.attrFieldSliderGrp(attribute=attr("roughness"),
                                             label="Roughness",
                                             columnWidth=columnWidthData),
                     cmds.attrFieldSliderGrp))
            except RuntimeError:
                pass

            try:
                controls.append(
                    ("ior",
                     cmds.attrFieldSliderGrp(attribute=attr("ior"),
                                             label="IOR",
                                             columnWidth=columnWidthData),
                     cmds.attrFieldSliderGrp))
            except RuntimeError:
                pass
            try:
                controls.append(
                    ("intensity",
                     cmds.attrFieldSliderGrp(attribute=attr("intensity"),
                                             label="Intensity",
                                             columnWidth=columnWidthData),
                     cmds.attrFieldSliderGrp))
            except RuntimeError:
                pass

        cmds.setParent("..")
    cmds.setParent("..")

    return controls
    def refreshControls(self):
        if cmds.columnLayout(self.column, exists=True):
            cmds.setParent(self.column)

            for rowChild in cmds.columnLayout(
                    self.column, query=True, childArray=True) or []:
                row = self.column + "|" + rowChild
                cmds.deleteUI(rowChild)

            for element in self.listElements:
                elementName = element[1]
                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)])
                selectCommand = 'import maya.cmds as cmds\ncmds.select(\'' + elementName + '\')'
                cmds.nodeIconButton(style='iconOnly',
                                    command=selectCommand,
                                    image1=element[0] + '.png')
                cmds.text(label=elementName, align='left')

                cmds.attrColorSliderGrp(label='C:',
                                        at=elementName + '.color',
                                        columnWidth4=[15, 30, 70, 40],
                                        columnAlign=[1, "center"])

                if element[0] == 'MeshLightShelf':
                    cmds.attrFieldSliderGrp(label='I:',
                                            at=elementName + '.intensity',
                                            columnWidth2=[15, 45],
                                            columnAlign=[1, "center"])
                    cmds.attrFieldSliderGrp(label='E:',
                                            at=elementName + '.aiExposure',
                                            columnWidth3=[15, 45, 70],
                                            columnAlign=[1, "center"])
                else:
                    cmds.attrFieldSliderGrp(label='I:',
                                            at=elementName + '.intensity',
                                            columnWidth4=[15, 45, 70, 40],
                                            columnAlign=[1, "center"])
                    cmds.attrFieldSliderGrp(label='E:',
                                            at=elementName + '.aiExposure',
                                            columnWidth4=[15, 45, 70, 40],
                                            columnAlign=[1, "center"])

                cmds.rowLayout(numberOfColumns=2,
                               columnWidth2=[60, 50],
                               columnAttach=[(1, 'both', 0), (2, 'both', 5)])

                cmds.intFieldGrp('lightManager_samples_' + elementName,
                                 label='S:',
                                 columnWidth2=[20, 30],
                                 columnAlign2=['center', 'center'])
                cmds.connectControl('lightManager_samples_' + elementName,
                                    elementName + '.aiSamples',
                                    index=1)
                cmds.connectControl('lightManager_samples_' + elementName,
                                    elementName + '.aiSamples',
                                    index=2)

                cmds.checkBoxGrp('lightManager_visibility_' + elementName,
                                 label="E:",
                                 columnWidth2=[18, 22])
                try:
                    cmds.connectControl('lightManager_visibility_' +
                                        elementName,
                                        elementName + '.visibility',
                                        index=1)
                    cmds.connectControl('lightManager_visibility_' +
                                        elementName,
                                        elementName + '.visibility',
                                        index=2)
                except:
                    pass

                cmds.setParent('..')

                cmds.setParent('..')
    def __init__(self, node):

        super(AE_mila_scatter_template, self).__init__(node)

        if cmds.frameLayout(label="Front Scatter", collapsable=True):
            if cmds.columnLayout(adj=True):
                self.addControl(
                    "front_tint",
                    cmds.attrColorSliderGrp(attribute=self.attr("front_tint"),
                                            label="Tint",
                                            columnWidth=columnWidthData),
                    cmds.attrColorSliderGrp)
                self.addControl(
                    "front_weight",
                    cmds.attrFieldSliderGrp(
                        attribute=self.attr("front_weight"),
                        label="Weight",
                        columnWidth=columnWidthData), cmds.attrFieldSliderGrp)
                self.addControl(
                    "front_radius",
                    cmds.attrFieldGrp(attribute=self.attr("front_radius"),
                                      label="Radius",
                                      columnWidth=columnWidthData3),
                    cmds.attrFieldGrp)
                self.addControl(
                    "front_radius_mod",
                    cmds.attrColorSliderGrp(
                        attribute=self.attr("front_radius_mod"),
                        label="Radius Mod",
                        columnWidth=columnWidthData), cmds.attrColorSliderGrp)
            cmds.setParent("..")
        cmds.setParent("..")

        if cmds.frameLayout(label="Back Scatter", collapsable=True):
            if cmds.columnLayout(adj=True):
                self.addControl(
                    "back_tint",
                    cmds.attrColorSliderGrp(attribute=self.attr("back_tint"),
                                            label="Tint",
                                            columnWidth=columnWidthData),
                    cmds.attrColorSliderGrp)
                self.addControl(
                    "back_weight",
                    cmds.attrFieldSliderGrp(attribute=self.attr("back_weight"),
                                            label="Weight",
                                            columnWidth=columnWidthData),
                    cmds.attrFieldSliderGrp)
                self.addControl(
                    "back_radius",
                    cmds.attrFieldGrp(attribute=self.attr("back_radius"),
                                      label="Radius",
                                      columnWidth=columnWidthData3),
                    cmds.attrFieldGrp)
                self.addControl(
                    "back_radius_mod",
                    cmds.attrColorSliderGrp(
                        attribute=self.attr("back_radius_mod"),
                        label="Radius Mod",
                        columnWidth=columnWidthData), cmds.attrColorSliderGrp)
                self.addControl(
                    "back_depth",
                    cmds.attrFieldSliderGrp(attribute=self.attr("back_depth"),
                                            label="Depth",
                                            columnWidth=columnWidthData),
                    cmds.attrFieldSliderGrp)
            cmds.setParent("..")
        cmds.setParent("..")

        if cmds.frameLayout(label="Storage And Optimization",
                            collapsable=True):
            if cmds.columnLayout(adj=True):

                self.addControl(
                    "scale_conversion",
                    cmds.attrFieldSliderGrp(
                        attribute=self.attr("scale_conversion"),
                        label="Scale",
                        columnWidth=columnWidthData), cmds.attrFieldSliderGrp)
                self.addControl(
                    "sampling_radius_mult",
                    cmds.attrFieldSliderGrp(
                        attribute=self.attr("sampling_radius_mult"),
                        label="Sampling Factor",
                        columnWidth=columnWidthData), cmds.attrFieldSliderGrp)

                self.addControl(
                    "resolution",
                    cmds.attrEnumOptionMenuGrp(
                        attribute=self.attr("resolution"),
                        label='Resolution',
                        columnWidth=columnWidthData3,
                        ei=[(0, "2 x Image"), (1, "1 x Image"),
                            (2, "1/2 x Image"), (3, "1/3 x Image"),
                            (4, "1/4 x Image"), (5, "1/5 x Image")]),
                    cmds.attrEnumOptionMenuGrp)

                self.addControl(
                    "light_storage_gamma",
                    cmds.attrFieldSliderGrp(
                        attribute=self.attr("light_storage_gamma"),
                        label="Gamma",
                        columnWidth=columnWidthData), cmds.attrFieldSliderGrp)
            cmds.setParent("..")
        cmds.setParent("..")

        self.controls += AE_contribution_template(node)
    def __init__(self, node):

        super(AE_mila_layer_template, self).__init__(node)

        # LAYER / MIX
        if cmds.frameLayout(label="Layer", collapsable=True):
            if cmds.columnLayout(adj=True):

                # 				self.on = cmds.attrControlGrp( attribute = self.attr("on"))

                self.weight = cmds.attrFieldSliderGrp(
                    attribute=self.attr("weight"),
                    label="Weight",
                    columnWidth=columnWidthData)
                self.addControl("weight", self.weight, cmds.attrFieldSliderGrp)

                self.weight_tint = cmds.attrColorSliderGrp(
                    attribute=self.attr("weight_tint"),
                    label="Weight Tint",
                    columnWidth=columnWidthData)
                self.addControl("weight_tint", self.weight_tint,
                                cmds.attrColorSliderGrp)

                self.fresnelLayout = cmds.formLayout()
                if self.fresnelLayout:

                    self.directionalWeight = cmds.optionMenuGrp(
                        label="Fresnel",
                        columnWidth=columnWidthData,
                        cc=self._setDirectionalMode)
                    if self.directionalWeight:
                        cmds.menuItem("Constant")
                        cmds.menuItem("IOR")
                        cmds.menuItem("Custom")

                    self.scriptJobA = cmds.scriptJob(
                        replacePrevious=True,
                        parent=self.directionalWeight,
                        attributeChange=(self.attr("directional_weight_mode"),
                                         self._directionalModeChanged))
                    self.scriptJobB = cmds.scriptJob(
                        replacePrevious=True,
                        parent=self.fresnelLayout,
                        attributeChange=(self.attr("use_directional_weight"),
                                         self._directionalModeChanged))

                    self.scriptJobs.append(
                        ("directional_weight_mode", self.directionalWeight,
                         "attributeChange", self._directionalModeChanged))
                    self.scriptJobs.append(
                        ("use_directional_weight", self.fresnelLayout,
                         "attributeChange", self._directionalModeChanged))

                    self.showCurve = cmds.checkBox(label="Show Curve",
                                                   cc=self._showCurveChanged,
                                                   width=10,
                                                   value=True)

                    self.ior = cmds.attrFieldSliderGrp(
                        attribute=self.attr("ior"),
                        label="IOR",
                        columnWidth=columnWidthData,
                        cc=self.iorFresnelChanged)
                    self.addControl("ior", self.ior, cmds.attrFieldSliderGrp)

                    self.normal_reflectivity = cmds.attrFieldSliderGrp(
                        attribute=self.attr("normal_reflectivity"),
                        label="0 degree",
                        columnWidth=columnWidthData,
                        cc=self.customFresnelChanged)
                    self.addControl("normal_reflectivity",
                                    self.normal_reflectivity,
                                    cmds.attrFieldSliderGrp)

                    self.grazing_reflectivity = cmds.attrFieldSliderGrp(
                        attribute=self.attr("grazing_reflectivity"),
                        label="90 degree",
                        columnWidth=columnWidthData,
                        cc=self.customFresnelChanged)
                    self.addControl("grazing_reflectivity",
                                    self.grazing_reflectivity,
                                    cmds.attrFieldSliderGrp)

                    self.exponent = cmds.attrFieldSliderGrp(
                        attribute=self.attr("exponent"),
                        label="Exponent",
                        columnWidth=columnWidthData,
                        cc=self.customFresnelChanged)
                    self.addControl("exponent", self.exponent,
                                    cmds.attrFieldSliderGrp)

                    col = cmds.columnLayout(adj=True)
                    if col:
                        self.graphWidget = graphWidgetUI()
                    cmds.setParent("..")

                cmds.setParent("..")

                cmds.formLayout(
                    self.fresnelLayout,
                    edit=True,
                    attachForm=[[self.directionalWeight, "top", 2],
                                [self.directionalWeight, "left", 0],
                                [self.showCurve, "top", 2],
                                [self.showCurve, "right", 0],
                                [self.ior, "left", 0],
                                [self.normal_reflectivity, "left", 0],
                                [self.grazing_reflectivity, "left", 0],
                                [self.exponent, "left", 0], [col, "right", 12],
                                [col, "bottom", 10], [col, "left", 190]],
                    attachControl=[
                        [self.showCurve, "left", 2, self.directionalWeight],
                        [col, "top", 4, self.showCurve],
                        [self.ior, "top", 2, self.directionalWeight],
                        [
                            self.normal_reflectivity, "top", 2,
                            self.directionalWeight
                        ],
                        [
                            self.grazing_reflectivity, "top", 2,
                            self.normal_reflectivity
                        ],
                        [self.exponent, "top", 2, self.grazing_reflectivity],
                    ],
                    attachNone=[[self.directionalWeight, "right"],
                                [self.directionalWeight, "bottom"],
                                [self.showCurve, "bottom"],
                                [self.ior, "bottom"], [self.ior, "right"],
                                [self.normal_reflectivity, "right"],
                                [self.normal_reflectivity, "bottom"],
                                [self.grazing_reflectivity, "right"],
                                [self.grazing_reflectivity, "bottom"],
                                [self.exponent, "right"],
                                [self.exponent, "bottom"]],
                )

                self.bump = AE_bump_template(self.node)

            cmds.setParent("..")
        cmds.setParent("..")

        self._directionalModeChanged()
Exemple #15
0
import maya.OpenMayaUI
import maya.cmds as cmds
import sip
from PyQt4.QtGui import *
from PyQt4.QtCore import *

mainWindow = QMainWindow()
centralWidget = QListView()
mainWindow.setCentralWidget(centralWidget)
dockWidget = QDockWidget("DockWidget", mainWindow)
dockWidget.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)

mayaMainWindow = sip.wrapinstance(long(maya.OpenMayaUI.MQtUtil.mainWindow()),
                                  QObject)
channelBoxDockWidget = None

widget = cmds.attrColorSliderGrp("__MyWidget__")

dockWidget.setWidget([
    widget for widget in mayaMainWindow.findChildren(QWidget, "__MyWidget__")
][0])

mainWindow.addDockWidget(Qt.DockWidgetArea(Qt.LeftDockWidgetArea), dockWidget)
mainWindow.show()
Exemple #16
0
    def createUI(self, winName, dock):
        ##if Maya version is 2011 or above, create a doclable window,
        ##else create a floating window.
        if dock == True:
            if cmds.dockControl(winName + "_dock", q=True, exists=True):
                cmds.deleteUI(winName + "_dock")
        else:
            if cmds.window(winName, q=True, exists=True):
                cmds.deleteUI(winName)
        try:
            ###create window
            self.widgets["window"] = cmds.window(title="Render Wireframe", width=350, mnb=False, mxb=False)
            self.widgets["mainLayout"] = cmds.columnLayout("mainLayout", width=340, height=400, adj=True)
            self.widgets["scrolFldRprtr"] = cmds.cmdScrollFieldReporter("scrolFldRprtr", w=350, eac=False, fst="python")
            cmds.separator(h=5, style="none")
            cmds.separator(h=5, style="none")
            self.widgets["Amb_Occlus"] = cmds.text(
                label="Press CTRL button & hit the shelfbar button to render with AO"
            )
            self.widgets["rowColumnLayout"] = cmds.rowColumnLayout(
                nc=2, cw=[(1, 180), (2, 140)], columnOffset=[(1, "both", 5), (2, "both", 2)]
            )
            self.widgets["aoCheck"] = cmds.checkBox("aoCheck", label="Render with Ambient Occlusion", value=self.FLAG)

            self.widgets["mtrlSg_Attrib_Contrls"] = cmds.frameLayout(
                "mtrlSg_Attrib_Contrls",
                w=340,
                label="Change Color and Wire Width",
                borderStyle="in",
                parent=self.widgets["mainLayout"],
            )
            self.widgets["formLayout"] = cmds.formLayout("formLayout", numberOfDivisions=100)

            self.widgets["wireframeColor"] = cmds.attrColorSliderGrp(
                "wireframeColor", sb=True, at="lambert1.outColor", l="Object Color"
            )
            self.widgets["wireColorSlider"] = cmds.attrColorSliderGrp(
                "wireColorSlider",
                l="Wire Color",
                at="initialShadingGroup.miContourColor",
                ann="the Wires will only show up in Render",
                sb=False,
            )
            self.widgets["wirewidthControl"] = cmds.attrFieldSliderGrp(
                "wirewidthControl",
                at=self.shadEngine + ".miContourWidth",
                ann="keep value between .5 and .8",
                min=0.0,
                max=1.50,
                l="Wire Width",
            )
            self.widgets["antiAliasControl"] = cmds.floatSliderGrp(
                "antiAliasControl",
                label="Anti Alias",
                cc=partial(self.change),
                field=True,
                minValue=0.01,
                maxValue=1.0,
                ann="change anti-alias contrast",
                value=cmds.getAttr("miDefaultOptions.contrastR"),
            )

            cmds.setParent("..")

            self.widgets["rowColumnRenLayout"] = cmds.rowColumnLayout(
                nc=2, cw=[(1, 180), (2, 140)], columnOffset=[(1, "both", 5), (2, "both", 2)]
            )

            self.widgets["renderSelected"] = cmds.iconTextButton(
                "renderSelbtn",
                al="left",
                h=25,
                image="WireFrameOnShaded.png",
                ann="Wireframe selected object",
                style="iconAndTextHorizontal",
                label="Wireframe Selected",
                c=self.wfSeltd,
            )

            self.widgets["renderBtn"] = cmds.iconTextButton(
                "renderBtn",
                align="right",
                h=25,
                width=100,
                ann="Click here to take a test Render Preview\n For good quality use high resolution",
                c=cmds.RenderIntoNewWindow,
                style="iconAndTextHorizontal",
                image="menuIconRender.png",
                label="Render Preview",
            )
            self.widgets["mainLayout_btns"] = cmds.columnLayout("mainLayout_btns", width=340, height=400)
            self.widgets["showSGbtn"] = cmds.button(
                c=self.showSGroup,
                l="Show Material",
                ann="Opens Attribute Editor and displays material of the selected object",
            )

            self.widgets["formLayout"] = cmds.formLayout(
                "formLayout", edit=True, af=[("wireframeColor", "top", 0), ("wireframeColor", "left", -70)]
            )
            self.widgets["formLayout"] = cmds.formLayout(
                "formLayout", edit=True, af=[("wireColorSlider", "top", 20), ("wireColorSlider", "left", -70)]
            )
            self.widgets["formLayout"] = cmds.formLayout(
                "formLayout", edit=True, af=[("wirewidthControl", "top", 40), ("wirewidthControl", "left", -70)]
            )
            self.widgets["formLayout"] = cmds.formLayout(
                "formLayout", edit=True, af=[("antiAliasControl", "top", 60), ("antiAliasControl", "left", -70)]
            )

            cmds.scriptJob(parent=self.widgets["window"], e=["SelectionChanged", self.update])
        except RuntimeError, err:
            print err