rename SGVirtualHandTrackingSettings to SGVirtualHandSettings

This commit is contained in:
Mamadou Babaei
2024-08-16 18:02:08 +02:00
parent f014f5db72
commit c3226d4ba6
8 changed files with 45 additions and 39 deletions
@@ -88,11 +88,11 @@ struct USGVirtualHandComponent::FImpl
return Path;
}
static const FSGVirtualHandTrackingSettings& GetVirtualHandTrackingSettings()
static const FSGVirtualHandSettings& GetVirtualHandSettings()
{
const USGSettings* Settings{USGSettings::GetInstance()};
ensureAlwaysMsgf(Settings, TEXT("The settings subsystem has not been initialized!"));
return Settings->GetTrackingSettings().VirtualHandTrackingSettings;
return Settings->GetVirtualHandSettings();
}
/************************
@@ -152,12 +152,12 @@ struct USGVirtualHandComponent::FImpl
const TArray<FName>& USGVirtualHandComponent::GetLeftHandBoneNames()
{
return FImpl::GetVirtualHandTrackingSettings().LeftHandBoneNames;
return FImpl::GetVirtualHandSettings().LeftHandBoneNames;
}
const TArray<FName>& USGVirtualHandComponent::GetRightHandBoneNames()
{
return FImpl::GetVirtualHandTrackingSettings().RightHandBoneNames;
return FImpl::GetVirtualHandSettings().RightHandBoneNames;
}
const FName& USGVirtualHandComponent::GetLeftHandBoneName(const int32 Joint)
@@ -79,11 +79,11 @@ struct ASGPawn::FImpl
* Methods
************************/
FORCEINLINE static const FSGVirtualHandTrackingSettings& GetVirtualHandTrackingSettings()
FORCEINLINE static const FSGVirtualHandSettings& GetVirtualHandSettings()
{
const USGSettings* Settings{USGSettings::GetInstance()};
ensureAlwaysMsgf(Settings, TEXT("The settings subsystem has not been initialized!"));
return Settings->GetTrackingSettings().VirtualHandTrackingSettings;
return Settings->GetVirtualHandSettings();
}
void BindRealHandsOverlapEvents();
@@ -206,7 +206,7 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
HandLeft->SetCollisionResponseToChannel(ECC_Destructible, ECR_Block);
HandLeft->SetRight(false);
HandLeft->SetVisibleWhenHandDataUnavailable(false);
HandLeft->SetRelativeRotation(FImpl::GetVirtualHandTrackingSettings().RootBoneRotationCorrection,
HandLeft->SetRelativeRotation(FImpl::GetVirtualHandSettings().RootBoneRotationCorrection,
false, nullptr, ETeleportType::None);
HandLeft->SetRelativeLocation(FVector{30.0f, -20.0f, -10.0f},
false, nullptr, ETeleportType::None);
@@ -230,7 +230,7 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
RealHandLeft->SetRight(false);
Pimpl->SetVisibility(RealHandLeft, false);
RealHandLeft->SetVisibleWhenHandDataUnavailable(false);
RealHandLeft->SetRelativeRotation(FImpl::GetVirtualHandTrackingSettings().RootBoneRotationCorrection,
RealHandLeft->SetRelativeRotation(FImpl::GetVirtualHandSettings().RootBoneRotationCorrection,
false, nullptr, ETeleportType::None);
RealHandLeft->SetRelativeLocation(FVector{30.0f, -20.0f, -10.0f},
false, nullptr, ETeleportType::None);
@@ -365,7 +365,7 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
HandRight->SetCollisionResponseToChannel(ECC_Destructible, ECR_Block);
HandRight->SetRight(true);
HandRight->SetVisibleWhenHandDataUnavailable(false);
HandRight->SetRelativeRotation(FImpl::GetVirtualHandTrackingSettings().RootBoneRotationCorrection,
HandRight->SetRelativeRotation(FImpl::GetVirtualHandSettings().RootBoneRotationCorrection,
false, nullptr, ETeleportType::None);
HandRight->SetRelativeLocation(FVector{30.0f, 20.0f, -10.0f},
false, nullptr, ETeleportType::None);
@@ -389,7 +389,7 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
RealHandRight->SetRight(true);
Pimpl->SetVisibility(RealHandRight, false);
RealHandRight->SetVisibleWhenHandDataUnavailable(false);
RealHandRight->SetRelativeRotation(FImpl::GetVirtualHandTrackingSettings().RootBoneRotationCorrection,
RealHandRight->SetRelativeRotation(FImpl::GetVirtualHandSettings().RootBoneRotationCorrection,
false, nullptr, ETeleportType::None);
RealHandRight->SetRelativeLocation(FVector{30.0f, 20.0f, -10.0f},
false, nullptr, ETeleportType::None);
@@ -1702,7 +1702,7 @@ void ASGPawn::FImpl::UpdateHandRotation(const bool bRight, const FRotator& Rotat
void ASGPawn::FImpl::UpdateLeftHandRotation(const FRotator& Rotation, const bool bUpdateVirtualHand)
{
const FQuat NewRotation{
Rotation.Quaternion() * GetVirtualHandTrackingSettings().RootBoneRotationCorrection.Quaternion()
Rotation.Quaternion() * GetVirtualHandSettings().RootBoneRotationCorrection.Quaternion()
};
if (bUpdateVirtualHand)
{
@@ -1714,7 +1714,7 @@ void ASGPawn::FImpl::UpdateLeftHandRotation(const FRotator& Rotation, const bool
void ASGPawn::FImpl::UpdateRightHandRotation(const FRotator& Rotation, const bool bUpdateVirtualHand)
{
const FQuat NewRotation{
Rotation.Quaternion() * GetVirtualHandTrackingSettings().RootBoneRotationCorrection.Quaternion()
Rotation.Quaternion() * GetVirtualHandSettings().RootBoneRotationCorrection.Quaternion()
};
if (bUpdateVirtualHand)
{
@@ -41,7 +41,6 @@ FSGTrackingSettings::FSGTrackingSettings()
FSGGloveTrackingSettings{},
FSGHandTrackingSettings{},
FSGHMDTrackingSettings{},
FSGVirtualHandTrackingSettings{},
FSGWristTrackingSettings{})
{
}
@@ -51,13 +50,11 @@ FSGTrackingSettings::FSGTrackingSettings(
const FSGGloveTrackingSettings& InGloveTrackingSettings,
const FSGHandTrackingSettings& InHandTrackingSettings,
const FSGHMDTrackingSettings& InHmdTrackingSettings,
const FSGVirtualHandTrackingSettings& InVirtualHandTrackingSettings,
const FSGWristTrackingSettings& InWristTrackingSettings)
: bFallbackToHandTrackingIfNoGloveDetected(bInFallbackToHandTrackingIfNoGloveDetected),
GloveTrackingSettings(InGloveTrackingSettings),
HandTrackingSettings(InHandTrackingSettings),
HMDTrackingSettings(InHmdTrackingSettings),
VirtualHandTrackingSettings(InVirtualHandTrackingSettings),
WristTrackingSettings(InWristTrackingSettings)
{
}
@@ -33,12 +33,12 @@
*/
#include "SGSettings/SGVirtualHandTrackingSettings.h"
#include "SGSettings/SGVirtualHandSettings.h"
#include "Engine/SkeletalMesh.h"
FSGVirtualHandTrackingSettings::FSGVirtualHandTrackingSettings()
: FSGVirtualHandTrackingSettings(
FSGVirtualHandSettings::FSGVirtualHandSettings()
: FSGVirtualHandSettings(
nullptr,
nullptr,
2.4f,
@@ -50,7 +50,7 @@ FSGVirtualHandTrackingSettings::FSGVirtualHandTrackingSettings()
{
}
FSGVirtualHandTrackingSettings::FSGVirtualHandTrackingSettings(
FSGVirtualHandSettings::FSGVirtualHandSettings(
const TSoftObjectPtr<USkeletalMesh>& InLeftHandReferenceMesh,
const TSoftObjectPtr<USkeletalMesh>& InRightHandReferenceMesh,
const float InThumbDistalPhalanxLength,
@@ -42,6 +42,7 @@
#include "SGSettings/SGGameUserSettingSettings.h"
#include "SGSettings/SGInitializationSettings.h"
#include "SGSettings/SGTrackingSettings.h"
#include "SGSettings/SGVirtualHandSettings.h"
#include "SGSettings.generated.h"
@@ -77,6 +78,9 @@ private:
UPROPERTY(Config, EditDefaultsOnly, Category = "SenseGlove")
FSGTrackingSettings TrackingSettings;
UPROPERTY(Config, EditDefaultsOnly, Category="SenseGlove")
FSGVirtualHandSettings VirtualHandSettings;
private:
USGSettings();
@@ -111,6 +115,16 @@ public:
TrackingSettings = InTrackingSettings;
}
FORCEINLINE const FSGVirtualHandSettings& GetVirtualHandSettings() const
{
return VirtualHandSettings;
}
void SetVirtualHandSettings(const FSGVirtualHandSettings& InVirtualHandSettings)
{
VirtualHandSettings = InVirtualHandSettings;
}
public:
virtual bool ShouldCreateSubsystem(UObject* Outer) const override;
@@ -40,7 +40,6 @@
#include "SGSettings/SGGloveTrackingSettings.h"
#include "SGSettings/SGHandTrackingSettings.h"
#include "SGSettings/SGHMDTrackingSettings.h"
#include "SGSettings/SGVirtualHandTrackingSettings.h"
#include "SGSettings/SGWristTrackingSettings.h"
#include "SGTrackingSettings.generated.h"
@@ -71,9 +70,6 @@ public:
UPROPERTY(Config, EditDefaultsOnly, Category="Tracking")
FSGHMDTrackingSettings HMDTrackingSettings;
UPROPERTY(Config, EditDefaultsOnly, Category="Tracking")
FSGVirtualHandTrackingSettings VirtualHandTrackingSettings;
UPROPERTY(Config, EditDefaultsOnly, Category="Tracking")
FSGWristTrackingSettings WristTrackingSettings;
@@ -85,6 +81,5 @@ public:
const FSGGloveTrackingSettings& InGloveTrackingSettings,
const FSGHandTrackingSettings& InHandTrackingSettings,
const FSGHMDTrackingSettings& InHmdTrackingSettings,
const FSGVirtualHandTrackingSettings& InVirtualHandTrackingSettings,
const FSGWristTrackingSettings& InWristTrackingSettings);
};
@@ -38,15 +38,15 @@
#include "UObject/ObjectMacros.h"
#include "UObject/SoftObjectPtr.h"
#include "SGVirtualHandTrackingSettings.generated.h"
#include "SGVirtualHandSettings.generated.h"
class USkeletalMesh;
/**
* Implements the hand tracking settings for the SenseGlove Tracking module.
* Implements the hand tracking settings for the SenseGlove module.
*/
USTRUCT(BlueprintType)
struct SENSEGLOVESETTINGS_API FSGVirtualHandTrackingSettings
struct SENSEGLOVESETTINGS_API FSGVirtualHandSettings
{
GENERATED_USTRUCT_BODY()
@@ -88,9 +88,9 @@ public:
TArray<FName> RightHandBoneNames;
public:
FSGVirtualHandTrackingSettings();
FSGVirtualHandSettings();
FSGVirtualHandTrackingSettings(
FSGVirtualHandSettings(
const TSoftObjectPtr<USkeletalMesh>& InLeftHandReferenceMesh,
const TSoftObjectPtr<USkeletalMesh>& InRightHandReferenceMesh,
float InThumbDistalPhalanxLength,
@@ -130,11 +130,11 @@ struct FSGXRTracker::FImpl
return Settings->GetTrackingSettings().HandTrackingSettings;
}
FORCEINLINE static const FSGVirtualHandTrackingSettings& GetVirtualHandTrackingSettings()
FORCEINLINE static const FSGVirtualHandSettings& GetVirtualHandSettings()
{
const USGSettings* Settings{USGSettings::GetInstance()};
ensureAlwaysMsgf(Settings, TEXT("The settings subsystem has not been initialized!"));
return Settings->GetTrackingSettings().VirtualHandTrackingSettings;
return Settings->GetVirtualHandSettings();
}
FORCEINLINE static const FSGWristTrackingSettings& GetWristTrackingSettings()
@@ -403,7 +403,7 @@ struct FSGXRTracker::FImpl
FORCEINLINE static const FName& GetLeftMeshBoneName(const int32 JointIndex)
{
const FName& Name{GetVirtualHandTrackingSettings().LeftHandBoneNames[JointIndex]};
const FName& Name{GetVirtualHandSettings().LeftHandBoneNames[JointIndex]};
return Name;
}
@@ -416,7 +416,7 @@ struct FSGXRTracker::FImpl
FORCEINLINE static const FName& GetRightMeshBoneName(const int32 JointIndex)
{
const FName& Name{GetVirtualHandTrackingSettings().RightHandBoneNames[JointIndex]};
const FName& Name{GetVirtualHandSettings().RightHandBoneNames[JointIndex]};
return Name;
}
@@ -765,7 +765,7 @@ TArray<float> FSGXRTracker::FImpl::GetFingerLengths(
TArray<TArray<float>> FSGXRTracker::FImpl::GetFingerLengths(const bool bRight)
{
const FSGVirtualHandTrackingSettings& Settings{GetVirtualHandTrackingSettings()};
const FSGVirtualHandSettings& Settings{GetVirtualHandSettings()};
const TArray<TArray<float>> Lengths{
GetFingerLengths(bRight,
@@ -901,8 +901,8 @@ FTransform FSGXRTracker::FImpl::GetMeshRawBoneRefTransform(const bool bRight, co
{
const TSoftObjectPtr<USkeletalMesh>& HandMesh{
bRight
? GetVirtualHandTrackingSettings().LeftHandReferenceMesh
: GetVirtualHandTrackingSettings().RightHandReferenceMesh
? GetVirtualHandSettings().LeftHandReferenceMesh
: GetVirtualHandSettings().RightHandReferenceMesh
};
if (HandMesh.IsValid())
@@ -924,7 +924,7 @@ FTransform FSGXRTracker::FImpl::GetMeshRawBoneRefTransform(const bool bRight, co
return Transform;
}
const FSGVirtualHandTrackingSettings& Settings{GetVirtualHandTrackingSettings()};
const FSGVirtualHandSettings& Settings{GetVirtualHandSettings()};
ensureAlwaysMsgf(
bRight
? Settings.RightHandDefaultReferenceBoneTransforms.Contains(BoneName)
@@ -942,7 +942,7 @@ FTransform FSGXRTracker::FImpl::GetMeshRawBoneRefTransform(const bool bRight, co
FTransform FSGXRTracker::FImpl::GetMeshWristChildBoneRefTransform(const bool bRight, const FName& BoneName)
{
FQuat RootRotationCorrection{
GetVirtualHandTrackingSettings().RootBoneRotationCorrection
GetVirtualHandSettings().RootBoneRotationCorrection
};
const FTransform& RootBoneRefTransform{GetMeshRawBoneRefTransform(bRight, EHandKeypoint::Wrist)};
const FTransform& RawTransform{GetMeshRawBoneRefTransform(bRight, BoneName)};
@@ -957,7 +957,7 @@ FTransform FSGXRTracker::FImpl::GetMeshFingerStartBoneRefTransform(
const bool bRight, const EHandKeypoint Parent, const FName& BoneName)
{
FQuat RootRotationCorrection{
GetVirtualHandTrackingSettings().RootBoneRotationCorrection
GetVirtualHandSettings().RootBoneRotationCorrection
};
const FTransform& RootBoneRefTransform{GetMeshRawBoneRefTransform(bRight, EHandKeypoint::Wrist)};
FQuat CorrectedRootBoneRefRotation{MoveTemp(RootRotationCorrection) * RootBoneRefTransform.GetRotation()};