def softDeformerUI():
"""UI for the whole thing"""
# TODO - add some kind of help text to each tab
if cmds.window("softModWin", exists=True):
cmds.deleteUI("softModWin")
widgets["window"] = cmds.window("softModWin", t="zbw_softDeformer", w=300, h=130)
widgets["tabLO"] = cmds.tabLayout()
widgets["smCLO"] = cmds.columnLayout("SoftMod", w=300)
cmds.separator(h=10)
widgets["smdTFG"] = cmds.textFieldGrp(l="Deformer Name", w=300, cw=[(1, 100), (2, 190)],
cal=[(1, "left"), (2, "left")], tx="softMod_DEF")
widgets["checkCBG"] = cmds.checkBoxGrp(l="AutoCheck if there are deformers?", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
widgets["frontCBG"] = cmds.checkBoxGrp(l="Auto move to front of chain", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
widgets["scaleFFG"] = cmds.floatFieldGrp(l="Control Scale", v1=1, pre=2, cw=[(1, 150), (2, 50)],
cal=[(1, "left"), (2, "left")])
widgets["autoscaleCBG"] = cmds.checkBoxGrp(l="autoscale control?", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
widgets["bpFrameIFG"] = cmds.intFieldGrp(l="BindPose/origin Frame", cw=[(1, 150), (2, 50)],
cal=[(1, "left"), (2, "left")])
widgets["mainCtrlTFBG"] = cmds.textFieldButtonGrp(l="Parent Object:", cw=[(1, 75), (2, 175), (3, 75)], cal=[(1,
"left"), (2, "left"), (3, "left")], bl="<<<", bc=partial(set_parent_object, "mainCtrlTFBG"))
cmds.separator(h=10, style="single")
widgets["smbutton"] = cmds.button(l="Create Deformer", w=300, h=40, bgc=(.6, .8, .6),
c=partial(create_soft_mod_deformer, False))
cmds.separator(h=5)
widgets["wavebutton"] = cmds.button(l="Soft Wave (use falloff to scale wave)", w=300, h=30, bgc=(.8, .8, .6),
c=partial(create_soft_mod_deformer, True))
# third tab to do softselect to joint
cmds.setParent(widgets["tabLO"])
widgets["jointCLO"] = cmds.columnLayout("softJoint", w=300)
widgets["jntNameTFG"] = cmds.textFieldGrp(l="Joint Name", w=300, cw=[(1, 100), (2, 190)],
cal=[(1, "left"), (2, "left")], tx="softSelect_JNT")
widgets["jntCPOMCBG"] = cmds.checkBoxGrp(l="Joint to closest point on mesh?", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
widgets["jntRotCBG"] = cmds.checkBoxGrp(l="Joint orient to surface?", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
widgets["jntAutoCBG"] = cmds.checkBoxGrp(l="Create initial jnt if not bound?", v1=1, cw=[(1, 200)],
cal=[(1, "left"), (2, "left")])
cmds.separator(h=10)
widgets["jntbutton"] = cmds.button(l="Create Joint", w=300, h=40, bgc=(.6, .8, .6), c=soft_selection_to_joint)
cmds.window(widgets["window"], e=True, w=5, h=5, rtf=True)
cmds.showWindow(widgets["window"])
# --------------------------
# softMod deformer
# --------------------------
# TODO - Add 'wave' to name . . .
评论列表
文章目录