integrate the touch component and colliders and rename the grab ones
This commit is contained in:
@@ -210,11 +210,19 @@ USGVirtualHandComponent::USGVirtualHandComponent(const FObjectInitializer& Objec
|
|||||||
|
|
||||||
bRight = true;
|
bRight = true;
|
||||||
|
|
||||||
DefaultFingertipsColliderSize = FVector{0.04f, 0.04f, 0.04f};
|
DefaultFingertipsGrabColliderSize = FVector{0.04f, 0.04f, 0.04f};
|
||||||
|
|
||||||
ThumbFingertipSocketName = FName(TEXT("ThumbFingertip"));
|
ThumbFingertipGrabSocketName = FName(TEXT("ThumbFingertip"));
|
||||||
IndexFingertipSocketName = FName(TEXT("ThumbFingertip"));
|
IndexFingertipGrabSocketName = FName(TEXT("IndexFingertip"));
|
||||||
MiddleFingertipSocketName = FName(TEXT("MiddleFingertip"));
|
MiddleFingertipGrabSocketName = FName(TEXT("MiddleFingertip"));
|
||||||
|
|
||||||
|
DefaultFingertipsTouchColliderSize = FVector{0.04f, 0.04f, 0.04f};
|
||||||
|
|
||||||
|
ThumbFingertipTouchSocketName = FName(TEXT("ThumbFingertip"));
|
||||||
|
IndexFingertipTouchSocketName = FName(TEXT("IndexFingertip"));
|
||||||
|
MiddleFingertipTouchSocketName = FName(TEXT("MiddleFingertip"));
|
||||||
|
RingFingertipTouchSocketName = FName(TEXT("RingFingertip"));
|
||||||
|
PinkyFingertipTouchSocketName = FName(TEXT("PinkyFingertip"));
|
||||||
|
|
||||||
bHiddenInGameIfNoGloveDetected = false;
|
bHiddenInGameIfNoGloveDetected = false;
|
||||||
|
|
||||||
|
|||||||
@@ -100,62 +100,157 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
|
|||||||
false, nullptr, ETeleportType::None);
|
false, nullptr, ETeleportType::None);
|
||||||
HandLeft->SetWristTracker(WristTrackerLeft);
|
HandLeft->SetWristTracker(WristTrackerLeft);
|
||||||
|
|
||||||
LeftThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
LeftThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("LeftThumbFingertipCollider"));
|
this, TEXT("LeftThumbFingertipGrabCollider"));
|
||||||
LeftThumbFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
LeftThumbFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
LeftThumbFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetThumbFingertipSocketName());
|
LeftThumbFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetThumbFingertipGrabSocketName());
|
||||||
LeftThumbFingertipCollider->SetCastShadow(false);
|
LeftThumbFingertipGrabCollider->SetCastShadow(false);
|
||||||
LeftThumbFingertipCollider->bCastDynamicShadow = false;
|
LeftThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
LeftThumbFingertipCollider->SetReceivesDecals(true);
|
LeftThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
LeftThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
LeftThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
LeftThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
LeftThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
LeftThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
LeftThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
LeftIndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
LeftIndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("LeftIndexFingertipCollider"));
|
this, TEXT("LeftIndexFingertipGrabCollider"));
|
||||||
LeftIndexFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
LeftIndexFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
LeftIndexFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetIndexFingertipSocketName());
|
LeftIndexFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetIndexFingertipGrabSocketName());
|
||||||
LeftIndexFingertipCollider->SetCastShadow(false);
|
LeftIndexFingertipGrabCollider->SetCastShadow(false);
|
||||||
LeftIndexFingertipCollider->bCastDynamicShadow = false;
|
LeftIndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
LeftIndexFingertipCollider->SetReceivesDecals(true);
|
LeftIndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
LeftIndexFingertipCollider->SetCanEverAffectNavigation(false);
|
LeftIndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
LeftIndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
LeftIndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
LeftIndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
LeftIndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
LeftMiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
LeftMiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("LeftMiddleFingertipCollider"));
|
this, TEXT("LeftMiddleFingertipGrabCollider"));
|
||||||
LeftMiddleFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
LeftMiddleFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
LeftMiddleFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetMiddleFingertipSocketName());
|
LeftMiddleFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetMiddleFingertipGrabSocketName());
|
||||||
LeftMiddleFingertipCollider->SetCastShadow(false);
|
LeftMiddleFingertipGrabCollider->SetCastShadow(false);
|
||||||
LeftMiddleFingertipCollider->bCastDynamicShadow = false;
|
LeftMiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
LeftMiddleFingertipCollider->SetReceivesDecals(true);
|
LeftMiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
LeftMiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
LeftMiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
LeftMiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
LeftMiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
LeftMiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
LeftMiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
LeftThumbFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("LeftThumbFingertipTouchCollider"));
|
||||||
|
LeftThumbFingertipTouchCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
LeftThumbFingertipTouchCollider->SetupAttachment(HandLeft, HandLeft->GetThumbFingertipTouchSocketName());
|
||||||
|
LeftThumbFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
LeftThumbFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
LeftThumbFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
LeftThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
LeftIndexFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("LeftIndexFingertipTouchCollider"));
|
||||||
|
LeftIndexFingertipTouchCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
LeftIndexFingertipTouchCollider->SetupAttachment(HandLeft, HandLeft->GetIndexFingertipTouchSocketName());
|
||||||
|
LeftIndexFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
LeftIndexFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
LeftIndexFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
LeftIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
LeftMiddleFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("LeftMiddleFingertipTouchCollider"));
|
||||||
|
LeftMiddleFingertipTouchCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
LeftMiddleFingertipTouchCollider->SetupAttachment(HandLeft, HandLeft->GetMiddleFingertipTouchSocketName());
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
LeftMiddleFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
LeftMiddleFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
LeftMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
LeftRingFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("LeftRingFingertipTouchCollider"));
|
||||||
|
LeftRingFingertipTouchCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
LeftRingFingertipTouchCollider->SetupAttachment(HandLeft, HandLeft->GetRingFingertipTouchSocketName());
|
||||||
|
LeftRingFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
LeftRingFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
LeftRingFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
LeftRingFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
LeftRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
LeftPinkyFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("LeftPinkyFingertipTouchCollider"));
|
||||||
|
LeftPinkyFingertipTouchCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
LeftPinkyFingertipTouchCollider->SetupAttachment(HandLeft, HandLeft->GetPinkyFingertipTouchSocketName());
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
LeftPinkyFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
LeftPinkyFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
LeftPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
WristTrackerRight = ObjectInitializer.CreateDefaultSubobject<USGWristTrackerComponent>(
|
WristTrackerRight = ObjectInitializer.CreateDefaultSubobject<USGWristTrackerComponent>(
|
||||||
this, TEXT("WristTrackerRight"));
|
this, TEXT("WristTrackerRight"));
|
||||||
@@ -167,67 +262,162 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
|
|||||||
HandRight->SetRight(true);
|
HandRight->SetRight(true);
|
||||||
HandRight->SetHiddenIfNoGloveDetected(true);
|
HandRight->SetHiddenIfNoGloveDetected(true);
|
||||||
HandRight->SetRelativeRotation(FRotator{0.0f, -90.0f, 0.0f},
|
HandRight->SetRelativeRotation(FRotator{0.0f, -90.0f, 0.0f},
|
||||||
false, nullptr, ETeleportType::None);
|
false, nullptr, ETeleportType::None);
|
||||||
HandRight->SetRelativeLocation(FVector{30.0f, 20.0f, -10.0f},
|
HandRight->SetRelativeLocation(FVector{30.0f, 20.0f, -10.0f},
|
||||||
false, nullptr, ETeleportType::None);
|
false, nullptr, ETeleportType::None);
|
||||||
HandRight->SetWristTracker(WristTrackerRight);
|
HandRight->SetWristTracker(WristTrackerRight);
|
||||||
|
|
||||||
RightThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
RightThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("RightThumbFingertipCollider"));
|
this, TEXT("RightThumbFingertipGrabCollider"));
|
||||||
RightThumbFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
RightThumbFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
RightThumbFingertipCollider->SetupAttachment(HandRight, HandRight->GetThumbFingertipSocketName());
|
RightThumbFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetThumbFingertipGrabSocketName());
|
||||||
RightThumbFingertipCollider->SetCastShadow(false);
|
RightThumbFingertipGrabCollider->SetCastShadow(false);
|
||||||
RightThumbFingertipCollider->bCastDynamicShadow = false;
|
RightThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
RightThumbFingertipCollider->SetReceivesDecals(true);
|
RightThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
RightThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
RightThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
RightThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
RightThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
RightThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
RightThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
RightIndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
RightIndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("RightIndexFingertipCollider"));
|
this, TEXT("RightIndexFingertipGrabCollider"));
|
||||||
RightIndexFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
RightIndexFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
RightIndexFingertipCollider->SetupAttachment(HandRight, HandRight->GetIndexFingertipSocketName());
|
RightIndexFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetIndexFingertipGrabSocketName());
|
||||||
RightIndexFingertipCollider->SetCastShadow(false);
|
RightIndexFingertipGrabCollider->SetCastShadow(false);
|
||||||
RightIndexFingertipCollider->bCastDynamicShadow = false;
|
RightIndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
RightIndexFingertipCollider->SetReceivesDecals(true);
|
RightIndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
RightIndexFingertipCollider->SetCanEverAffectNavigation(false);
|
RightIndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
RightIndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
RightIndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
RightIndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
RightIndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
RightMiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
RightMiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("RightMiddleFingertipCollider"));
|
this, TEXT("RightMiddleFingertipGrabCollider"));
|
||||||
RightMiddleFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
RightMiddleFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||||
RightMiddleFingertipCollider->SetupAttachment(HandRight, HandRight->GetMiddleFingertipSocketName());
|
RightMiddleFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetMiddleFingertipGrabSocketName());
|
||||||
RightMiddleFingertipCollider->SetCastShadow(false);
|
RightMiddleFingertipGrabCollider->SetCastShadow(false);
|
||||||
RightMiddleFingertipCollider->bCastDynamicShadow = false;
|
RightMiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
RightMiddleFingertipCollider->SetReceivesDecals(true);
|
RightMiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
RightMiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
RightMiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
RightMiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
RightMiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
RightMiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
RightMiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RightThumbFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RightThumbFingertipTouchCollider"));
|
||||||
|
RightThumbFingertipTouchCollider->SetRelativeScale3D(HandRight->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RightThumbFingertipTouchCollider->SetupAttachment(HandRight, HandRight->GetThumbFingertipTouchSocketName());
|
||||||
|
RightThumbFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RightThumbFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RightThumbFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RightThumbFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RightThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RightIndexFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RightIndexFingertipTouchCollider"));
|
||||||
|
RightIndexFingertipTouchCollider->SetRelativeScale3D(HandRight->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RightIndexFingertipTouchCollider->SetupAttachment(HandRight, HandRight->GetIndexFingertipTouchSocketName());
|
||||||
|
RightIndexFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RightIndexFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RightIndexFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RightIndexFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RightIndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RightMiddleFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RightMiddleFingertipTouchCollider"));
|
||||||
|
RightMiddleFingertipTouchCollider->SetRelativeScale3D(HandRight->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RightMiddleFingertipTouchCollider->SetupAttachment(HandRight, HandRight->GetMiddleFingertipTouchSocketName());
|
||||||
|
RightMiddleFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RightMiddleFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RightMiddleFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RightMiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RightRingFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RightRingFingertipTouchCollider"));
|
||||||
|
RightRingFingertipTouchCollider->SetRelativeScale3D(HandRight->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RightRingFingertipTouchCollider->SetupAttachment(HandRight, HandRight->GetRingFingertipTouchSocketName());
|
||||||
|
RightRingFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RightRingFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RightRingFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RightRingFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RightRingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RightPinkyFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RightPinkyFingertipTouchCollider"));
|
||||||
|
RightPinkyFingertipTouchCollider->SetRelativeScale3D(HandRight->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RightPinkyFingertipTouchCollider->SetupAttachment(HandRight, HandRight->GetPinkyFingertipTouchSocketName());
|
||||||
|
RightPinkyFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RightPinkyFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RightPinkyFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RightPinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ASGPawn::BeginPlay()
|
void ASGPawn::BeginPlay()
|
||||||
|
|||||||
@@ -81,62 +81,157 @@ ASGVirtualHandActor::ASGVirtualHandActor(const FObjectInitializer& ObjectInitial
|
|||||||
VirtualHand->SetRelativeRotation(FRotator{0.0f, -90.0f, 0.0f},
|
VirtualHand->SetRelativeRotation(FRotator{0.0f, -90.0f, 0.0f},
|
||||||
false, nullptr, ETeleportType::None);
|
false, nullptr, ETeleportType::None);
|
||||||
|
|
||||||
ThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
ThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("ThumbFingertipCollider"));
|
this, TEXT("ThumbFingertipGrabCollider"));
|
||||||
ThumbFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetThumbFingertipSocketName());
|
ThumbFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetThumbFingertipGrabSocketName());
|
||||||
ThumbFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
ThumbFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||||
ThumbFingertipCollider->SetCastShadow(false);
|
ThumbFingertipGrabCollider->SetCastShadow(false);
|
||||||
ThumbFingertipCollider->bCastDynamicShadow = false;
|
ThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
ThumbFingertipCollider->SetReceivesDecals(true);
|
ThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
ThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
ThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
ThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
ThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
ThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
ThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
IndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
IndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("IndexFingertipCollider"));
|
this, TEXT("IndexFingertipGrabCollider"));
|
||||||
IndexFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
IndexFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||||
IndexFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetIndexFingertipSocketName());
|
IndexFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetIndexFingertipGrabSocketName());
|
||||||
IndexFingertipCollider->SetCastShadow(false);
|
IndexFingertipGrabCollider->SetCastShadow(false);
|
||||||
IndexFingertipCollider->bCastDynamicShadow = false;
|
IndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
IndexFingertipCollider->SetReceivesDecals(true);
|
IndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
IndexFingertipCollider->SetCanEverAffectNavigation(false);
|
IndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
IndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
IndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
IndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
IndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
IndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
MiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
MiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
this, TEXT("MiddleFingertipCollider"));
|
this, TEXT("MiddleFingertipGrabCollider"));
|
||||||
MiddleFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
MiddleFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||||
MiddleFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetMiddleFingertipSocketName());
|
MiddleFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetMiddleFingertipGrabSocketName());
|
||||||
MiddleFingertipCollider->SetCastShadow(false);
|
MiddleFingertipGrabCollider->SetCastShadow(false);
|
||||||
MiddleFingertipCollider->bCastDynamicShadow = false;
|
MiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||||
MiddleFingertipCollider->SetReceivesDecals(true);
|
MiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||||
MiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
MiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||||
MiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
MiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
MiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
MiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
ThumbFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("ThumbFingertipTouchCollider"));
|
||||||
|
ThumbFingertipTouchCollider->SetupAttachment(VirtualHand, VirtualHand->GetThumbFingertipTouchSocketName());
|
||||||
|
ThumbFingertipTouchCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
ThumbFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
ThumbFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
ThumbFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
ThumbFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
ThumbFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
IndexFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("IndexFingertipTouchCollider"));
|
||||||
|
IndexFingertipTouchCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
IndexFingertipTouchCollider->SetupAttachment(VirtualHand, VirtualHand->GetIndexFingertipTouchSocketName());
|
||||||
|
IndexFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
IndexFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
IndexFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
IndexFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
IndexFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
MiddleFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("MiddleFingertipTouchCollider"));
|
||||||
|
MiddleFingertipTouchCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
MiddleFingertipTouchCollider->SetupAttachment(VirtualHand, VirtualHand->GetMiddleFingertipTouchSocketName());
|
||||||
|
MiddleFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
MiddleFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
MiddleFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
MiddleFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
MiddleFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
RingFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("RingFingertipTouchCollider"));
|
||||||
|
RingFingertipTouchCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
RingFingertipTouchCollider->SetupAttachment(VirtualHand, VirtualHand->GetRingFingertipTouchSocketName());
|
||||||
|
RingFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
RingFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
RingFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
RingFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
RingFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
RingFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
RingFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
|
PinkyFingertipTouchCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||||
|
this, TEXT("PinkyFingertipTouchCollider"));
|
||||||
|
PinkyFingertipTouchCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsTouchColliderSize());
|
||||||
|
PinkyFingertipTouchCollider->SetupAttachment(VirtualHand, VirtualHand->GetPinkyFingertipTouchSocketName());
|
||||||
|
PinkyFingertipTouchCollider->SetCastShadow(false);
|
||||||
|
PinkyFingertipTouchCollider->bCastDynamicShadow = false;
|
||||||
|
PinkyFingertipTouchCollider->SetReceivesDecals(true);
|
||||||
|
PinkyFingertipTouchCollider->SetCanEverAffectNavigation(false);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||||
|
PinkyFingertipTouchCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||||
|
|
||||||
WristTracker = CreateDefaultSubobject<USGWristTrackerComponent>(TEXT("WristTracker"));
|
WristTracker = CreateDefaultSubobject<USGWristTrackerComponent>(TEXT("WristTracker"));
|
||||||
WristTracker->SetupAttachment(RootComponent);
|
WristTracker->SetupAttachment(RootComponent);
|
||||||
|
|||||||
@@ -84,17 +84,35 @@ private:
|
|||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
uint8 bRight : 1;
|
uint8 bRight : 1;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||||
FVector DefaultFingertipsColliderSize;
|
FVector DefaultFingertipsGrabColliderSize;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||||
FName ThumbFingertipSocketName;
|
FName ThumbFingertipGrabSocketName;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||||
FName IndexFingertipSocketName;
|
FName IndexFingertipGrabSocketName;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||||
FName MiddleFingertipSocketName;
|
FName MiddleFingertipGrabSocketName;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FVector DefaultFingertipsTouchColliderSize;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FName ThumbFingertipTouchSocketName;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FName IndexFingertipTouchSocketName;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FName MiddleFingertipTouchSocketName;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FName RingFingertipTouchSocketName;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove | Touch", meta=(AllowPrivateAccess="false"))
|
||||||
|
FName PinkyFingertipTouchSocketName;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
uint8 bHiddenInGameIfNoGloveDetected : 1;
|
uint8 bHiddenInGameIfNoGloveDetected : 1;
|
||||||
@@ -126,39 +144,94 @@ public:
|
|||||||
|
|
||||||
void SetRight(const bool bInRight);
|
void SetRight(const bool bInRight);
|
||||||
|
|
||||||
FORCEINLINE const FVector& GetDefaultFingertipsColliderSize() const
|
FORCEINLINE const FVector& GetDefaultFingertipsGrabColliderSize() const
|
||||||
{
|
{
|
||||||
return DefaultFingertipsColliderSize;
|
return DefaultFingertipsGrabColliderSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE const FName& GetThumbFingertipSocketName() const
|
FORCEINLINE const FName& GetThumbFingertipGrabSocketName() const
|
||||||
{
|
{
|
||||||
return ThumbFingertipSocketName;
|
return ThumbFingertipGrabSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE void SetThumbFingertipSocketName(const FName& SocketName)
|
FORCEINLINE void SetThumbFingertipGrabSocketName(const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
ThumbFingertipSocketName = SocketName;
|
ThumbFingertipGrabSocketName = GrabSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE const FName& GetIndexFingertipSocketName() const
|
FORCEINLINE const FName& GetIndexFingertipGrabSocketName() const
|
||||||
{
|
{
|
||||||
return IndexFingertipSocketName;
|
return IndexFingertipGrabSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE void SetIndexFingertipSocketName(const FName& SocketName)
|
FORCEINLINE void SetIndexFingertipGrabSocketName(const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
IndexFingertipSocketName = SocketName;
|
IndexFingertipGrabSocketName = GrabSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE const FName& GetMiddleFingertipSocketName() const
|
FORCEINLINE const FName& GetMiddleFingertipGrabSocketName() const
|
||||||
{
|
{
|
||||||
return MiddleFingertipSocketName;
|
return MiddleFingertipGrabSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE void SetMiddleFingertipSocketName(const FName& SocketName)
|
FORCEINLINE void SetMiddleFingertipGrabSocketName(const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
MiddleFingertipSocketName = SocketName;
|
MiddleFingertipGrabSocketName = GrabSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FVector& GetDefaultFingertipsTouchColliderSize() const
|
||||||
|
{
|
||||||
|
return DefaultFingertipsTouchColliderSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FName& GetThumbFingertipTouchSocketName() const
|
||||||
|
{
|
||||||
|
return ThumbFingertipTouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void SetThumbFingertipTouchSocketName(const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
ThumbFingertipTouchSocketName = TouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FName& GetIndexFingertipTouchSocketName() const
|
||||||
|
{
|
||||||
|
return IndexFingertipTouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void SetIndexFingertipTouchSocketName(const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
IndexFingertipTouchSocketName = TouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FName& GetMiddleFingertipTouchSocketName() const
|
||||||
|
{
|
||||||
|
return MiddleFingertipTouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void SetMiddleFingertipTouchSocketName(const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
MiddleFingertipTouchSocketName = TouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FName& GetRingFingertipTouchSocketName() const
|
||||||
|
{
|
||||||
|
return RingFingertipTouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void SetRingFingertipTouchSocketName(const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
RingFingertipTouchSocketName = TouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE const FName& GetPinkyFingertipTouchSocketName() const
|
||||||
|
{
|
||||||
|
return PinkyFingertipTouchSocketName;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void SetPinkyFingertipTouchSocketName(const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
PinkyFingertipTouchSocketName = TouchSocketName;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE bool IsHiddenInGameIfNoGloveDetected() const
|
FORCEINLINE bool IsHiddenInGameIfNoGloveDetected() const
|
||||||
|
|||||||
@@ -76,13 +76,28 @@ private:
|
|||||||
USGVirtualHandComponent* HandLeft;
|
USGVirtualHandComponent* HandLeft;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* LeftThumbFingertipCollider;
|
USphereComponent* LeftThumbFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* LeftIndexFingertipCollider;
|
USphereComponent* LeftIndexFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* LeftMiddleFingertipCollider;
|
USphereComponent* LeftMiddleFingertipGrabCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* LeftThumbFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* LeftIndexFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* LeftMiddleFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* LeftRingFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* LeftPinkyFingertipTouchCollider;
|
||||||
|
|
||||||
UPROPERTY(VisibleAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(VisibleAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USGWristTrackerComponent* WristTrackerRight;
|
USGWristTrackerComponent* WristTrackerRight;
|
||||||
@@ -91,13 +106,28 @@ private:
|
|||||||
USGVirtualHandComponent* HandRight;
|
USGVirtualHandComponent* HandRight;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* RightThumbFingertipCollider;
|
USphereComponent* RightThumbFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* RightIndexFingertipCollider;
|
USphereComponent* RightIndexFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* RightMiddleFingertipCollider;
|
USphereComponent* RightMiddleFingertipGrabCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RightThumbFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RightIndexFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RightMiddleFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RightRingFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RightPinkyFingertipTouchCollider;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FORCEINLINE UCameraComponent* GetCamera() const
|
FORCEINLINE UCameraComponent* GetCamera() const
|
||||||
@@ -115,19 +145,44 @@ public:
|
|||||||
return HandLeft;
|
return HandLeft;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetLeftThumbFingertipCollider() const
|
FORCEINLINE USphereComponent* GetLeftThumbFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return LeftThumbFingertipCollider;
|
return LeftThumbFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetLeftIndexFingertipCollider() const
|
FORCEINLINE USphereComponent* GetLeftIndexFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return LeftIndexFingertipCollider;
|
return LeftIndexFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetLeftMiddleFingertipCollider() const
|
FORCEINLINE USphereComponent* GetLeftMiddleFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return LeftMiddleFingertipCollider;
|
return LeftMiddleFingertipGrabCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetLeftThumbFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return LeftThumbFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetLeftIndexFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return LeftIndexFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetLeftMiddleFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return LeftMiddleFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetLeftRingFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return LeftRingFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetLeftPinkyFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return LeftPinkyFingertipTouchCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USGWristTrackerComponent* GetWristTrackerRight() const
|
FORCEINLINE USGWristTrackerComponent* GetWristTrackerRight() const
|
||||||
@@ -140,19 +195,44 @@ public:
|
|||||||
return HandRight;
|
return HandRight;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetRightThumbFingertipCollider() const
|
FORCEINLINE USphereComponent* GetRightThumbFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return RightThumbFingertipCollider;
|
return RightThumbFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetRightIndexFingertipCollider() const
|
FORCEINLINE USphereComponent* GetRightIndexFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return RightIndexFingertipCollider;
|
return RightIndexFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetRightMiddleFingertipCollider() const
|
FORCEINLINE USphereComponent* GetRightMiddleFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return RightMiddleFingertipCollider;
|
return RightMiddleFingertipGrabCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRightThumbFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RightThumbFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRightIndexFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RightIndexFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRightMiddleFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RightMiddleFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRightRingFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RightRingFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRightPinkyFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RightPinkyFingertipTouchCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -79,13 +79,28 @@ private:
|
|||||||
USGVirtualHandComponent* VirtualHand;
|
USGVirtualHandComponent* VirtualHand;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* ThumbFingertipCollider;
|
USphereComponent* ThumbFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* IndexFingertipCollider;
|
USphereComponent* IndexFingertipGrabCollider;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
USphereComponent* MiddleFingertipCollider;
|
USphereComponent* MiddleFingertipGrabCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* ThumbFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* IndexFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* MiddleFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* RingFingertipTouchCollider;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||||
|
USphereComponent* PinkyFingertipTouchCollider;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FORCEINLINE USGWristTrackerComponent* GetWristTracker() const
|
FORCEINLINE USGWristTrackerComponent* GetWristTracker() const
|
||||||
@@ -98,19 +113,44 @@ public:
|
|||||||
return VirtualHand;
|
return VirtualHand;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetThumbFingertipCollider() const
|
FORCEINLINE USphereComponent* GetThumbFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return ThumbFingertipCollider;
|
return ThumbFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetIndexFingertipCollider() const
|
FORCEINLINE USphereComponent* GetIndexFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return IndexFingertipCollider;
|
return IndexFingertipGrabCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE USphereComponent* GetMiddleFingertipCollider() const
|
FORCEINLINE USphereComponent* GetMiddleFingertipGrabCollider() const
|
||||||
{
|
{
|
||||||
return MiddleFingertipCollider;
|
return MiddleFingertipGrabCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetThumbFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return ThumbFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetIndexFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return IndexFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetMiddleFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return MiddleFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetRingFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return RingFingertipTouchCollider;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE USphereComponent* GetPinkyFingertipTouchCollider() const
|
||||||
|
{
|
||||||
|
return PinkyFingertipTouchCollider;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -57,19 +57,44 @@ USGVirtualHandComponent* UPawnKismetLibrary::GetHandLeft(const ASGPawn* Pawn)
|
|||||||
return Pawn->GetHandLeft();
|
return Pawn->GetHandLeft();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetLeftThumbFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetLeftThumbFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetLeftThumbFingertipCollider();
|
return Pawn->GetLeftThumbFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetLeftIndexFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetLeftIndexFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetLeftIndexFingertipCollider();
|
return Pawn->GetLeftIndexFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetLeftMiddleFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetLeftMiddleFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetLeftMiddleFingertipCollider();
|
return Pawn->GetLeftMiddleFingertipGrabCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetLeftThumbFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetLeftThumbFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetLeftIndexFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetLeftIndexFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetLeftMiddleFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetLeftMiddleFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetLeftRingFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetLeftRingFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetLeftPinkyFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetLeftPinkyFingertipTouchCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USGWristTrackerComponent* UPawnKismetLibrary::GetWristTrackerRight(const ASGPawn* Pawn)
|
USGWristTrackerComponent* UPawnKismetLibrary::GetWristTrackerRight(const ASGPawn* Pawn)
|
||||||
@@ -82,17 +107,42 @@ USGVirtualHandComponent* UPawnKismetLibrary::GetHandRight(const ASGPawn* Pawn)
|
|||||||
return Pawn->GetHandRight();
|
return Pawn->GetHandRight();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetRightThumbFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetRightThumbFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetRightThumbFingertipCollider();
|
return Pawn->GetRightThumbFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetRightIndexFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetRightIndexFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetRightIndexFingertipCollider();
|
return Pawn->GetRightIndexFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UPawnKismetLibrary::GetRightMiddleFingertipCollider(const ASGPawn* Pawn)
|
USphereComponent* UPawnKismetLibrary::GetRightMiddleFingertipGrabCollider(const ASGPawn* Pawn)
|
||||||
{
|
{
|
||||||
return Pawn->GetRightMiddleFingertipCollider();
|
return Pawn->GetRightMiddleFingertipGrabCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetRightThumbFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetRightThumbFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetRightIndexFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetRightIndexFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetRightMiddleFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetRightMiddleFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetRightRingFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetRightRingFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UPawnKismetLibrary::GetRightPinkyFingertipTouchCollider(const ASGPawn* Pawn)
|
||||||
|
{
|
||||||
|
return Pawn->GetRightPinkyFingertipTouchCollider();
|
||||||
}
|
}
|
||||||
@@ -51,22 +51,51 @@ USGVirtualHandComponent* UVirtualHandActorKismetLibrary::GetVirtualHand(const AS
|
|||||||
return VirtualHandActor->GetVirtualHand();
|
return VirtualHandActor->GetVirtualHand();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UVirtualHandActorKismetLibrary::GetThumbFingertipCollider(
|
USphereComponent* UVirtualHandActorKismetLibrary::GetThumbFingertipGrabCollider(
|
||||||
const ASGVirtualHandActor* VirtualHandActor)
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
{
|
{
|
||||||
return VirtualHandActor->GetThumbFingertipCollider();
|
return VirtualHandActor->GetThumbFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UVirtualHandActorKismetLibrary::GetIndexFingertipCollider(
|
USphereComponent* UVirtualHandActorKismetLibrary::GetIndexFingertipGrabCollider(
|
||||||
const ASGVirtualHandActor* VirtualHandActor)
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
{
|
{
|
||||||
return VirtualHandActor->GetIndexFingertipCollider();
|
return VirtualHandActor->GetIndexFingertipGrabCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
USphereComponent* UVirtualHandActorKismetLibrary::GetMiddleFingertipCollider(
|
USphereComponent* UVirtualHandActorKismetLibrary::GetMiddleFingertipGrabCollider(
|
||||||
const ASGVirtualHandActor* VirtualHandActor)
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
{
|
{
|
||||||
return VirtualHandActor->GetMiddleFingertipCollider();
|
return VirtualHandActor->GetMiddleFingertipGrabCollider();
|
||||||
|
}
|
||||||
|
USphereComponent* UVirtualHandActorKismetLibrary::GetThumbFingertipTouchCollider(
|
||||||
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
{
|
||||||
|
return VirtualHandActor->GetThumbFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UVirtualHandActorKismetLibrary::GetIndexFingertipTouchCollider(
|
||||||
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
{
|
||||||
|
return VirtualHandActor->GetIndexFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UVirtualHandActorKismetLibrary::GetMiddleFingertipTouchCollider(
|
||||||
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
{
|
||||||
|
return VirtualHandActor->GetMiddleFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UVirtualHandActorKismetLibrary::GetRingFingertipTouchCollider(
|
||||||
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
{
|
||||||
|
return VirtualHandActor->GetRingFingertipTouchCollider();
|
||||||
|
}
|
||||||
|
|
||||||
|
USphereComponent* UVirtualHandActorKismetLibrary::GetPinkyFingertipTouchCollider(
|
||||||
|
const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
{
|
||||||
|
return VirtualHandActor->GetPinkyFingertipTouchCollider();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UVirtualHandActorKismetLibrary::IsLeft(const ASGVirtualHandActor* VirtualHandActor)
|
bool UVirtualHandActorKismetLibrary::IsLeft(const ASGVirtualHandActor* VirtualHandActor)
|
||||||
|
|||||||
@@ -77,46 +77,113 @@ void UVirtualHandComponentKismetLibrary::SetRight(USGVirtualHandComponent* Virtu
|
|||||||
VirtualHandComponent->SetRight(bInRight);
|
VirtualHandComponent->SetRight(bInRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
const FVector& UVirtualHandComponentKismetLibrary::GetDefaultFingertipsColliderSize(
|
const FVector& UVirtualHandComponentKismetLibrary::GetDefaultFingertipsGrabColliderSize(
|
||||||
const USGVirtualHandComponent* VirtualHandComponent)
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
{
|
{
|
||||||
return VirtualHandComponent->GetDefaultFingertipsColliderSize();
|
return VirtualHandComponent->GetDefaultFingertipsGrabColliderSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
const FName& UVirtualHandComponentKismetLibrary::GetThumbFingertipSocketName(
|
const FName& UVirtualHandComponentKismetLibrary::GetThumbFingertipGrabSocketName(
|
||||||
const USGVirtualHandComponent* VirtualHandComponent)
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
{
|
{
|
||||||
return VirtualHandComponent->GetThumbFingertipSocketName();
|
return VirtualHandComponent->GetThumbFingertipGrabSocketName();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UVirtualHandComponentKismetLibrary::SetThumbFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
void UVirtualHandComponentKismetLibrary::SetThumbFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName)
|
const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
VirtualHandComponent->SetThumbFingertipSocketName(SocketName);
|
VirtualHandComponent->SetThumbFingertipGrabSocketName(GrabSocketName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const FName& UVirtualHandComponentKismetLibrary::GetIndexFingertipSocketName(
|
const FName& UVirtualHandComponentKismetLibrary::GetIndexFingertipGrabSocketName(
|
||||||
const USGVirtualHandComponent* VirtualHandComponent)
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
{
|
{
|
||||||
return VirtualHandComponent->GetIndexFingertipSocketName();
|
return VirtualHandComponent->GetIndexFingertipGrabSocketName();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UVirtualHandComponentKismetLibrary::SetIndexFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
void UVirtualHandComponentKismetLibrary::SetIndexFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName)
|
const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
VirtualHandComponent->SetIndexFingertipSocketName(SocketName);
|
VirtualHandComponent->SetIndexFingertipGrabSocketName(GrabSocketName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const FName& UVirtualHandComponentKismetLibrary::GetMiddleFingertipSocketName(
|
const FName& UVirtualHandComponentKismetLibrary::GetMiddleFingertipGrabSocketName(
|
||||||
const USGVirtualHandComponent* VirtualHandComponent)
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
{
|
{
|
||||||
return VirtualHandComponent->GetMiddleFingertipSocketName();
|
return VirtualHandComponent->GetMiddleFingertipGrabSocketName();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UVirtualHandComponentKismetLibrary::SetMiddleFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
void UVirtualHandComponentKismetLibrary::SetMiddleFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName)
|
const FName& GrabSocketName)
|
||||||
{
|
{
|
||||||
VirtualHandComponent->SetMiddleFingertipSocketName(SocketName);
|
VirtualHandComponent->SetMiddleFingertipGrabSocketName(GrabSocketName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FVector& UVirtualHandComponentKismetLibrary::GetDefaultFingertipsTouchColliderSize(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetDefaultFingertipsTouchColliderSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
const FName& UVirtualHandComponentKismetLibrary::GetThumbFingertipTouchSocketName(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetThumbFingertipTouchSocketName();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UVirtualHandComponentKismetLibrary::SetThumbFingertipTouchSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
VirtualHandComponent->SetThumbFingertipTouchSocketName(TouchSocketName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FName& UVirtualHandComponentKismetLibrary::GetIndexFingertipTouchSocketName(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetIndexFingertipTouchSocketName();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UVirtualHandComponentKismetLibrary::SetIndexFingertipTouchSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
VirtualHandComponent->SetIndexFingertipTouchSocketName(TouchSocketName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FName& UVirtualHandComponentKismetLibrary::GetMiddleFingertipTouchSocketName(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetMiddleFingertipTouchSocketName();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UVirtualHandComponentKismetLibrary::SetMiddleFingertipTouchSocketName(
|
||||||
|
USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
VirtualHandComponent->SetMiddleFingertipTouchSocketName(TouchSocketName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FName& UVirtualHandComponentKismetLibrary::GetRingFingertipTouchSocketName(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetRingFingertipTouchSocketName();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UVirtualHandComponentKismetLibrary::SetRingFingertipTouchSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
VirtualHandComponent->SetRingFingertipTouchSocketName(TouchSocketName);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FName& UVirtualHandComponentKismetLibrary::GetPinkyFingertipTouchSocketName(
|
||||||
|
const USGVirtualHandComponent* VirtualHandComponent)
|
||||||
|
{
|
||||||
|
return VirtualHandComponent->GetPinkyFingertipTouchSocketName();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UVirtualHandComponentKismetLibrary::SetPinkyFingertipTouchSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName)
|
||||||
|
{
|
||||||
|
VirtualHandComponent->SetPinkyFingertipTouchSocketName(TouchSocketName);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UVirtualHandComponentKismetLibrary::IsHiddenInGameIfNoGloveDetected(
|
bool UVirtualHandComponentKismetLibrary::IsHiddenInGameIfNoGloveDetected(
|
||||||
|
|||||||
@@ -72,13 +72,28 @@ public:
|
|||||||
static USGVirtualHandComponent* GetHandLeft(const ASGPawn* Pawn);
|
static USGVirtualHandComponent* GetHandLeft(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetLeftThumbFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetLeftThumbFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetLeftIndexFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetLeftIndexFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetLeftMiddleFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetLeftMiddleFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetLeftThumbFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetLeftIndexFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetLeftMiddleFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetLeftRingFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetLeftPinkyFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USGWristTrackerComponent* GetWristTrackerRight(const ASGPawn* Pawn);
|
static USGWristTrackerComponent* GetWristTrackerRight(const ASGPawn* Pawn);
|
||||||
@@ -87,11 +102,26 @@ public:
|
|||||||
static USGVirtualHandComponent* GetHandRight(const ASGPawn* Pawn);
|
static USGVirtualHandComponent* GetHandRight(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetRightThumbFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetRightThumbFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetRightIndexFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetRightIndexFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
static USphereComponent* GetRightMiddleFingertipCollider(const ASGPawn* Pawn);
|
static USphereComponent* GetRightMiddleFingertipGrabCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetRightThumbFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetRightIndexFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetRightMiddleFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetRightRingFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Pawn")
|
||||||
|
static USphereComponent* GetRightPinkyFingertipTouchCollider(const ASGPawn* Pawn);
|
||||||
};
|
};
|
||||||
@@ -60,13 +60,28 @@ public:
|
|||||||
static USGVirtualHandComponent* GetVirtualHand(const ASGVirtualHandActor* VirtualHandActor);
|
static USGVirtualHandComponent* GetVirtualHand(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
static USphereComponent* GetThumbFingertipCollider(const ASGVirtualHandActor* VirtualHandActor);
|
static USphereComponent* GetThumbFingertipGrabCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
static USphereComponent* GetIndexFingertipCollider(const ASGVirtualHandActor* VirtualHandActor);
|
static USphereComponent* GetIndexFingertipGrabCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
static USphereComponent* GetMiddleFingertipCollider(const ASGVirtualHandActor* VirtualHandActor);
|
static USphereComponent* GetMiddleFingertipGrabCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
|
static USphereComponent* GetThumbFingertipTouchCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
|
static USphereComponent* GetIndexFingertipTouchCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
|
static USphereComponent* GetMiddleFingertipTouchCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
|
static USphereComponent* GetRingFingertipTouchCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
|
static USphereComponent* GetPinkyFingertipTouchCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Game Framework | Virtual Hand")
|
||||||
static bool IsLeft(const ASGVirtualHandActor* VirtualHandActor);
|
static bool IsLeft(const ASGVirtualHandActor* VirtualHandActor);
|
||||||
|
|||||||
@@ -81,28 +81,66 @@ public:
|
|||||||
static void SetRight(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent, bool bInRight);
|
static void SetRight(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent, bool bInRight);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static const FVector& GetDefaultFingertipsColliderSize(const USGVirtualHandComponent* VirtualHandComponent);
|
static const FVector& GetDefaultFingertipsGrabColliderSize(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static const FName& GetThumbFingertipSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
static const FName& GetThumbFingertipGrabSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static void SetThumbFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
static void SetThumbFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName);
|
const FName& GrabSocketName);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static const FName& GetIndexFingertipSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
static const FName& GetIndexFingertipGrabSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static void SetIndexFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
static void SetIndexFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName);
|
const FName& GrabSocketName);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static const FName& GetMiddleFingertipSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
static const FName& GetMiddleFingertipGrabSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static void SetMiddleFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
static void SetMiddleFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
const FName& SocketName);
|
const FName& GrabSocketName);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FVector& GetDefaultFingertipsTouchColliderSize(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FName& GetThumbFingertipTouchSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static void SetThumbFingertipTouchSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FName& GetIndexFingertipTouchSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static void SetIndexFingertipTouchSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FName& GetMiddleFingertipTouchSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static void SetMiddleFingertipTouchSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FName& GetRingFingertipTouchSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static void SetRingFingertipTouchSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static const FName& GetPinkyFingertipTouchSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
|
static void SetPinkyFingertipTouchSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||||
|
const FName& TouchSocketName);
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
UFUNCTION(BlueprintPure, Category="SenseGlove | Components | Virtual Hand Component")
|
||||||
static bool IsHiddenInGameIfNoGloveDetected(const USGVirtualHandComponent* VirtualHandComponent);
|
static bool IsHiddenInGameIfNoGloveDetected(const USGVirtualHandComponent* VirtualHandComponent);
|
||||||
|
|||||||
Reference in New Issue
Block a user