Previously there was a hack where the sensor to world matrix was NOT updated in HMD mode if the camera was third person.
The reason the hack existed was to make third person camera less nauseating for users.
However this had a major drawbacks.
It led to avatar hip spasms when the user turned around in the tracked volume, while in third person camera.
To fix this issue properly, the hack which prevented updating the sensor to world matrix was removed, and now the third person camera is now computed in sensor space relative to the hmd.
* Added getDomainMaxScale() and getDomainMinScale() to JS api.
* Updated scaleAvatar controller module to use this to prevent scaling past the limits.
* Made sure that getDomainMaxScale() getDomainMinScale() and getUnscaledEyeHeight are thread safe,
so that they can be invoked on the script thread.
* Added signals to Model class that can be used to let observers know when the Rig has finished initializing it's skeleton.
and also when the skeleton is no longer valid. These hooks are used to cache the unscaled eye height of the avatar.
* Tighten action motor timescale while flying. This should cause less drift as the user
changes direction and should lead to more comfort and control.
* Hmd head roll is only enabled if you are forward or backward faster then 2 meters per
second. This should prevent un-intentional turning/rolling when hovering or moving at
slow speeds.
* Documented hmdRoll tuning parameters accessible from JavaScript.
* Removed roll feathering code, because it is non-linear and can perhaps induce nausea.
* Tuned default dead spot and turning speeds to match Eagle Flight's defaults.
* Domain settings version has been bumped from version 2.0 to 2.1
* Old domain settings for avatar scale will be auto-converted to avatar height
* Avatar code has been changed so that limitDomainScale() works with the new height limits
* Avatar getUnscaledEyeHeight() was added to C++.
* MyAvatar.getHeight() was added to JS.
* moved Avatar::fixupModelsInScene off the newly created render thread back
to the main thread.
* updated Avatar::postUpdate to take a scene pointer, necessary for
Avatar::fixupModelsInScene
* updated developer/tests/avatarAttachementTest.js to account for recent
changes in avatar attachment scale, commit 712aff7ad.
* updated initialization of anim graph to use Model::isLoaded() instead of
Model::initWhenReady() to know when the model was completely loaded.