def setPlanes(*args):
"""sets clipping planes for cameras based on float fields in UI. Depending on radio button, it will either do all camera or only selected"""
all = cmds.radioButtonGrp("camRBG", q=True, sl=True)
far = cmds.floatFieldGrp("farFFG", q=True, v1=True)
near = cmds.floatFieldGrp("nearFFG", q=True, v1=True)
cams = []
if all==1:
cams.extend(cmds.ls(type="camera"))
elif all==2:
transf = cmds.ls(sl=True, type="transform")
for each in transf:
shape = cmds.listRelatives(each, s=True)
if shape:
if cmds.objectType(shape) == "camera":
cams.extend(shape)
#for each, set shape.farClipPlane 100000
if cams:
print cams
for cam in cams:
try:
cmds.setAttr("%s.farClipPlane"%cam, far)
cmds.setAttr("%s.nearClipPlane"%cam, near)
except:
cmds.warning("Couldn't change the farClipPlane of %s"%cam)
评论列表
文章目录