Plugin

[=;156986]
The problem with the math approach is that you do not have a reference to where the player is sitting/standing in reference to the base. You cannot escape needing a calibration unless you have a controller as a body-fixed point (which you will be able to do with a 3+ point STEM system). If you’re using the hydras as hands, they will both be movable points in relation to the body so you need to get a vector to the players origin to adjust for base position variance (real world table heights and offsets).

The other thing to consider is that different players have different arm lengths and while you would think a direct 1:1 mapping would be ideal, the avatar people embody may be larger/smaller than they are in real life and you will need to scale hydra movement to be in sync with the avatar. A T-pose handles both of these things which is why I consider it the ideal calibration for Hydras.

In terms of the offset, it depends on how you are getting your vectors (adding or subtracting), but it should be RawHydraPosition + BaseToShoulderVector + ShoulderToOriginOffset = HydraInOrigin. If you are using world positions remember that all of these are relative and you will need to subtract out the actor world position from the instances you use world position.

Just wanted to add that one of the best ways to debug vectors is to draw them (Draw Debug Arrow). One of the very cool things about rift development is that you can see these vectors in true 3d, so you can visualize the whole setup to ensure every vector is doing the correct thing.
[/]

Sorry to keep bugging you about this, but I just wanna clear up some stuff in your equation there.

BaseToShoulderVector = Vector from the base station to the shoulder mid point?

ShoulderToOriginOffset = Shoulder mid point to character origin?