def meshAlphaMapNew(self, attr): py_cmd = self.__meshAlphaCreateNewPyCmd(attr) pm.attrNavigationControlGrp( 'asAlphaMap', label='Alpha Map', createNew='python("%s")' % py_cmd, at=attr)
def meshAlphaMapUpdate(self, attr): py_cmd = self.__meshAlphaCreateNewPyCmd(attr) pm.attrNavigationControlGrp( 'asAlphaMap', edit=True, createNew='python("%s")' % py_cmd, at=attr)
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)
def bumpReplace(self, attrName): pm.attrNavigationControlGrp('bumpControl', edit=True, at=attrName)
def bumpNew(self, attrName): pm.setUITemplate('attributeEditorTemplate', pst=True) pm.attrNavigationControlGrp('bumpControl', label="Bump Mapping", at=attrName) pm.setUITemplate(ppt=True)
def bumpReplace(self, attribute): if self.bumpCtrl is not None: pm.attrNavigationControlGrp(self.bumpCtrl, edit=True, attribute=attribute)
def defaultValueReplace(self, nodeAttr): pm.attrNavigationControlGrp('aiAOVDefaultValue', edit=True, at=nodeAttr)
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)
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)
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()