Bone rotation jitter after aim offset + transform bone

I’ve been trying to make an animation based aiming system for first person perspective and so far it has gone pretty well. Basically I’m setting the world space rotation of the bone that holds the gun, to what the player rotation is. This way I can get the weapon pointed towards the direction I want.

To make the aiming visually more pleasing, I use aim offsetting to bend the whole body first in the anim graph, see here: http://i.imgur.com/lXbSo73.png

Only after that I set the precise bone rotation to match the camera direction (in the pic the variable name is muzzle dir).

The problem is, that if I use the aim offset blending before doing the precise bone transform, the weapon randomly jitters in the player hand:

If I remove the aim offset blending from the anim graph, the jittering goes away. It seems like some weird frame sync problem.

My end goal is to make a free aim system similar to what is in ArmA games, and to do that I need animation driven aiming. I can’t just trace from the camera to do that, I need to spawn a physical bullet at the weapon muzzle.

My question is: what is causing that jitter? Can anything be done to it?

This can apparently be fixed by using world origin rebasing, too bad I can’t use it because the game is supposed to be a multiplayer game.

More vids:

The weapon is attached to the hand_r bone and hand_r bone is translated so that the rotation matches view rotation (using set bone rotation in world space).

Distance from origin 3 km: - YouTube

Distance from origin 8 km: - YouTube

50 meters from origin: - YouTube

I can’t have any precise animation driven aiming of weapons because of the floating point precision errors when you’re far away from the origin. I wouldn’t mind if this would happen with 3rd person anims only, but since it’s a first person view the stuttering is very noticeable.