IK Motion With Rotations And VR Touch Controllers

Hi there, I’m adding VR support to my project. It’s a first person game, but the full character body is there. I have set up the motion controllers to control the hands, and for the most part the arms follow pretty well. The only issue I’m having is with rotation. I’m getting the world location and rotation of the motion controllers, and feeding that to the hand bone which is using two bone ik.

In the real world when you rotate your hand from palm up to palm down, it’s your forearm that is doing the rotation. Since the hand bone in my game is getting all of the rotation in the transform (modify) bone node, the wrist gets twisted up since the forearm rotation does not follow.

I’ve tried bone driven controllers, copy bone, sending roll to the forearm, FABRIK, and a bunch of other little guesses and ideas to no avail. When I rotate the forearm bone, it messes up the orientation of the hand bone itself. I have heard of using morph targets to correct the mesh distortion but have not tried that yet. I don’t want to invest in ikinema as this project has no funding and I can’t really afford it.

Just wondering how others have approached similar issues, and if there is something I’m overlooking. I’m less experienced with animations than I am with modeling and design so any pointers or workflows would be helpful. I’m using Blender for my 3d software.

TL/DR

My hand is rotating based off of motion controllers using IK with the hand and forearm, but the wrist looks janky when I roll my hand because my forearm isn’t rotating with it.