Пример #1
0
 def meshAlphaMapNew(self, attr):
     py_cmd = self.__meshAlphaCreateNewPyCmd(attr)
     pm.attrNavigationControlGrp(
         'asAlphaMap',
         label='Alpha Map',
         createNew='python("%s")' % py_cmd,
         at=attr)
Пример #2
0
 def meshAlphaMapUpdate(self, attr):
     py_cmd = self.__meshAlphaCreateNewPyCmd(attr)
     pm.attrNavigationControlGrp(
         'asAlphaMap',
         edit=True,
         createNew='python("%s")' % py_cmd,
         at=attr)
Пример #3
0
 def subdivDicingCameraReplace(self, attrName):
     pm.attrNavigationControlGrp('aiSubdivDicingCameraCtrl', edit=True,
                                 at=attrName )
Пример #4
0
 def subdivDicingCameraNew(self, attrName):
     pm.setUITemplate('attributeEditorTemplate', pst=True)
     pm.attrNavigationControlGrp('aiSubdivDicingCameraCtrl',
                                 at=attrName,
                                 label="Subdivision Dicing Camera" )
     pm.setUITemplate(ppt=True)
Пример #5
0
 def bumpReplace(self, attrName):
     pm.attrNavigationControlGrp('bumpControl', edit=True, at=attrName)
Пример #6
0
 def bumpNew(self, attrName):
     pm.setUITemplate('attributeEditorTemplate', pst=True)
     pm.attrNavigationControlGrp('bumpControl',
                                 label="Bump Mapping",
                                 at=attrName)
     pm.setUITemplate(ppt=True)
Пример #7
0
 def bumpReplace(self, attribute):
     if self.bumpCtrl is not None:
         pm.attrNavigationControlGrp(self.bumpCtrl,
                                     edit=True,
                                     attribute=attribute)
Пример #8
0
 def defaultValueReplace(self, nodeAttr):
     pm.attrNavigationControlGrp('aiAOVDefaultValue',
                                 edit=True,
                                 at=nodeAttr)
Пример #9
0
 def defaultValueReplace(self, nodeAttr):
     pm.attrNavigationControlGrp('aiAOVDefaultValue', edit=True, at=nodeAttr)
Пример #10
0
 def bumpNew(self, attrName):
     pm.setUITemplate('attributeEditorTemplate', pst=True)
     pm.attrNavigationControlGrp('bumpControl', label="Bump Mapping", at=attrName)
     pm.setUITemplate(ppt=True)
 def subdivDicingCameraReplace(self, attrName):
     pm.attrNavigationControlGrp('aiSubdivDicingCameraCtrl',
                                 edit=True,
                                 at=attrName)
 def subdivDicingCameraNew(self, attrName):
     pm.setUITemplate('attributeEditorTemplate', pst=True)
     pm.attrNavigationControlGrp('aiSubdivDicingCameraCtrl',
                                 at=attrName,
                                 label="Subdivision Dicing Camera")
     pm.setUITemplate(ppt=True)
Пример #13
0
 def defaultValueNew(self, nodeAttr):
     pm.attrNavigationControlGrp('aiAOVDefaultValue',
                                 label='Default Shader',
                                 at=nodeAttr)
 def bumpNew(self, attribute):
     pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
     attName = attribute
     self.bumpCtrl = pm.attrNavigationControlGrp(attribute=attribute, label="Bump Map")
     pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
Пример #15
0
 def bumpReplace(self, attrName):
     pm.attrNavigationControlGrp('bumpControl', edit=True, at=attrName)
 def bumpReplace(self, attribute):
     if self.bumpCtrl is not None:
         pm.attrNavigationControlGrp(self.bumpCtrl, edit=True, attribute=attribute)
Пример #17
0
 def bumpNew(self, attribute):
     pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
     attName = attribute
     self.bumpCtrl = pm.attrNavigationControlGrp(attribute=attribute,
                                                 label="Bump Map")
     pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
Пример #18
0
 def defaultValueNew(self, nodeAttr):
     pm.attrNavigationControlGrp('aiAOVDefaultValue',
                                 label='Default Shader',
                                 at=nodeAttr)
Пример #19
0
    def UI_refreshAttributes(self):
        """Display the attributes of the shader that has been selected in the list
        
        Keyword arguments:
        none
        
        Return:
        none
        """
        
        # Set the current shader we're working on
        self.selectedShader = self.sListWidgets['list'].getSelectItem()[0]
        
        # Remove previous shader attributes
        self.UI_removeAttributes()
   
        # Main layout for shader attributes
        self.sAttrWidgets['layout'] = pc.columnLayout(parent=self.globalWidgets['sAttrLayout'], cal="left")
        
        # Buttons for selecting shader in AA and assign material to current selection
        self.sAttrWidgets['selectedShaderLayout'] = pc.rowColumnLayout(numberOfColumns=2, columnWidth=[(1, 50), (2, 170)], parent=self.sAttrWidgets['layout'])
        pc.text(l="Selected: ", parent=self.sAttrWidgets['selectedShaderLayout'])
        pc.textField(enable=False, parent=self.sAttrWidgets['selectedShaderLayout'], text=self.selectedShader)

        self.sAttrWidgets['miscButtonsLayout'] = pc.rowColumnLayout(numberOfColumns=3, columnWidth=[(1, 50), (2, 60), (3, 120)], parent=self.sAttrWidgets['layout'])
        pc.button(label="Select", parent=self.sAttrWidgets['miscButtonsLayout'], c=self.Maya_selectShader)
        pc.button(label="Rename", parent=self.sAttrWidgets['miscButtonsLayout'], c=self.Maya_renameShader)
        pc.button(label="Assign to selection", parent=self.sAttrWidgets['miscButtonsLayout'], c=self.Maya_assignToSelection)
        self.sAttrWidgets['miscButtonsLayout2'] = pc.rowColumnLayout(nc=2, cw=[(1,150)], parent=self.sAttrWidgets['layout'])
        pc.button(label="Select objects w/ mat", parent=self.sAttrWidgets['miscButtonsLayout2'], c=self.Maya_selectObjWithMat)
    
        # DIFFUSE
        ###################
        # Label
        self.sAttrWidgets['diffuseLabelLayout'] = pc.rowColumnLayout(nc=2, columnAlign=(1, 'center'), columnAttach=(2, 'both', 0), columnWidth=[(1, 60), (2, 150)], parent=self.sAttrWidgets['layout'])
        pc.text(label='Diffuse ', fn='boldLabelFont', parent=self.sAttrWidgets['diffuseLabelLayout'])
        pc.separator(height=20, style='in', parent=self.sAttrWidgets['diffuseLabelLayout'])
        
        # Controls
        self.sAttrWidgets['diffuseControlsLayout'] = pc.rowColumnLayout(nc=2, cw=[(1, 200), (2, 30)], parent=self.sAttrWidgets['layout'])
        pc.attrColorSliderGrp(label="Color", w=200, cw=[(1, 50), (2, 30)], at='%s.color' % self.selectedShader, parent=self.sAttrWidgets['diffuseControlsLayout'])
        self.dynamicButtons['colorToggle'] = pc.iconTextButton(style='iconOnly', h=20, image1="disableForRendering.png", c=partial(self.Maya_toggleConnection, 'color'))
        pc.attrFieldSliderGrp(label="Weight", w=200, cw=[(1, 50), (2, 50)], min=0, max=1.0, at='%s.Kd' % self.selectedShader, pre=3, parent=self.sAttrWidgets['diffuseControlsLayout'])
        pc.text(l="")
        pc.attrFieldSliderGrp(label="Rough", w=200, cw=[(1, 50), (2, 50)], min=0, max=1.0, at='%s.diffuseRoughness' % self.selectedShader, pre=3, parent=self.sAttrWidgets['diffuseControlsLayout'])
        pc.text(l="")
        
        # SPECULAR
        ###################
        # Label
        self.sAttrWidgets['specularLabelLayout'] = pc.rowColumnLayout(numberOfColumns=2, columnAlign=(1, 'center'), columnAttach=(2, 'both', 0), columnWidth=[(1, 60), (2, 150)], parent=self.sAttrWidgets['layout'])
        pc.text(label='Specular ', fn='boldLabelFont', parent=self.sAttrWidgets['specularLabelLayout'])
        pc.separator(height=20, style='in')
        
        # Controls
        self.sAttrWidgets['specularControlsLayout'] = pc.rowColumnLayout(nc=2, cw=[(1, 200), (2, 30)], parent=self.sAttrWidgets['layout'])
        pc.attrColorSliderGrp(label="Color", w=200, cw=[(1, 50), (2, 30)], at='%s.KsColor' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        self.dynamicButtons['KsColorToggle'] = pc.iconTextButton(style='iconOnly', h=20, image1="disableForRendering.png", c=partial(self.Maya_toggleConnection, 'KsColor'))
        pc.attrFieldSliderGrp(label="Weight", w=200, cw=[(1, 50), (2, 50)], pre=3, at='%s.Ks' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        pc.text(l="")
        pc.attrEnumOptionMenuGrp(label="BRDF", w=200, cw=[(1, 50)], ei=[(0, 'stretched_phong'), (1, 'ward_duer'), (2, 'cook_torrance')], at='%s.specularBrdf' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        pc.text(l="")
        pc.attrFieldSliderGrp(label="Rough", w=200, cw=[(1, 50), (2, 50)], pre=4, at='%s.specularRoughness' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        self.dynamicButtons['specularRoughnessToggle'] = pc.iconTextButton(style='iconOnly', h=20, image1="disableForRendering.png", c=partial(self.Maya_toggleConnection, 'specularRoughness'))
        pc.attrEnumOptionMenuGrp(label="Fresnel", w=200, cw=[(1, 50)], ei=[(0, 'No'), (1, 'Yes')], at='%s.specularFresnel' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        pc.text(l="")
        pc.attrFieldSliderGrp(label="% at N", w=200, cw=[(1, 50), (2, 50)], pre=3, at='%s.Ksn' % self.selectedShader, parent=self.sAttrWidgets['specularControlsLayout'])
        self.dynamicButtons['reflectance'] = pc.iconTextButton(style='iconOnly', h=20, image1="calculator.png", c=self.Maya_calculateReflectance)
        # BUMP MAPPING
        ###################
        # Label
        self.sAttrWidgets['bumpLabelLayout'] = pc.rowColumnLayout(numberOfColumns=2, columnAlign=(1, 'center'), columnAttach=(2, 'both', 0), columnWidth=[(1, 60), (2, 150)], parent=self.sAttrWidgets['layout'])
        pc.text(label='Bump ', fn='boldLabelFont', parent=self.sAttrWidgets['bumpLabelLayout'])
        pc.separator(height=20, style='in')
        
        # Controls
        self.sAttrWidgets['bumpControlsLayout'] = pc.rowColumnLayout(nc=2, cw=[(1, 200), (2, 30)], columnAlign=[(1,'right')], parent=self.sAttrWidgets['layout'])
        pc.attrNavigationControlGrp(label="Map", cw=[(1, 50), (2, 120)], at='%s.normalCamera' % self.selectedShader, parent=self.sAttrWidgets['bumpControlsLayout'])
        self.dynamicButtons['normalCameraToggle'] = pc.iconTextButton(style='iconOnly', h=20, image1="disableForRendering.png", c=partial(self.Maya_toggleConnection, 'normalCamera'))
        pc.button(l='Select bump node', p=self.sAttrWidgets['bumpControlsLayout'], w=50, c=self.Maya_selectBumpNode)

        # Refresh connection state icons
        self.UI_refreshIcons()