Maya 2020 fundamentals - modelling the real world
Get halfway through a model and find it's an unworkable mess? Can't add edge loops where you need them? Can't subdivide a mesh properly? If any of this sounds familiar check this course out.
# 1 07-02-2017 , 08:36 AM
Registered User
Join Date: Jun 2012
Posts: 1

Simple Expression please help!

Greetings,

I'm trying to write a simple mel expression for my character rig, but each time i hit Create in the expression editor it says i have a syntax error in the last line (line 19.1).

Would anyone please be able to look at my simple expression and help me find what's wrong with it?

Thanks!


//check if there is rotation in Z
if(R_FK_Shoulder_CTRL.rotateZ != 0) {
// if there is rotation in Z, check if there is rotation in X
if(R_FK_Shoulder_CTRL.rotateX !=0) {
//if there is rotation in X after Z, then ik handle roll = rotateX / -2
AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateX /-2}
// if there is no Rotation in X after Z, then Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0}
} // if there was no rotation in Z in the first place, check if there is rotation in Y
else { if(R_FK_Shoulder_CTRL.rotateY != 0) {
// if there is Rotation in Y, check if there is Rotation in Z after Y
if(R_FK_Shoulder_CTRL.rotateZ != 0) ;
// if there is Rotation in Z after Y, Roll = rotateZ / -2
AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateZ /-2;
// if there is no Rotation in Z after Y, Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0} };
// if there was no Rotation in Y in the first place, Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0};
}


Last edited by takecake; 08-02-2017 at 06:36 AM.
# 2 11-02-2017 , 03:20 PM
NextDesign's Avatar
Technical Director
Join Date: Feb 2004
Posts: 2,988
Space it out, and it becomes more apparent. There are multiple issues with the nesting of your conditions, as well as semicolons.

Code:
//check if there is rotation in Z
if(R_FK_Shoulder_CTRL.rotateZ != 0)
{
	// if there is rotation in Z, check if there is rotation in X
	if(R_FK_Shoulder_CTRL.rotateX !=0)
	{
		//if there is rotation in X after Z, then ik handle roll = rotateX / -2
		AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateX /-2
	}
	// if there is no Rotation in X after Z, then Roll = 0
	else
	{
		AO_R_BendArm_ikHandle01.Roll = 0
	}
}
// if there was no rotation in Z in the first place, check if there is rotation in Y
else
{
	if(R_FK_Shoulder_CTRL.rotateY != 0)
	{
		// if there is Rotation in Y, check if there is Rotation in Z after Y
		if(R_FK_Shoulder_CTRL.rotateZ != 0) ;

		// if there is Rotation in Z after Y, Roll = rotateZ / -2
		AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateZ /-2;

		// if there is no Rotation in Z after Y, Roll = 0
		else
		{
			AO_R_BendArm_ikHandle01.Roll = 0
		}
	};
	// if there was no Rotation in Y in the first place, Roll = 0
	else
	{
		AO_R_BendArm_ikHandle01.Roll = 0
	};
}


Imagination is more important than knowledge.
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads