Hello there everyone! So basically, the TLDR is this: I'm creating a rig for class and on the arm rig we are using a twist Expression on the wrist and forearm joints so that the forearm joint rotates on the X-axis at half the rate of the wrist joint. And well after I implement this expression I'm getting an evaluation error, which then proceeds to completely screw the rotations of these joints and causes problems. Thus forcing me to reload my file to get back the original state of the joints. This happens in both IK and FK mode.
The evaluation error I'm getting reads as follows and there are variations of this for both IK and FK: "// Warning: Cycle on 'LF_Wrist_IK.parentInverseMatrix[0]' may not evaluate as expected. (Use 'cycleCheck -e off' to disable this warning.) //"
I've tried reaching out to my instructors and folks from my school but no one seems to be able to help me here. As my main instructor is currently out and the instructor standing in at the moment had his laptop die on him recently. But on my own I've tried completely redoing my IK/FK systems, I've completely redone the arm joint chains as well since at first, they had their own issues. But now even with my good joint chains, I'm still getting this evaluation error which then proceeds to mess up the rotation of my wrist joints and whatnot. I've also checked my expression to make sure that I'm using all the correct names and the correct structure for it to function. And well it all seems correct according to what I've been told to input here. If anyone could help me get to the bottom of this I'd really appreciate it. Since I can't seem to get an answer from my school and I really would like to have my rig function properly before we proceed further in class. Especially since this week, we are rigging the hands and whatnot. Down below I'll leave my scene file so that anyone can check it out. Thanks in advance to all who are able to help here
Edit: I Thought I'd share a screenshot from the expression editor to show the expressions I'm talking about. Here you can see I have 4 expressions, 2 for the FK systems on both arms and 2 for the IK systems. There you can see the expression function which is being used to drive the expression and this is what I'm having issues with for some reason. I've gotten it to work on my very first attempt, but after that for some reason I just can't get them to work.
Replies
Right now your hierarchy looks like this:
Elbow Joint
---->Forearm Joint
---->---->Wrist Joint
You simply need to, for all 3 joint chains, make the wrist a direct child of the Elbow joint. Then your hierarchy will look like this:
Elbow Joint
---->Forearm Joint
---->Wrist Joint
From here you should orient constraint the BindJoint to either the FK or IK, and switch accordingly, the same way you've done with the rest of your IKFK switch chains. I tested this and the twist still works as expected.
As far as best practices go in general, I think this is a better way to setup your hierarchies. Hope that helps