This course will look at the fundamentals of rendering in Arnold. We'll go through the different light types available, cameras, shaders, Arnold's render settings and finally how to split an image into render passes (AOV's), before we then reassemble it i
# 1 07-02-2017 , 08:36 AM

Registered User
Join Date: Jun 2012
Posts: 1

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

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

### Topics

2

2

1

1

9

By e11productions Animation
0

### VFX News

On 2022-07-18 14:30:13

On 2022-07-18 14:17:59

On 2022-07-15 13:14:36

On 2022-05-13 13:52:25

On 2022-05-02 20:24:13

On 2022-04-13 16:02:13