def huddleExec(*args):
"""
from first selection, moves the next selected objects closer or farther from first selection based on slider values (as a percentage)
"""
factor = cmds.floatSliderGrp(widgets["slider"], q=True, v=True)
sel = cmds.ls(sl=True, type="transform")
center = sel[0]
objs = sel[1:]
centerPos = cmds.xform(center, q=True, ws=True, rp=True)
centerVec = om.MVector(centerPos[0], centerPos[1], centerPos[2])
for obj in objs:
objPos = cmds.xform(obj, ws=True, q=True, rp=True)
objVec = om.MVector(objPos[0], objPos[1], objPos[2])
diffVec = objVec-centerVec
scaledVec = diffVec * factor
newVec = scaledVec + centerVec
cmds.xform(obj, ws=True, t=(newVec[0], newVec[1], newVec[2]))
评论列表
文章目录