1.07/21/22 - Misc additions and fixes while holding for 5.1
Added new tracking options for the VRReplicatedCamera and GripMotionControllers
Camera AND Controllers
bool bScaleTracking
Vector TrackingScaler – A scale to be applied to the tracking, can be applied per axis
bool bLimitMinHeight
float MinimumHeightAllowed – The minimum height to allow for this camera, useful to stop hands/head clipping through the floor if lowering the tracked root
bool bLimitMaxHeight
float MaxHeightAllowed – The maximum height to allow (HMD only)
Controllers Only
bool bLeashToHMD – If true we will “leash” the controllers to the hmd, preventing them from going any farther away than the LeashRange
float LeashRange – A distance to retain the controllers in from the camera (cannot set the controller down and walk away for instance, it would clamp and follow the hmd).
Misc:
Altered the EndPlay auto drop of objects to better handle networked play where the controller will likely never receive the drop command from the server for remote clients.
Now forcefully drops on all connections to ensure it completes. Realistically the end user should still be manually dropping before destroying a player to ensure that
the drop happens as they wish it to.
Added a GUID to the hand socket component in order to version control it, I am now serializing a status variable so that HandDecoupling correctly works without reloading a blueprint when it is set.
Added a GetFirstValidGrip node/function to motion controllers, and a IsActiveGrip node for BP (is a valid grip that is also active (not pending kill and not paused). For C++ FBPActorGripInformation structs have IsValid and IsActive functions.