For both Physbone versions 1.0 and 1.1, the world immobile behavior has been reliant on ignoring any position data from the root of the avatar, but the main issue is that it still inherits the model's rotational velocity. The idea I would like to propose is something that is in the newest version of Magica Cloth 2 which is to have a game object's transform be referenced as an anchor in relation to the assigned root transform for the physbone. The idea of having an anchor referenced can help with the issue of physbones and calculating rotational data for the scripts to ignore. For the world immobile it could grab the avatar descriptor and auto assign that as the anchor point for the physbones to ignore, allowing IK transforms and animations to behave properly. Best way to sum up the idea is:
  • All Motion:
Reduces any motion as calculated from the root transform's parent
  • World Immobile v2:
(old method) Reduces position movement from locomotion, any movement due to animations or IK still affect bones normally.
(new method) Reduces any motion based on the avatar descriptor's location in the hierarchy, any movement from animations or IK still affects bones normally.
  • Anchor
Reduces any motion calculated in relation between the root transform and the anchor's transform, any movement from animations or IK will affect bones depending on the anchor's location.