@Alessandro_Melis Your eyeballs are also moving inwards when you scale, but I don’t know why. I can’t figure that one out! The eyeball joint does not move, so it doesn’t make sense.
For the mouth scaling, there are a few more steps to take. They all involve constraining some nodes to the head joint.
- There is a node “lips_C_rope”. Underneath that node, every single “upLipRope” and “upLipRopeUpv” needs to be scale constrained to the head joint.
- The 4 lips corner controls need to be parent and scale constrained to the head. Constrain their npo parent to the head joint.
lips_R_corner_npo
lips_C_upper_npo
lips_L_corner_npo
lips_C_lower_npo
- The lips_C_crvs group needs to be parent and scale constrained to the head, as previously mentioned.
Here is a Python script that will do that. Are you able to run Python scripts in the student version of Maya? I assume yes.
Open the script editor. Open a new tab for a Python script. Paste this code, and run it. You shouldn’t have to change anything, because I specified your head joint.
import pymel.core as pm
headJoint = pm.PyNode('neck_C0_head_jnt')
# Constrain ALL the lip rope nodes that are under "lips_C_rope" to the headJoint
if pm.objExists('lips_C_rope'):
for each in pm.PyNode('lips_C_rope').getChildren(type='transform'):
pm.scaleConstraint(headJoint, each, mo=True)
# Constrain the corner lip controls to the head control.
if pm.objExists('lips_R_corner_npo'):
lipNpos = [
'lips_R_corner_npo',
'lips_C_upper_npo',
'lips_L_corner_npo',
'lips_C_lower_npo',
]
for each in lipNpos:
pm.scaleConstraint(headJoint, pm.PyNode(each), mo=True)
# Constrain lips_C_crvs to the headJoint
pm.parentConstraint(headJoint, 'lips_C_crvs', mo = True)
pm.scaleConstraint(headJoint, 'lips_C_crvs', mo = True)
@Miquel Sometime in December, I’m going to look in the lips_rigger code and see if there needs to be an improvement or a bug filed. Maybe all this stuff should be constrained to one of these nodes, if it isn’t already. If you specify one of these nodes, maybe it already does this? I don’t know.