rename SGVirtualHandTrackingSettings to SGVirtualHandSettings
This commit is contained in:
@@ -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)
|
||||
{
|
||||
}
|
||||
+4
-4
@@ -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);
|
||||
};
|
||||
+5
-5
@@ -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()};
|
||||
|
||||
Reference in New Issue
Block a user