diff --git a/CHANGELOG.md b/CHANGELOG.md index ce2d622d..edf7a693 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,10 @@ This is a minor release focusing mainly on bringing OpenXR-compatible hand track - Added SenseGloveTracking and SenseGloveTrackingKismet modules which provide OpenXR-compatible hand tracking by implementing XR_EXT_hand_tracking support, HMD auto-detection, and SenseGlove device tracking. - Added the SenseGlove grab/touch sockets one-click-setup ability on any Epic-compliant virtual hand mesh from within the Unreal Editor's Content Browser, Skeleton Editor, or Skeletal Mesh Editor by extending the Unreal Editor. - A fallback to HMD and wrist tracker hardware auto-detection mechanism has been added to be triggered in situations when automatic detection of the wrist tracker hardware is desired, e.g., either by not setting it explicitly, or setting it to the default None value. Please note that this is still highly experimental and HTC VIVE Focus 3 and HTC XR Elite cannot be distinguished in the current iteration. Though, since the tracker devices and offsets for both headsets are the same in the end it does not make a difference if both headsets are detected as each other. -- Added the SGHMDTracker utility class, exposed to both C++ and Blueprint, in order to easily gather information about the HMD device at runtime. +- Added the FSGHMDTracker utility class, exposed to both C++ and Blueprint, in order to easily gather information about the HMD device at runtime. - Added the SGTrackingTypes header to the SenseGloveTypes module in order to define and share SenseGloveTracking module types through this header across the plugin modules. - Added ESGHeadMountedDisplayDevice enum with supported HMDs list. -- Added the SGGloveTracer utility class, exposed to both C++ and Blueprint, in order to easily check left or right glove connectivity or retrieve the connected glove instances. +- Added the FSGGloveTracer utility class, exposed to both C++ and Blueprint, in order to easily check left or right glove connectivity or retrieve the connected glove instances. - GetMotionControllerData() has been introduced by USGVitualHandComponent in order to retrieve the OpenXR-compatible glove data in Unreal's FXRMotionControllerData format. - Added FSGVirtualHandAnimInstanceProxy::GetMotionControllerData usable only by child classes. - USGVirtualHandComponent introduced new uproperties AnimationBoneRotationCorrectionOffset and bAnimationShouldApplyBoneLocation with their equivalent getters and setters. @@ -27,9 +27,9 @@ This is a minor release focusing mainly on bringing OpenXR-compatible hand track - Added USGWristTrackerComponent::OnWristDeviceVisualTypeChanged event in order to be able to notify other components/actors whenever the wrist-tracking device switches between hand tracking or motion controllers. - Added the SenseGloveDebugKismet module in order to allow drawing of debugging gizmos and virtual hands from Blueprint. - Added a new static Draw() method overload to DebugGizmo which allows passing an FQuat instead of a FRotator. -- Added SGEngineUtils. -- Introduced the SGInitializationSettings in order to control how the plugin is initialized. -- Introduced the SGGameUserSettings for managing the Engine Scalability Settings through the SenseGlove plugin in order to change the graphics settings on the fly. +- Added FSGEngineUtils. +- Introduced the FSGInitializationSettings in order to control how the plugin is initialized. +- Introduced the FSGGameUserSettings for managing the Engine Scalability Settings through the SenseGlove plugin in order to change the graphics settings on the fly. ### Fixed @@ -38,14 +38,14 @@ This is a minor release focusing mainly on bringing OpenXR-compatible hand track ### Changed -- Now, if bValidateIfDefaultClassesAreSGCompliant option from SGInitializationSettings is enabled (default) the SenseGlove plugin checks for default SenseGlove-compliant GameMode, GameInstance, etc, at module initialization and tries to set to default, native SenseGlove classes, if any of those default classes are not a SenseGlove or a SenseGlove-derived class. -- The SGSettings has been fully revamped with more customizations added and categorized in a different manner. -- The SGSettings constructor visibility has been changed from public to private. +- Now, if bValidateIfDefaultClassesAreSGCompliant option from FSGInitializationSettings is enabled (default) the SenseGlove plugin checks for default SenseGlove-compliant GameMode, GameInstance, etc, at module initialization and tries to set to default, native SenseGlove classes, if any of those default classes are not a SenseGlove or a SenseGlove-derived class. +- The USGSettings has been fully revamped with more customizations added and categorized in a different manner. +- The USGSettings constructor visibility has been changed from public to private. - The SenseGlove libraries have been updated to v2.103.0-4a8bd81d. - GetHandPose() has been replaced by GetMotionControllerData inside USGVirtualHandComponent (see the relevant entry in the Added and Removed sections). - Many functions inside USGVirtualHandComponent for retrieving bone names or reference transforms has been renamed to return different data types; e.g. GetLeftHandFingerBoneNames(), GetRightHandFingerBoneNames(), GetLeftHandFingerBoneName(), and GetRightHandFingerBoneName() renamed to GetLeftHandBoneNames(), GetRightHandBoneNames(), GetLeftHandBoneName(), and GetRightHandBoneName() respectively. - bHiddenInGameIfNoGloveDetected UPROPERTY from USGVirtualHandComponent has been renamed to bVisibleWhenHandDataUnavailable and accordingly all of its getters and setters; bVisibleWhenHandDataUnavailable = false now acts as bHiddenInGameIfNoGloveDetected = true, and vice-versa. -- SGWristTrackerComponent now uses FXRMotionControllerData for wrist tracking instead of caluclating the wrist location by calling the SenseGlove API. +- USGWristTrackerComponent now uses FXRMotionControllerData for wrist tracking instead of caluclating the wrist location by calling the SenseGlove API. - FSGVirtualHandAnimInstanceProxy now relies on FXRMotionControllerData to animate the hands instead of a TMap of bone names and rotations which allows it to also apply the bone locations. - FSGDebugVirtualHand::Draw now accepts a FXRMotionControllerData parameter instead of all WristLocation, WristRotation, JointPositions, and JointRotations parameters. - Updated the Directory Structure section of the main README file to reflect the latest toolchain support status.