Hey man, I realized something after I found the Transform To/From Bone Space nodes, which is that using those it should be fairly easy to figure out the world space position of the controller:
- Have it set up so that the game tells the player to match the character’s pose and then press a button (select on the Hydra is a good one).
Then do when the button is pressed:
- Store the controller position (acts as an offset to the base).
- Get the hand bone position in bone-space.
- Subtract out the controller position from the hand position in bone-space - is now the bone-space position of the base station. part is the key.
Once you have that, when the controller moves, all you need to do is
- Add in the controller position to the bone-space base-station position.
- Transform from bone space to world space!
I haven’t tested yet, but it should work quite handily (no pun intended).
Edit: Of course, if you set the effector target for your arm IK to use bone-space positions, you can skip the final step.
Also if anyone sees something wrong with my logic there, please let me know and provide a correction if possible!