cwisbg

camMatcher_v01

Dec 19th, 2012
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 25.82 KB | None | 0 0
  1. # Nudger v_Camera Refiner v_2
  2. # cwisbg
  3. #___Start of functions___
  4. #______________________________________________________________________________________________
  5. #___________________________________Cam Calculator_______________________________________
  6. #______________________________________________________________________________________________
  7.  
  8.    
  9. def getMatchLocations():#______________________________________________Get Match Locations
  10.     camMatchLocators = listRelatives("camMatchLocators",c=1)
  11.     keyLocations = []    
  12.     for i in camMatchLocators:
  13.         x = i.getTranslation("world")
  14.         keyLocations.append(x)
  15.        
  16.     return keyLocations,camMatchLocators  
  17.        
  18. def setupData():#______________________________________________Setup Data Goups
  19.     global camMatchLocatorsGrp
  20.     camMatchLocatorsGrp = []
  21.     camDataCheck = ls("camMatch_data")
  22.     if not camDataCheck:
  23.         camMatchData = group(n="camMatch_data", em=1, w=1)
  24.     else:
  25.         camMatchData = camDataCheck
  26.     keyObjsCheck = ls("camMatchLocators")
  27.     if keyObjsCheck:
  28.         camMatchLocatorsGrp = keyObjsCheck
  29.         keyObjFam = listRelatives(keyObjsCheck, c=1)
  30.         if len(keyObjFam) < 0:
  31.             print "Please create some location objects in camMatchLocators"
  32.     else:
  33.         camMatchLocatorsGrp = group(n="camMatchLocators", em=1, w=1)
  34.         camMatchLocatorStart = spaceLocator(p = (0,0,0), n = "camMatchLocator_0")
  35.         print "Please create some location objects in camMatchLocators"
  36.         parent(camMatchLocatorsGrp,camMatchData )
  37.         parent(camMatchLocatorStart,camMatchLocatorsGrp)  
  38.     crvGrpCheck = ls("camMatchCurves")
  39.     if crvGrpCheck:
  40.         delete(crvGrpCheck)
  41.     crvGrp = group(n="camMatchCurves", w=1,em=1)
  42.     parent(crvGrp, camMatchData)
  43.     crvClusterGrp = group(n="camMatchCurves_clusters", w=1,em=1)
  44.     setAttr(crvClusterGrp+".visibility", 0)
  45.     parent(crvClusterGrp, crvGrp)
  46.      
  47. def getMatchLocations():#______________________________________________Get Match Locations
  48.     global camMatchLocatorsGrp
  49.     camMatchLocators = listRelatives(camMatchLocatorsGrp ,c=1)    
  50.     keyLocations = []    
  51.     for i in camMatchLocators:
  52.         lctrClusterCheck = listRelatives(i, c=1, typ = "transform")
  53.         if lctrClusterCheck:
  54.             delete(lctrClusterCheck)
  55.         x = i.getTranslation("world")
  56.         keyLocations.append(x)
  57.     return keyLocations, camMatchLocators
  58.      
  59. def createAlighnmentCurves(camPos, keyLocations,camMatchLocators, camTrans):#___________________Allignment Crvs
  60.     x = 0
  61.     for location in keyLocations:  
  62.         c = curve(p = [location,camPos], d=1,  n = "crv_{0}_{1}".format(camTrans, x))
  63.         crvCluster = cluster(c.cv[1], n = "{0}_cluster".format(c))
  64.         setAttr(crvCluster[1]+".visibility",0)
  65.         parent(c, "camMatchCurves")
  66.         parent(crvCluster[1], camTrans)
  67.         crvClusterKey = cluster(c.cv[0], n = "{0}_cluster_key".format(c))[1]
  68.         setAttr(crvClusterKey+".visibility",0)  
  69.         parent(crvClusterKey, camMatchLocators[x])
  70.         x += 1  
  71.        
  72. def cleanPlnLocators(imgPlane):#______________________________________________Clean Plane Locators
  73.     cleaner = listRelatives(imgPlane, c=1)
  74.     if cleaner:
  75.         for i in cleaner:
  76.             if i[-10:] == "plnLocator":
  77.                 delete(str(i))
  78.          
  79. def getPoint(camMatchLocators, locator, imgPlane, camPos):#________________________Get Point
  80.     planeCheck = ls("TempPlane")
  81.     if planeCheck:
  82.         delete("TempPlane")
  83.     point = polyPlane(sx=1, sy=1, w=.01, h=.01, ax = [0,1,0], cuv=0, ch=0, n = "TempPlane")[0]
  84.     move(point, camPos, ws=1 )
  85.     aimConstraint(camMatchLocators, point,o= [0,0,0], w=1, aim=[0,1,0], u=[0,1,0], wut= "scene", n="TempAim")
  86.     delete("TempAim")
  87.     transferAttributes(imgPlane, point, pos=1, nml=0, sm=0)
  88.     delete(point,ch=1)
  89.     xform(point, cp=1)
  90.     point = getPiv(point)
  91.     delete("TempPlane")
  92.     return point              
  93.                
  94. def automateSetup():#__________________________________________________________Run Automate Setup
  95.     global camTrans, saveCamLocation, imgPlaneGeo
  96.     camSetUpCheck = 0  
  97.     #print "running Camera Match Setup for", camTrans
  98.     setupData()
  99.     keyLocations, camMatchLocators = getMatchLocations()
  100.     offsetr = 1
  101.     createAlighnmentCurves(saveCamLocation, keyLocations, camMatchLocators, camTrans)
  102.     cleanPlnLocators(imgPlaneGeo)
  103.    
  104.     grpClean = ls("{0}_plnLocators".format(camTrans))
  105.     if grpClean:
  106.         delete("{0}_plnLocators".format(camTrans))
  107.     grpLctr = group(n = "{0}_plnLocators".format(camTrans), em=1, w=1)
  108.     parent(grpLctr, imgPlaneGeo)
  109.        
  110.     z = 0
  111.     for location in keyLocations:  
  112.         point = getPoint(camMatchLocators[z],location, imgPlaneGeo, saveCamLocation)
  113.         lctr = spaceLocator(n = "{0}_plnLocator_{1}".format(camTrans,z))
  114.         move(lctr,point[0],point[1],point[2], ws=1)
  115.         parent(lctr, grpLctr)
  116.         scale(lctr, .1,.1,.1, r=1)# Temp
  117.         z += 1  
  118.     camSetUpCheck = 1
  119.  
  120. def runCalculator():#___________________________________________________________Run calculator
  121.     print "running Calculator..."
  122.     #startCalculator(camera)
  123.     #make tracker/kill file
  124.     print "was able to get it this close"      
  125. def stopCalculator():#___________________________________________________________Stop Calculator
  126.     pass
  127.     #delete tracker/kill file  
  128. #_____________________________________End Cam Calculator______________________________________________      
  129. #______________________________________________________________________________________________              
  130. #___end of functions________
  131. #______________________________________________________________________________________________
  132. #______________________________________________________________________________________________
  133. #______________________________________________________________________________________________
  134.              
  135. def makeImagePlane():#___________________________________________________________ Plane Image Plane version  
  136.     global camTrans, imgPlaneGrp, saveCamLocation, saveCamRotation
  137.     currentSceneScale = currentUnit(q=1, l=1)
  138.     tempSceneScale = currentUnit(l = "cm")
  139.     resW = getAttr("defaultResolution.width")
  140.     resH = getAttr("defaultResolution.height")
  141.     camAperatureH = camera(camTrans, hfa = 1, q = 1)
  142.     camAperatureV = camera(camTrans, vfa = 1, q = 1)
  143.     camAperatureH *= 25.4
  144.     camAperatureV *= 25.4
  145.     distanceMultiplierH = resH/camAperatureV
  146.     distanceMultiplierV = resW/camAperatureH
  147.     if distanceMultiplierH > distanceMultiplierV:
  148.         distanceMultiplier = distanceMultiplierH
  149.     else:
  150.         distanceMultiplier = distanceMultiplierV
  151.     focalLenght = camera(camTrans, fl=1, q=1)
  152.     planeOffset = distanceMultiplier * focalLenght
  153.    
  154.     oldPlaneCheck = ls('{0}_planeGrp'.format(camTrans))
  155.     if oldPlaneCheck:
  156.         oldPlaneScale = oldPlaneCheck[0].getScale()
  157.         #print "deleting old grouop"
  158.         delete(oldPlaneCheck)
  159.     else:
  160.         oldPlaneScale = [0.5, 0.5, 0.5]      
  161.     w = workspace(act=1, q=1)    
  162.     xx = 0  
  163.     s = camTrans
  164.     sPap = listRelatives(camTrans,p=1)
  165.     if sPap:
  166.         #print "parenting to world"    
  167.         parent(camTrans, w=1)
  168.     setAttr ("{0}.nearClipPlane".format(camTrans), .01)
  169.     imgPlane = polyPlane(sx = 1,sy = 1, n = "{0}_camPlane".format(camTrans),ch=0)
  170.     parentConstraint(camTrans, imgPlane , n= "tempConstraint")
  171.     delete("tempConstraint")
  172.     rotate(imgPlane, 90,0,0,os=1,r=1)
  173.     scale(imgPlane, resW, 1, resH, r=1)
  174.     move(imgPlane[0], 0, -planeOffset,0, r=1,os=1,wd=1)
  175.     makeIdentity( camTrans, a=1,t=1,r=1,s=1)
  176.     camLocation = camTrans.getTranslation(space = "world")
  177.     imgPlaneGrp = group(n='{0}_planeGrp'.format(camTrans), w=1, em=1)
  178.     xform(imgPlaneGrp,  piv = (camLocation[0],camLocation[1],camLocation[2]), ws=1)
  179.     parent(imgPlane[0], imgPlaneGrp)
  180.     parent(imgPlaneGrp, camTrans)
  181.     scale(imgPlaneGrp, 0.01,0.01,0.01, r=1)
  182.     makeIdentity( imgPlaneGrp, a=1,t=1,r=1,s=1)
  183.     scale(imgPlaneGrp, oldPlaneScale, r=1)
  184.  
  185.     nwMatCheck = ls('{0}_mat'.format(camTrans))
  186.     if nwMatCheck:
  187.         pass
  188.     else:
  189.         fp = fileDialog2(dir = w, ds=1, fm = 1 )[0]
  190.         fp = str(fp).replace("\\","/")
  191.         #print "file path is ", '{0}_textureFile.fileTextureName'.format(s),fp
  192.         nwMat = shadingNode('lambert',asShader=1,n='{0}_mat'.format(camTrans))
  193.         nwMatTexture = shadingNode('file',asShader=1,n='{0}_textureFile'.format(camTrans))
  194.         connectAttr('{0}_textureFile.outColor'.format(s), '{0}_mat.color'.format(camTrans))
  195.         nwMat.setAmbientColor(1)
  196.         if fp:
  197.             setAttr('{0}_textureFile.fileTextureName'.format(camTrans),fp)  
  198.     planeShader = sets( renderable=True, noSurfaceShader=True, empty=True,name="planeSurfaceShader" )
  199.     connectAttr('{0}.outColor'.format('{0}_mat'.format(s)), planeShader.surfaceShader)
  200.     sets(planeShader, e=True, forceElement = imgPlane[0])
  201.     if sPap:
  202.         parent(camTrans, sPap)
  203.     xx += 1
  204.     currentUnit(l = currentSceneScale)
  205.     imgPlaneTransSlider.setEnable(1)
  206.     imgPlaneDissSlider.setEnable(1)
  207.     imgPlaneTransSlider.setValue(0)
  208.     imgPlaneDissSlider.setValue(oldPlaneScale[0])
  209.  
  210.    
  211. def addCam():#__________________________________________ADD Camera___
  212.     global camList, saveFocalLength, saveCamLocation,camTrans,camShape, saveCamRotation, imgPlaneMat, imgPlaneGrp, imgPlaneShape,imgPlaneGeo,lctrPoint,camLocator
  213.     sl = selected()
  214.     if len(sl) == 0:
  215.         camList = "Please Add a Camera"
  216.         imgPlane.setEnable(0)
  217.         imgPlane.setCollapse(1)
  218.         nudgerLayout.setCollapse(1)
  219.         nudgerLayout.setEnable(0)
  220.         automateLayout.setEnable(0)
  221.         automateLayout.setCollapse(1)
  222.         #exporterLayout.setEnable(0)
  223.     else:
  224.         camTrans = sl[0]
  225.         slType = nodeType(camTrans)
  226.         if slType == "camera":
  227.             camShape = sl[0]
  228.             camTrans = listRelatives(sl, parent=1)[0]
  229.             camList = camTrans
  230.             saveCamLocation = camTrans.getTranslation()
  231.             saveCamRotation = camTrans.getRotation()
  232.         else:
  233.             saveCamRotation = camTrans.getRotation()
  234.             saveCamLocation = camTrans.getTranslation()
  235.             camTrans = sl[0]
  236.             camShape = camTrans.getShape()
  237.             camList = camTrans
  238.         saveFocalLength = camTrans.getFocalLength()
  239.         imgPlane.setEnable(1)
  240.         nudgerLayout.setEnable(1)
  241.         #automateLayout.setEnable(1)    
  242.         #exporterLayout.setEnable(1)
  243.         #imgPlaneCheck = ls('{0}_planeGrp'.format(camTrans))
  244.         planeCheck = 0
  245.         camChildren = listRelatives(camTrans,c=1)
  246.         for c in camChildren:
  247.             if c[-8:]== 'planeGrp':
  248.                 imgPlaneGrp = c
  249.                 imgPlaneGrpScale = c.getScale()
  250.                 imgPlaneShape = listRelatives(imgPlaneGrp, c=1)[0].getShape()
  251.                 imgPlaneSG = listConnections(imgPlaneShape,t = "shadingEngine")
  252.                 imgPlaneMat = listConnections(imgPlaneSG,t = "lambert")[0]
  253.                 imgPlaneGeo = listRelatives(imgPlaneShape,p=1)
  254.                 planeCheck = 1
  255.                 imgPlaneTransSlider.setEnable(1)
  256.                 imgPlaneDissSlider.setEnable(1)
  257.                 #imgPlane.setCollapse(1)
  258.                 nudgerLayout.setCollapse(0)                      
  259.         if not planeCheck:
  260.             imgPlaneGrpScale = [0.5, 0.5, 0.5]  
  261.             imgPlane.setCollapse(0)
  262.             imgPlaneTransSlider.setEnable(0)
  263.             imgPlaneDissSlider.setEnable(0)
  264.         imgPlaneTransSlider.setValue(0)
  265.         imgPlaneDissSlider.setValue(imgPlaneGrpScale[0])
  266.     textField(workingCam, tx = str(camList), e=1)
  267.     #camLocator = []
  268. def scriptPathCheck():#___________________________________________________________Script path___
  269.     scriptPath = 'Z:/Library_Scripts/Python-Maya/cameraMatching/'
  270.     syspaths = sys.path
  271.     if scriptPath in syspaths:
  272.         pass
  273.     else:
  274.         sys.path.append(scriptPath)
  275.        
  276. def nudger():#___________________________________________________________Nudger___
  277.     global camList, saveCamLocation, saveCamRotation, camTrans, lctrPoint, camLocator
  278.     s = camTrans #camList
  279.     amt = nudgeAmnt.getText()
  280.     amt = float(amt)
  281.     nudgerX = nudgeSliderX.getValue()
  282.     nudgerY = nudgeSliderY.getValue()
  283.     nudgerZ = nudgeSliderZ.getValue()
  284.     nudgerX *= amt
  285.     nudgerY *= amt
  286.     nudgerZ *= amt
  287.     rotMultiplier = 10
  288.     if not s:
  289.         print "Please Add Camera"
  290.     else:
  291.         savePivot = s.getTranslation()      
  292.         if constrainFromPoint.getValue():
  293.             camParent = listRelatives(s, p=1)# get cam parent
  294.             constraintPointLctrT = lctrPoint[0].getTranslation()
  295.             move(s+".rotatePivot", constraintPointLctrT)
  296.             move(s+".scalePivot", constraintPointLctrT)
  297.             if rbox.getValue():
  298.                 rotate(s,saveCamRotation)
  299.                 rotate(s,nudgerX*rotMultiplier,nudgerY*rotMultiplier,nudgerZ,r=1*rotMultiplier, os=1)
  300.             if wrbox.getValue():
  301.                 rotate(s,saveCamRotation)
  302.                 rotate(s,nudgerX*rotMultiplier,nudgerY*rotMultiplier,nudgerZ*rotMultiplier,r=1, ws=1)
  303.             if dpbox.getValue():
  304.                 scale(s,nudgerZ+1,nudgerZ+1,nudgerZ+1)  
  305.             if tbox.getValue():
  306.                 tmpGrp = group(em=1)
  307.                 move(tmpGrp,savePivot)
  308.                 ac = aimConstraint(lctrPoint, tmpGrp)
  309.                 parent(s, tmpGrp)
  310.                 move(tmpGrp,saveCamLocation)
  311.                 move(tmpGrp,nudgerX,nudgerY,nudgerZ,r=1)
  312.                 if camParent:
  313.                     parent(s, camParent)
  314.                 else:
  315.                     parent(s, w=1)
  316.                 delete(tmpGrp)
  317.             move(s+".rotatePivot", savePivot)
  318.             move(s+".scalePivot", savePivot)
  319.             if camLocator:
  320.                 #print "moving",camLocator[0], savePivot
  321.                 move(camLocator[0], savePivot)
  322.                        
  323.         else:
  324.             if tbox.getValue():
  325.                 move(s,saveCamLocation)
  326.                 move(s,nudgerX,nudgerY,nudgerZ,r=1)
  327.             if rbox.getValue():
  328.                 rotate(s,saveCamRotation)
  329.                 rotate(s,nudgerX *rotMultiplier,nudgerY*rotMultiplier,nudgerZ*rotMultiplier,r=1, os=1)
  330.             if wrbox.getValue():
  331.                 rotate(s,saveCamRotation)
  332.                 rotate(s,nudgerX*rotMultiplier,nudgerY*rotMultiplier,nudgerZ*rotMultiplier,r=1, ws=1)        
  333.             if dpbox.getValue():
  334.                 move(s,saveCamLocation)
  335.                 move(s,nudgerX,nudgerY,nudgerZ,r=1,os=1)
  336.         #saveCamRotation = s.getRotation()
  337.         #saveCamLocation = s.getTranslation()
  338.         refresh(cw=1)
  339.        
  340.        
  341. def zoomAjst():#___________________________________________________________Zoom ajust
  342.     global camList
  343.     cam = camList
  344.     zoomAmnt = zoomSlider.getValue()
  345.     zoom = cam.setZoom(zoomAmnt)
  346.     zX = zoomXSlider.getValue()
  347.     panX = cam.setHorizontalPan(zX)
  348.     zY = zoomYSlider.getValue()
  349.     panY = cam.setVerticalPan(zY)
  350. def reseter(*args):#___________________________________________________________Reseter
  351.     global camTrans, camLocator  
  352.     cam = camTrans
  353.  
  354.     zoomEnbl.setValue(0)
  355.     zoomSlider.setValue(1)
  356.     zoomXSlider.setValue(0)
  357.     zoomYSlider.setValue(0)
  358.     setAttr(cam+".horizontalPan", 0)
  359.     setAttr(cam+".verticalPan", 0)
  360.     setAttr(cam+".panZoomEnabled", 0)
  361.     setAttr(cam+".zoom", 1)  
  362.     if camLocator:
  363.         print "moving",camLocator[0], savePivot
  364.         move(camLocator[0], savePivot)  
  365.          
  366. def enableZoom():#___________________________________________________________Enable Zoom
  367.     global camList
  368.     if zoomEnbl.getValue():
  369.         setAttr(camList+".panZoomEnabled", 1)
  370.     else:
  371.         zoomEnbl.setValue(0)
  372.         setAttr(camList+".panZoomEnabled", 0)
  373.        
  374. def setCamTxt():#___________________________________________________________Set Cam Text
  375.     global camList          
  376.     textField(workingCam, tx = str(camList), e=1)
  377.     saveFocalLength = camList.getFocalLength()
  378.  
  379. def dollyZoomer():#___________________________________________________________Dolly Zoom
  380.     global camTrans,saveFocalLength,camShape,saveCamLocation
  381.     zAmnt = dzAmnt.getText()
  382.     zAmnt = float(zAmnt)
  383.     #flzAmnt = fzAmnt.getText()
  384.     #flzAmnt = float(flzAmnt)
  385.     moveAmnt = dollyZoomSlider.getValue()
  386.     moveAmnt *= zAmnt
  387.     camFOV = camTrans.getHorizontalFieldOfView()
  388.     d = ls("fov_distance")[0]
  389.     distance = d.getAttr("distance")
  390.     width = distance*2*math.tan(math.pi*(camFOV/360))
  391.     diss = width/(2.0*math.tan(camFOV/360))
  392.     startFL = camShape.getFocalLength()
  393.     offset = diss - startFL
  394.     move(camTrans,saveCamLocation)
  395.     move(camTrans,0,0,moveAmnt,r=1, os=1)
  396.     d = ls("fov_distance")[0]
  397.     distance = d.getAttr("distance") # Get Distance
  398.     fov = (360 * math.atan (width/(2.0*distance)))/math.pi
  399.     camTrans.setHorizontalFieldOfView(fov)        
  400.     #select(camTrans)  
  401.     #makeImagePlane()
  402.     refresh(cw=1)
  403.    
  404.    
  405. def dollyZoomReseter():#___________________________________________________________Dolly Zoom Reseter
  406.     global saveCamLocation, saveFocalLength
  407.     saveFocalLength = camTrans.getFocalLength()
  408.     saveCamLocation = camTrans.getTranslation()
  409.     dollyZoomSlider.setValue(0)
  410.     makeImagePlane()
  411.    
  412. def resetNudger():#___________________________________________________________Reset Nudger
  413.     global camList, camTrans, saveCamLocation, saveCamRotation, camLocator
  414.     makeIdentity( camTrans, a=1)
  415.     nudgeSliderX.setValue(0)
  416.     nudgeSliderY.setValue(0)
  417.     nudgeSliderZ.setValue(0)
  418.     saveCamLocation = camTrans.getTranslation()
  419.     saveCamRotation = camTrans.getRotation()
  420.     scale(camTrans,1,1,1)
  421.     savePivot = camTrans.getTranslation()
  422.     move(camTrans+".rotatePivot", savePivot)
  423.     move(camTrans+".scalePivot", savePivot)
  424.    
  425.    
  426.    
  427.    
  428. def setPlaneTransperancy():#___________________________________________________________Set Plane Transperancy
  429.     global camTrans, imgPlaneMat
  430.     transAmnt = imgPlaneTransSlider.getValue()
  431.     imgPlaneMat.setTransparency(transAmnt)
  432.  
  433. def setPlaneDistance():#___________________________________________________________Set Plane Distance
  434.     global imgPlaneGrp
  435.     dissAmnt = imgPlaneDissSlider.getValue()
  436.     if dissAmnt <= .001:
  437.         pass
  438.     else:
  439.         scale(imgPlaneGrp, dissAmnt,dissAmnt,dissAmnt, ws=1)
  440.      
  441. def exporter():#___________________________________________________________Exporter
  442.     w = workspace(act=1, q=1)
  443.     fp = fileDialog2(dir = w, ds=1, fm = 3 )[0].replace("\\","/")    
  444.     #fp = "E:/!!!_lampsonCrane/Assets/camMatches_test"
  445.     #fp += "/"
  446.     sl = selected()
  447.     if camTrans:
  448.         sl = [camTrans]
  449.     else:
  450.         if len(sl) > 1:
  451.             print "noting to export"
  452.     print sl          
  453.     for s in sl:
  454.         sT = s.getTranslation()
  455.         sR = s.getRotation()
  456.         exportLctr = spaceLocator(p = (0,0,0), n = "{0}_lctr".format(s))
  457.         rotate(exportLctr, sR)
  458.         move(exportLctr, sT)
  459.         rotate(exportLctr, 0,180,0,r=1,os=1)
  460.         camChildren = listRelatives(s,c=1)
  461.         for c in camChildren:
  462.             print c
  463.             if c[-8:]== 'planeGrp':
  464.                 parent(c, exportLctr)
  465.         mel.eval('FBXExportFileVersion "FBX201300"')
  466.         mel.eval('FBXExportConvertUnitString "cm"')
  467.         mel.eval('FBXExportInputConnections -v 0')
  468.         mel.eval('FBXExport -f "{0}/{1}.fbx" -s'.format(fp, exportLctr))
  469.         print "exporting to:", fp, exportLctr
  470.         parent(c, s)
  471.         delete(exportLctr)  
  472.  
  473. def tester():#___________________________________________________________Tester
  474.     global camList,imgPlaneShape
  475.     imgPlaneGeo = listRelatives(imgPlaneShape,p=1)
  476.    
  477. def constrainToPointLctr():#___________________________________________________________Constrain to Pont creator
  478.     global lctrPoint, saveCamLocation, camTrans, camLocator
  479.     dollyZoom.setEnable(1)
  480.     saveCamLocation = camTrans.getTranslation()
  481.     constraintPointCheck = ls("constrainPoint_locator")
  482.     if constraintPointCheck:
  483.         lctrPoint = constraintPointCheck
  484.         constraintPointLctrT = constraintPointCheck
  485.     else:
  486.         lctrPoint = [spaceLocator(p = (0,0,0), n = "constrainPoint_locator")]
  487.     disCheck = ls("fov_camPoint")
  488.     if not disCheck:
  489.         camLocator = [spaceLocator(p = [0,0,0], n = "fov_camPoint")]
  490.         pointConstraint(camTrans, camLocator, mo=0, n = "fov_camPoint_constraint", w=1)
  491.         camLocator[0].visibility.set(0)
  492.     else:
  493.         camLocator = disCheck
  494.        
  495.     fovAimLocation = lctrPoint[0].getTranslation()
  496.     disChecker = ls("fov_distance")
  497.     if not disChecker:
  498.         camFovDiss = distanceDimension(sp = fovAimLocation, ep = saveCamLocation)
  499.         distanceRename = listRelatives(camFovDiss, p=1)
  500.         rename(distanceRename, "fov_distance")
  501.     resetNudger()
  502.  
  503. # Start Imports
  504. import sys  
  505. from pymel.core import *
  506. import math      
  507. scriptPathCheck()# add path for camMatch scripts
  508. #import camMatchSetup_v01 as cs
  509. #reload( cs )
  510. # End Imports
  511. versionTracker = 1
  512.  
  513. #___Get camera If script is started with cam selcted___
  514. global camLis,saveFocalLength, saveCamLocation, camTrans,camShape
  515. camShape = []
  516. camTrans = []
  517. saveFocalLength = []
  518. camList = "Please Add a Camera"    
  519.  
  520. #__________________UI section________________________
  521. win = window(title="Camera Matcher_{0}".format(versionTracker),rtf=1)
  522. mainLayout = rowColumnLayout(nc=1,bgc = [.3,.3,.3])
  523.  
  524. #___Working Camera___
  525. text(l = "Working Cam", p= mainLayout)# title
  526. workingCamLayout = rowColumnLayout( numberOfRows=1 )
  527. workingCam = textField(tx = camList, w=150,h = 20, p= workingCamLayout)
  528. addCam = button(l= "+ Cam", command = Callback(addCam),p = workingCamLayout)
  529.  
  530. #___Image Plane___
  531. imgPlane = frameLayout(bgc = [.5,.2,.2], en = 0, label='Image Plane', cll =1, cl=1,  borderStyle='in',p= mainLayout  )
  532. setupCamBtn = button(l="Make Image Plane",command=Callback(makeImagePlane), parent = imgPlane)
  533. text(l="Plane Transperancy", p = imgPlane)
  534. imgPlaneTransSlider = floatSlider(en = 0, dc=Callback(setPlaneTransperancy),min = 0, max = 1, p= imgPlane)
  535. text(l="Plane Distance", p = imgPlane)
  536. imgPlaneDissSlider = floatSlider(en = 0, dc=Callback(setPlaneDistance),min = .0001, max = 1, p= imgPlane)
  537. imgPlaneDissSlider.setValue(.5)
  538.  
  539. #___Nudger______
  540. nudgerLayout = frameLayout(bgc = [.2,.3,.5], en = 0,label='Nudger', cll =1, cl=1,  borderStyle='in',p= mainLayout  )
  541. tbox = checkBox(l = "Translate", p = nudgerLayout, cc = Callback(resetNudger))
  542. rbox = checkBox(l = "Rotate" , v=1, p = nudgerLayout, cc = Callback(resetNudger))
  543. wrbox = checkBox(l = "World Rotate", p = nudgerLayout, cc = Callback(resetNudger))
  544. dpbox = checkBox(l = "Dolly/Pan" , p = nudgerLayout, cc = Callback(resetNudger))
  545. constrainFromPoint = checkBox(l = "Constrain from Point" , p = nudgerLayout,cc = Callback(constrainToPointLctr))
  546. text(l="Nudge Amnt", p = nudgerLayout)
  547. nudgeAmnt = textField(w=70,tx = ".1", p = nudgerLayout )
  548. text(l="X", p = nudgerLayout)
  549. nudgeSliderX = floatSlider(bgc = [0.4,0.08,0.08], dc=Callback(nudger),min = -1, max = 1, p= nudgerLayout)
  550. text(l="Y", p = nudgerLayout)
  551. nudgeSliderY = floatSlider(bgc = [.1,.6,0],dc=Callback(nudger),min = -1, max = 1, p= nudgerLayout)
  552. text(l="Z", p = nudgerLayout)
  553. nudgeSliderZ = floatSlider(bgc = [0,0,1],dc=Callback(nudger),min = -1, max = 1, p= nudgerLayout)
  554. resetNudgerBtn = button(l = "Reset Nudger",command=Callback(resetNudger), parent = nudgerLayout)
  555.  
  556. #__Dolly Zoom___
  557. dollyZoom = frameLayout(en=0, label='Dolly Zoom', cll =1, cl=1,  borderStyle='in',p= nudgerLayout  )
  558. text(l="Dolly/Zoom Amnt", p = dollyZoom)
  559. dzAmnt = textField(w=70,tx = "1", p = dollyZoom )
  560. #text(l="Focal Amnt", p = dollyZoom)
  561. #fzAmnt = textField(w=70,tx = "5", p = dollyZoom )
  562. dollyZoomSlider = floatSlider(dc=Callback(dollyZoomer),min = -1, max = 1, p= dollyZoom)
  563. resetButton = button(l = "Reset Zoom",command=Callback(dollyZoomReseter), parent = dollyZoom)
  564.  
  565. #___2d Pan/Zoom___
  566. zoomLayout = frameLayout( label='2d pan/Zoom', cll =1, cl=1,  borderStyle='in',p= nudgerLayout  )
  567. zoomEnbl = checkBox(l = "Enable Scale",onc=Callback(enableZoom),ofc=Callback(enableZoom), p = zoomLayout)
  568. text(l="Scale Amount", p=zoomLayout)
  569. zoomSlider = floatSlider(dc=Callback(zoomAjst),min = 0.01, max = 1, p= zoomLayout)
  570. zoomSlider.setValue(1)
  571. text(l="Pan X", p= zoomLayout)
  572. zoomXSlider = floatSlider(bgc = [0.4,0.08,0.08],dc=Callback(zoomAjst),min = -1, max = 1, p= zoomLayout)
  573. zoomXSlider.setValue(0)
  574. text(l="Pan Y", p= zoomLayout)
  575. zoomYSlider = floatSlider(bgc = [0,1,0],dc=Callback(zoomAjst),min = -1, max = 1, p= zoomLayout)
  576. zoomYSlider.setValue(0)
  577. resetButton = button(l = "Reset Zoom",command=Callback(reseter), parent = zoomLayout)
  578.  
  579. #___ Export To Unity ___
  580. exporterLayout = frameLayout(bgc = [.5,.4,.2], en = 1, label='Export To Unity', cll =1, cl=1,  borderStyle='in',p= mainLayout  )
  581. text(l="Export selected or", p = exporterLayout)
  582. text(l="Working Cam", p = exporterLayout)
  583. exportBtn = button(l="export",command=Callback(exporter), parent = exporterLayout)
  584.  
  585. #_Automate section________________________________________________________________________
  586. automateLayout = frameLayout(bgc = [.2,.5,.2], en = 0, label='Automate', cll = 1, cl=1,  borderStyle='in',p= mainLayout  )
  587. setupCamBtn = button(l="1. Setup Cam",command=Callback(automateSetup), parent = automateLayout)
  588. text(l = "2. Sensitivity")
  589. sensitivityAmnt = textField(w=70,tx = ".1", p = automateLayout )
  590. text(l = "3. Threshold")
  591. sensitivityAmnt = textField(w=70,tx = ".1", p = automateLayout )
  592. runAutomate = button(l="4. Run Automator", command=Callback(runCalculator), parent = automateLayout)
  593. killAutomate = button(l="4. Stop Automator", command=Callback(stopCalculator), parent = automateLayout)
  594.  
  595. #testButton = button(l = "tester", command=Callback(tester),p= mainLayout)
  596.  
  597. win.show()
  598.  
  599. #select("camera_matcher_01")
Advertisement
Add Comment
Please, Sign In to add comment