Get CharacterController with Rigidbody in sync

I’m not sure if I hit a brick wall here, I am not able to have my CharacterController with his stack of boxes rendered smoothly without an offset in the stack.

I have a CharacterController for movement.As a child it has a kinematic Rigidbody attached. And that Rigidbody has a stack of rigidbodies attached through joints between one another. I need this for an unsteady effect on the stack.

The following image illustrates the character while moving with a stack of 4 blocks attached to each other with a joint, where the bottom most is attached to the one that’s attached to the CharacterController gameobject. As you can see, there’s quite a gap between the carried one and the stack. The faster I move, the bigger the offset gets.
Apparently this has something to do with faulty physics compliance. The top 4 blocks stay aligned, so they run their joints in physics correctly. To get rid of this problem, I can run CharacterController.Move in FixedUpdate. But that just results in rendering being out of sync (reducing the timescale to .1f one can clearly see the frames only getting updated in fixed timesteps. Ugly)

Is this possible? I mean the CharacterController is a physics component, right? How do I move it so everything works in a physical sense WITH frame interpolation?

How do I pull this one off?

3021019--225684--Screen Shot 2017-04-05 at 16.40.16.png

Some further investigation showed me that it’s basically impossible.

  • CharacterController moves in Update and breaks every physics compliance, so can’t be used with rigidbodies
  • Animator can be set to animate physics, but does not support interpolation, so it looks jaggy
  • using interpolate on the rigidbody attached to the hand actually alters the transform by a tiny bit. Is the question if that effects it in the long run or not.
  • the configuration of the rigidbodies, the one on the hand and the one jointed to it, doesn’t matter

I can basically choose if I want the character smooth or the boxes smooth, but no matter what the joints anchor get’s out of sync with the connected body. So conclusion, no homogenous interpolation and no reliable anchor matching…

This is sad.