Seeking Better Solution for IK Wrist Joint Euler Problem

by Mauriello posted 13 days ago | 1 comment

I have a 3 joint ik chain for a left arm. Primary axis is X, Secondary is Z pointing Z+. The ik wrist joint has a Euler hiccup on Y occasionally. That joint is ultimately driving forearm twist so the hiccup causes the forearm to candy wrapper. My hack fix is to create a keyable switch that will add or subtract 360 to the Y offset of its orient constraint (constrained by the ik controller).

What's a better way?

by SplineO posted 13 days ago

Couldn't you just follow Voxels answer here?

Other than that, I normally use a nonRoll setup for the Wrist and one for the Forearm. The nonroll being a copy of my forearm and wrist joint, with an IK RP Solver going from forearm to wrist and the polevectors on the ikHandle set to 0 on xyz and the ikHandle parented to the mein forearm joint. (This basically aims to the wrist but ignores twist). I then do the same setup from wrist to wristEnd with the ikHandle parented to the main wrist. Finally I parent a copy of my nonRoll Wrist under the nonRoll wrist(hope that makes sense) and aimConstrain it to the nonRoll end with the actual Wrist being the upvector.

Feels pretty stable to me most of the time!

I really wish I could find a clever and efficient way to do the nonRoll part with nodes only! Plus an aimConstraint maybe .. getting rid of all those constraints.