Advertisement
Guest User

Untitled

a guest
Feb 15th, 2019
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. import mtoa.renderToTexture as rt
  2. import maya.cmds as cmds
  3. import maya.mel as mel
  4.  
  5. global delList
  6. delList = []
  7. mySel = cmds.ls(selection=True)
  8. hideList = cmds.ls(selection=True)
  9. mel.eval('ToggleVisibilityAndKeepSelection;')
  10. cmds.duplicate(renameChildren=1, rr=1, name='renderToUV')
  11. newItems = cmds.ls(selection=True)
  12. for item in newItems:
  13. delList.insert(0, item)
  14. cmds.polyUnite(cmds.ls(selection=True), ch=1, mergeUVSets=1, name='renderToUV')
  15. cmds.rename(cmds.ls(selection=True), "renderToUVmerge")
  16. global parNam
  17. parNam = cmds.listRelatives(mySel[0], p=True)
  18. outNam = str(parNam[0])+"OCC_"
  19. cmds.select("renderToUVmerge")
  20. cmds.rename(cmds.ls(selection=True), outNam)
  21. delList.insert(0,outNam)
  22. mel.eval('DeleteHistory;')
  23.  
  24. result = cmds.promptDialog(title='Render to UVs',
  25. message='Enter Resolution:',
  26. button=['OK', 'Cancel'],
  27. defaultButton='OK',
  28. cancelButton='Cancel',
  29. dismissString='Cancel')
  30.  
  31. def bakeUVTexture (userIn2,mySel):
  32. mySel2 = cmds.ls(selection=True)
  33.  
  34. #Find material name and texture node name
  35. cmds.hyperShade(mySel2, smn=1)
  36. matname = cmds.ls(selection=True)
  37. mel.eval('select -noExpand `listHistory '+str(matname[0])+'`;')
  38. texFileName = cmds.ls(selection=True)
  39.  
  40. #Assign Surface Shader to object
  41.  
  42. cmds.shadingNode('aiAmbientOcclusion', asShader=1, n='surfaceMat')
  43. cmds.select(outNam)
  44. cmds.hyperShade(assign='surfaceMat')
  45. delList.insert(0,"surfaceMat")
  46. delList.insert(0,"surfaceMatSG")
  47.  
  48. #Bake texture map out and move file to TMP folder
  49. cmds.select(outNam)
  50. cmds.arnoldRenderToTexture(folder='C:/TMP/', resolution=int(userIn2))
  51. print(userIn2)
  52.  
  53.  
  54. if result == 'OK':
  55. userIn = cmds.promptDialog(query=True, text=True)
  56. bakeUVTexture(userIn,mySel)
  57.  
  58. for i in delList:
  59. if i == "surfaceMatSG":
  60. mel.eval('select -r -ne surfaceMatSG;')
  61. cmds.delete()
  62. else:
  63. cmds.select(i, r=1)
  64. cmds.delete()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement