Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Easy DOF v.1
- #RS
- from pymel.core import *
- import random as r
- sl = selected()
- mo = 1
- for s in sl:
- rr = r.uniform(1,2)
- print "RR ", rr
- #camT = s.getTranslation()
- dCheck = ls(s+"_focus_distance")
- if dCheck:
- delete(dCheck)
- sCheck = ls(s+"_focus_distance_start")
- if sCheck:
- delete(sCheck)
- eCheck = ls(s+"_focus_distance_end")
- if eCheck:
- delete(eCheck)
- d = distanceDimension(sp = [rr,rr,0],ep = [rr,rr,rr])
- start = d.startPoint.listConnections()
- end = d.endPoint.listConnections()
- pc = pointConstraint(s,start)
- rbCheck = ls("redShiftBokeh")
- if not rbCheck:
- rb = shadingNode("RedshiftBokeh", au = 1, n=s+"_rsBokeh")
- rename(rb,s+"_rsBokeh")
- #connectAttr -f rsBokeh5.message cameraShape5.rsLensShader;
- connectAttr(rb+".message",s.getShape()+".rsLensShader",f=1)
- setAttr(rb+".dofDeriveFocusDistanceFromCamera",0)
- d.distance >> rb.dofFocusDistance
- #d.distance >> s.aiFocusDistance
- d.distance >> s.focusDistance
- rename(start, s+"_focus_distance_start")
- rename(end, s+"_focus_distance_end")
- rename(d.listRelatives(p=1), s+"_focus_distance")
- #setAttr(s.aiEnableDOF,1)
- mo += 1
- select(cl=1)
- select(rb,add=1)
- #setAttr(s.aiApertureSize, 0.5)
Advertisement
Add Comment
Please, Sign In to add comment