fix a critical issue where HandStates->GetTransform(KeyPoint) was incorrectly resolving to (&HandStates[0])->GetTransform(KeyPoint), causing both hands to use the left hand's wrist transform under specific conditions
This commit is contained in:
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix a critical issue where `HandStates->GetTransform(KeyPoint)` was incorrectly resolving to `(&HandStates[0])->GetTransform(KeyPoint)`, causing both hands to use the left hand's wrist transform under specific conditions. This occurred when the `bFallbackToHandTrackingIfNoGloveDetected` option was enabled, two gloves were present, and no hardware wrist-tracking device was active, resulting in both hands overlapping at the same transform.
|
||||||
|
|
||||||
## [2.3.1] - 2024-11-27
|
## [2.3.1] - 2024-11-27
|
||||||
|
|
||||||
This patch release addresses a few issues with SenseGlove Sockets Editor.
|
This patch release addresses a few issues with SenseGlove Sockets Editor.
|
||||||
|
|||||||
@@ -2075,7 +2075,7 @@ bool FSGXRTracker::FImpl::UpdateXRHandTrackingData(
|
|||||||
XR_ENSURE(XRLocateHandJointsEXT(OutHandState.HandTracker, &LocateInfo, &OutHandState.Locations));
|
XR_ENSURE(XRLocateHandJointsEXT(OutHandState.HandTracker, &LocateInfo, &OutHandState.Locations));
|
||||||
|
|
||||||
OutHandState.bTracked = OutHandState.Locations.isActive == XR_TRUE;
|
OutHandState.bTracked = OutHandState.Locations.isActive == XR_TRUE;
|
||||||
OutHandState.bHasReceivedJointPoses |= HandStates->bTracked;
|
OutHandState.bHasReceivedJointPoses |= OutHandState.bTracked;
|
||||||
if (!OutHandState.bTracked)
|
if (!OutHandState.bTracked)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -2209,7 +2209,7 @@ bool FSGXRTracker::FImpl::GetControllerTransform(
|
|||||||
}
|
}
|
||||||
|
|
||||||
const EHandKeypoint KeyPoint = KeyPointInfoPtr->Key;
|
const EHandKeypoint KeyPoint = KeyPointInfoPtr->Key;
|
||||||
const FTransform& ControllerTransform{HandStates->GetTransform(KeyPoint)};
|
const FTransform& ControllerTransform{HandState.GetTransform(KeyPoint)};
|
||||||
OutTransform = ControllerTransform;
|
OutTransform = ControllerTransform;
|
||||||
bOutMotionSourceHandTracking = true;
|
bOutMotionSourceHandTracking = true;
|
||||||
bTracked = HandState.bTracked;
|
bTracked = HandState.bTracked;
|
||||||
|
|||||||
Reference in New Issue
Block a user