Pass a InputCalibrationData to each inputPlugin and inputDevice.
This contains the most up sensorToWorldMatrix, avatarMat and hmdSensorMatrix.
Each input plugin can use this data to transform it's poses into Avatar space
before sending it up the chain.
This fixes a bug in the handControllerGrab.js script that relied on the hand controller
rotation/positions being in the avatar frame.
Compute HMD facing moving average.
When the moving average diverges from the hips by more then 45 degrees, recenter the body.
Also, the follow code has been changed, instead of a follow velocity being passed to the CharacterController
a desired target is passed. The CharacterController homes toward it's target based on the time remaining.
Any follow deltas applied to move the avatar's position closer to it's target is stored and re-applied
to the bodySensorMatrix. This centralizes the moving/homing code to one place, the CharacterContoller.
A new FollowHelper class was also introduced, it groups together the data and logic necessary to perform the
re-centering/follow procedure. This "hopefully" makes it easier to maintain.
This Y_180 flip is defined in skeletonModel not in the rig.
This is important if we wish to use the Rig for both Avatars (180 flip) and Entity models (no 180 flip).
We can hide this 180 flip from script, if we wish, by including it in all the accessors to and from
MyAvatar -> skeletalModel -> Rig.
Added Quaternions::Y_180 to GLMHelpers.
This makes it much simpler for code out side of the rig to manipulate AnimVars
* Removed mat4 type from AnimVars
* AnimVariantMap now has a _rigToGeometryTransform matrix
used to transform positions and rotations into the correct coordinate frame.
* Moved AnimPose code to extract a quat from a scaled matrix into GLMHelpers
* added AnimPose::copyFromNetworkAnim() which
should, re-map bone ids to match the current
skeleton, and fill in missing bones with bind
pose frames.
* added ability to set a skeleton on a node.
I might need to add a recursive version of this.
* it compiles!
* tests run!