def add_blink(upperLidCurve, lowerLidCurve, upperLidCtrlCurve, lowerLidCtrlCurve): # duplicate upLid HiRes curve for upLidBlink curve # duplicate lowerLid HiRes curve for lowerLidBlink curve upperLidBlinkCurve = cmds.duplicate(upperLidCurve, name="%sBlink"%upperLidCurve)[0] lowerLidBlinkCurve = cmds.duplicate(lowerLidCurve, name="%sBlink"%lowerLidCurve)[0] # duplicate upLid loRes curve for blinkCurve blinkCurve = cmds.duplicate(upperLidCtrlCurve, name="blinkCurve")[0] # blendShape upLid loRes and lowerLid loRes into blinkCurve(0.7/0.3) bsNode = cmds.blendShape(upperLidCtrlCurve, lowerLidCtrlCurve, blinkCurve)[0] # wireDeformer blinkCurve to upLidBlink at blendShape(1.0/0) cmds.blendShape(bsNode, e=True, w=[(0,1), (1,0)]) upperWireNode, upperWire, upperWireBase = utils.wire_deformer(blinkCurve, upperLidBlinkCurve) # wireDeformer blinkCurve to lowerLidBlink at blendShape(0/0.1) cmds.blendShape(bsNode, e=True, w=[(0,0), (1,1)]) lowerWireNode, lowerWire, lowerWireBase = utils.wire_deformer(blinkCurve, lowerLidBlinkCurve) # default blendshape setting cmds.blendShape(bsNode, e=True, w=[(0,0.5), (1,0.5)]) # blendShape upLidBlink into upLid hiRes # blendShape lowerLidBlink into lowerLid hiRes cmds.blendShape(upperLidBlinkCurve, upperLidCurve) cmds.blendShape(lowerLidBlinkCurve, lowerLidCurve)
def lip_setup(upperLipCurve, lowerLipCurve, upperLocators, lowerLocators, lipUp): upperLipCtrlCurve = utils.rebuild_to_ctrlCurve(upperLipCurve, spans=5, name='upperLipRCtrlCurve') lowerLipCtrlCurve = utils.rebuild_to_ctrlCurve(lowerLipCurve, spans=5, name='lowerLipRCtrlCurve') upperWireNode, upperWire, upperWireBase = utils.wire_deformer(upperLipCtrlCurve, upperLipCurve) lowerWireNode, lowerWire, lowerWireBase = utils.wire_deformer(lowerLipCtrlCurve, lowerLipCurve) upperWireMaster = utils.create_wires_master([upperWire, upperWireBase], name='upperLipRWireMaster_DELETE') lowerWireMaster = utils.create_wires_master([lowerWire, lowerWireBase], name='lowerLipRWireMaster_DELETE') #upperLocators = utils.create_locators_on_cv(upperLipCurve) for loc in upperLocators : utils.revit_locator_to_curve(loc, upperLipCurve) cmds.tangentConstraint(upperLipCurve, loc, aimVector=[1,0,0], upVector=[0,1,0], worldUpType='object', worldUpObject=lipUp) cmds.select(clear=True) j = cmds.joint() g = cmds.group(j) pm.parentConstraint(loc, g, mo=False) #lowerLocators = utils.create_locators_on_cv(lowerLipCurve) for loc in lowerLocators : utils.revit_locator_to_curve(loc, lowerLipCurve) cmds.tangentConstraint(lowerLipCurve, loc, aimVector=[1,0,0], upVector=[0,1,0], worldUpType='object', worldUpObject=lipUp) cmds.select(clear=True) j = cmds.joint() g = cmds.group(j) pm.parentConstraint(loc, g, mo=False) return upperLipCurve, lowerLipCurve, upperLipCtrlCurve, lowerLipCtrlCurve
def lid_setup(upperLidCurve, lowerLidCurve, centerLocator, upLocator): upperLidCtrlCurve = utils.rebuild_to_cubicCurve(upperLidCurve, spans=4, name='upperLidRCtrlCurve') lowerLidCtrlCurve = utils.rebuild_to_cubicCurve(lowerLidCurve, spans=4, name='lowerLidRCtrlCurve') upperWireNode, upperWire, upperWireBase = utils.wire_deformer(upperLidCtrlCurve, upperLidCurve) lowerWireNode, lowerWire, lowerWireBase = utils.wire_deformer(lowerLidCtrlCurve, lowerLidCurve) upperWireMaster = utils.create_wires_master([upperWire, upperWireBase], name='upperLidRWireMaster_DELETE') lowerWireMaster = utils.create_wires_master([lowerWire, lowerWireBase], name='lowerLidRWireMaster_DELETE') upperAimLocators = utils.create_locators_on_cv(upperLidCurve) for loc in upperAimLocators : utils.revit_locator_to_curve(loc, upperLidCurve) utils.create_aimJointChain(upperAimLocators, centerLocator, upLocator) lowerAimLocators = utils.create_locators_on_cv(lowerLidCurve) for loc in lowerAimLocators : utils.revit_locator_to_curve(loc, lowerLidCurve) utils.create_aimJointChain(lowerAimLocators, centerLocator, upLocator) return upperLidCurve, lowerLidCurve, upperLidCtrlCurve, lowerLidCtrlCurve