Big list of unannounced changes, been doing a lot of things that never amounted to enough to publish in here before.
These were all pushed to their repositories in the past two weeks.
General Plugin Changes (4.18-4.19)
Corrected imprecision issue with inverse transforming of the interactibles
I use the inverse of the grip transform to get the hands original location relative to
the object on grip for the interactible calculations. I was getting precision errors
when getting FTransform::Inverse if the interactible was unevenly scaled on any axis.
Converting to a FMatrix, then inversing, then back to FTransform removed precision issue.
I am still uncertain why FTransform::Inverse was misbehaving in situation.
Added some events to the SliderInteractible (OnHitEnd)
Started working on bEnforceSplineLinearity to keep a slider in line on a spline
(Unfinished needs work).
Added bLerpAlongSpline to slider to smooth out the movement.
Added grip prio to all interactibles
Fixed teleport move grip node (one of the variables was output instead of input)
Added Re-calculate lever angle function to lever
Also made the ResetLever function re-calculate the angle as well.
Set character default rotation replication values to shorts
Changed how controllers copy a replicated relative grip from a deep copy to a shallow one.
is to avoid overriding important local only variables.
4.19 Only Plugin Changes
Blueprint cleanup with pure/callable node choices, some nodes were returning multiple variables making
it more likely that people would abuse them and multiple call them as pure, converted these to callable.
OpenVRExpansionLibrary added "GetOpenVRHmdType" node that breaks down to the specific headset
connected in OpenVR. is due to the module reporting as SteamVR type always.
I will need to manually added headsets in here as new ones come out, its a shortcut service
for my users.
Greatly reduced the characters CPU load when updating to the physics thread, removed one ticked update
that I had caused and three that Epic had caused that were extra.
Moved the application of the Input data to the control rotation to the character movement component.
is so that I can have correct rotations prior to moving the character. Typical engine behavior
is to have the rotation done in the player controller AFTER all movement is applied, can cause
issues due to our offset movements.
Converted the OpenVRExpansionLibrary device oriented nodes entirely over to index's and added some
Getter nodes for type / specific devices. brings my node library directly in line to being compatible
with epics one as well as clears room for vive pro and devices where trackers and the like are activated
out of normal order.
Changed bIgnoreSimulatingComponents to just
ignore PhysicsBody channel objects for the floor check so I could avoid
the multi sweep I was doing (slower) before. If you intend to use functionality
instead of just removing collision then be aware that the objects need to be on the PhysicsBody
channel now.
4.19 Template Changes
Secondary grips moved to client side and pre-checked, also secondary checked before primary.
Many other BP changes and cleanups for the characters.