Guest User

Untitled

a guest
Feb 20th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. import maya.cmds as cmds
  2.  
  3. mtlMayaList = cmds.ls(sl=1)
  4. mayaShaders =["phong", "blinn", "lambert"]
  5.  
  6. for mtlMaya in mtlMayaList:
  7. if (cmds.objectType(mtlMaya) in mayaShaders) and (mtlMaya not in ["lambert1","shaderGlow1", "particleCloud1"]):
  8. inputFile = cmds.listConnections(mtlMaya + ".color", d=1)[0]
  9. pathFile = cmds.getAttr(inputFile + ".fileTextureName")
  10. texDiffuse = pathFile.split("/")[-1].split(".")[0]
  11. mtl = texDiffuse + "_Mtl"
  12. remapSpec = "remapSpec_" + texDiffuse
  13. remapGloss = "remapGloss_" + texDiffuse
  14. remapMetal01 = "remapMetal01_" + texDiffuse
  15. remapMetal02 = "remapMetal02_" + texDiffuse
  16. remapList = [remapSpec, remapGloss, remapMetal01]
  17. if cmds.objExists(mtl)==False:
  18. cmds.shadingNode("RedshiftMaterial",n=mtl,asShader=1)
  19. for remap in remapList:
  20. cmds.shadingNode("remapHsv",n=remap,asUtility=1)
  21. cmds.connectAttr(inputFile + ".outColor", remap + ".color")
  22. cmds.shadingNode("remapHsv",n=remapMetal02,asUtility=1)
  23. cmds.connectAttr(remapMetal01 + ".outColor.outColorR", remapMetal02 + ".color.colorR")
  24. cmds.connectAttr(remapMetal01 + ".outColor.outColorR", remapMetal02 + ".color.colorG")
  25. cmds.connectAttr(remapMetal01 + ".outColor.outColorR", remapMetal02 + ".color.colorB")
  26. cmds.connectAttr(remapSpec + ".outColor", mtl + ".refl_color")
  27. cmds.connectAttr(remapGloss + ".outColor.outColorR", mtl + ".refl_roughness")
  28. cmds.connectAttr(remapMetal02 + ".outColor.outColorR", mtl + ".refl_metalness")
  29. cmds.connectAttr(inputFile + ".outColor", mtl + ".diffuse_color")
  30. cmds.setAttr(mtl + ".refl_weight", 0)
  31. cmds.setAttr(mtl + ".refl_samples", 128)
  32. cmds.setAttr(mtl + ".refl_ior", 1.4)
  33. else:
  34. print mtl + " already exists. Reusing it."
  35. cmds.select(mtlMaya)
  36. cmds.hyperShade(mtlMaya, objects="")
  37. cmds.hyperShade(assign=mtl)
  38. cmds.delete(mtlMaya)
  39. else:
  40. print "Script is not set up for " + mtlMaya + "'s shader-type. Skipping."
  41. cmds.select(cl=1)
Advertisement
Add Comment
Please, Sign In to add comment