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;
|
||||
|
||||
DefaultFingertipsColliderSize = FVector{0.04f, 0.04f, 0.04f};
|
||||
DefaultFingertipsGrabColliderSize = FVector{0.04f, 0.04f, 0.04f};
|
||||
|
||||
ThumbFingertipSocketName = FName(TEXT("ThumbFingertip"));
|
||||
IndexFingertipSocketName = FName(TEXT("ThumbFingertip"));
|
||||
MiddleFingertipSocketName = FName(TEXT("MiddleFingertip"));
|
||||
ThumbFingertipGrabSocketName = FName(TEXT("ThumbFingertip"));
|
||||
IndexFingertipGrabSocketName = FName(TEXT("IndexFingertip"));
|
||||
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;
|
||||
|
||||
|
||||
@@ -100,62 +100,157 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
|
||||
false, nullptr, ETeleportType::None);
|
||||
HandLeft->SetWristTracker(WristTrackerLeft);
|
||||
|
||||
LeftThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftThumbFingertipCollider"));
|
||||
LeftThumbFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
LeftThumbFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetThumbFingertipSocketName());
|
||||
LeftThumbFingertipCollider->SetCastShadow(false);
|
||||
LeftThumbFingertipCollider->bCastDynamicShadow = false;
|
||||
LeftThumbFingertipCollider->SetReceivesDecals(true);
|
||||
LeftThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
LeftThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
LeftThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftThumbFingertipGrabCollider"));
|
||||
LeftThumbFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
LeftThumbFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetThumbFingertipGrabSocketName());
|
||||
LeftThumbFingertipGrabCollider->SetCastShadow(false);
|
||||
LeftThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
LeftThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||
LeftThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
LeftThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
LeftIndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftIndexFingertipCollider"));
|
||||
LeftIndexFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
LeftIndexFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetIndexFingertipSocketName());
|
||||
LeftIndexFingertipCollider->SetCastShadow(false);
|
||||
LeftIndexFingertipCollider->bCastDynamicShadow = false;
|
||||
LeftIndexFingertipCollider->SetReceivesDecals(true);
|
||||
LeftIndexFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
LeftIndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftIndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
LeftIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftIndexFingertipGrabCollider"));
|
||||
LeftIndexFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
LeftIndexFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetIndexFingertipGrabSocketName());
|
||||
LeftIndexFingertipGrabCollider->SetCastShadow(false);
|
||||
LeftIndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
LeftIndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||
LeftIndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
LeftIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
LeftMiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftMiddleFingertipCollider"));
|
||||
LeftMiddleFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
LeftMiddleFingertipCollider->SetupAttachment(HandLeft, HandLeft->GetMiddleFingertipSocketName());
|
||||
LeftMiddleFingertipCollider->SetCastShadow(false);
|
||||
LeftMiddleFingertipCollider->bCastDynamicShadow = false;
|
||||
LeftMiddleFingertipCollider->SetReceivesDecals(true);
|
||||
LeftMiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
LeftMiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftMiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
LeftMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("LeftMiddleFingertipGrabCollider"));
|
||||
LeftMiddleFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
LeftMiddleFingertipGrabCollider->SetupAttachment(HandLeft, HandLeft->GetMiddleFingertipGrabSocketName());
|
||||
LeftMiddleFingertipGrabCollider->SetCastShadow(false);
|
||||
LeftMiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
LeftMiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||
LeftMiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
LeftMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, 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>(
|
||||
this, TEXT("WristTrackerRight"));
|
||||
@@ -167,67 +262,162 @@ ASGPawn::ASGPawn(const FObjectInitializer& ObjectInitializer)
|
||||
HandRight->SetRight(true);
|
||||
HandRight->SetHiddenIfNoGloveDetected(true);
|
||||
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},
|
||||
false, nullptr, ETeleportType::None);
|
||||
HandRight->SetWristTracker(WristTrackerRight);
|
||||
|
||||
RightThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightThumbFingertipCollider"));
|
||||
RightThumbFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
RightThumbFingertipCollider->SetupAttachment(HandRight, HandRight->GetThumbFingertipSocketName());
|
||||
RightThumbFingertipCollider->SetCastShadow(false);
|
||||
RightThumbFingertipCollider->bCastDynamicShadow = false;
|
||||
RightThumbFingertipCollider->SetReceivesDecals(true);
|
||||
RightThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
RightThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
RightThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightThumbFingertipGrabCollider"));
|
||||
RightThumbFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
RightThumbFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetThumbFingertipGrabSocketName());
|
||||
RightThumbFingertipGrabCollider->SetCastShadow(false);
|
||||
RightThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
RightThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||
RightThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
RightThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
RightThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
RightIndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightIndexFingertipCollider"));
|
||||
RightIndexFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
RightIndexFingertipCollider->SetupAttachment(HandRight, HandRight->GetIndexFingertipSocketName());
|
||||
RightIndexFingertipCollider->SetCastShadow(false);
|
||||
RightIndexFingertipCollider->bCastDynamicShadow = false;
|
||||
RightIndexFingertipCollider->SetReceivesDecals(true);
|
||||
RightIndexFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
RightIndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightIndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
RightIndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightIndexFingertipGrabCollider"));
|
||||
RightIndexFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
RightIndexFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetIndexFingertipGrabSocketName());
|
||||
RightIndexFingertipGrabCollider->SetCastShadow(false);
|
||||
RightIndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
RightIndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||
RightIndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
RightIndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightIndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
RightIndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
RightMiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightMiddleFingertipCollider"));
|
||||
RightMiddleFingertipCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsColliderSize());
|
||||
RightMiddleFingertipCollider->SetupAttachment(HandRight, HandRight->GetMiddleFingertipSocketName());
|
||||
RightMiddleFingertipCollider->SetCastShadow(false);
|
||||
RightMiddleFingertipCollider->bCastDynamicShadow = false;
|
||||
RightMiddleFingertipCollider->SetReceivesDecals(true);
|
||||
RightMiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
RightMiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightMiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
RightMiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("RightMiddleFingertipGrabCollider"));
|
||||
RightMiddleFingertipGrabCollider->SetRelativeScale3D(HandLeft->GetDefaultFingertipsGrabColliderSize());
|
||||
RightMiddleFingertipGrabCollider->SetupAttachment(HandRight, HandRight->GetMiddleFingertipGrabSocketName());
|
||||
RightMiddleFingertipGrabCollider->SetCastShadow(false);
|
||||
RightMiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
RightMiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||
RightMiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
RightMiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, 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()
|
||||
|
||||
@@ -81,62 +81,157 @@ ASGVirtualHandActor::ASGVirtualHandActor(const FObjectInitializer& ObjectInitial
|
||||
VirtualHand->SetRelativeRotation(FRotator{0.0f, -90.0f, 0.0f},
|
||||
false, nullptr, ETeleportType::None);
|
||||
|
||||
ThumbFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("ThumbFingertipCollider"));
|
||||
ThumbFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetThumbFingertipSocketName());
|
||||
ThumbFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
||||
ThumbFingertipCollider->SetCastShadow(false);
|
||||
ThumbFingertipCollider->bCastDynamicShadow = false;
|
||||
ThumbFingertipCollider->SetReceivesDecals(true);
|
||||
ThumbFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
ThumbFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
ThumbFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
ThumbFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
ThumbFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("ThumbFingertipGrabCollider"));
|
||||
ThumbFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetThumbFingertipGrabSocketName());
|
||||
ThumbFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||
ThumbFingertipGrabCollider->SetCastShadow(false);
|
||||
ThumbFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
ThumbFingertipGrabCollider->SetReceivesDecals(true);
|
||||
ThumbFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
ThumbFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
ThumbFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
ThumbFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
IndexFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("IndexFingertipCollider"));
|
||||
IndexFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
||||
IndexFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetIndexFingertipSocketName());
|
||||
IndexFingertipCollider->SetCastShadow(false);
|
||||
IndexFingertipCollider->bCastDynamicShadow = false;
|
||||
IndexFingertipCollider->SetReceivesDecals(true);
|
||||
IndexFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
IndexFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
IndexFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
IndexFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
IndexFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
IndexFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("IndexFingertipGrabCollider"));
|
||||
IndexFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||
IndexFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetIndexFingertipGrabSocketName());
|
||||
IndexFingertipGrabCollider->SetCastShadow(false);
|
||||
IndexFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
IndexFingertipGrabCollider->SetReceivesDecals(true);
|
||||
IndexFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
IndexFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
IndexFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
IndexFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
|
||||
MiddleFingertipCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("MiddleFingertipCollider"));
|
||||
MiddleFingertipCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsColliderSize());
|
||||
MiddleFingertipCollider->SetupAttachment(VirtualHand, VirtualHand->GetMiddleFingertipSocketName());
|
||||
MiddleFingertipCollider->SetCastShadow(false);
|
||||
MiddleFingertipCollider->bCastDynamicShadow = false;
|
||||
MiddleFingertipCollider->SetReceivesDecals(true);
|
||||
MiddleFingertipCollider->SetCanEverAffectNavigation(false);
|
||||
MiddleFingertipCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
MiddleFingertipCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
MiddleFingertipCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Overlap);
|
||||
MiddleFingertipCollider->SetCollisionResponseToChannel(ECC_Destructible, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider = ObjectInitializer.CreateDefaultSubobject<USphereComponent>(
|
||||
this, TEXT("MiddleFingertipGrabCollider"));
|
||||
MiddleFingertipGrabCollider->SetRelativeScale3D(VirtualHand->GetDefaultFingertipsGrabColliderSize());
|
||||
MiddleFingertipGrabCollider->SetupAttachment(VirtualHand, VirtualHand->GetMiddleFingertipGrabSocketName());
|
||||
MiddleFingertipGrabCollider->SetCastShadow(false);
|
||||
MiddleFingertipGrabCollider->bCastDynamicShadow = false;
|
||||
MiddleFingertipGrabCollider->SetReceivesDecals(true);
|
||||
MiddleFingertipGrabCollider->SetCanEverAffectNavigation(false);
|
||||
MiddleFingertipGrabCollider->SetCollisionObjectType(ECC_WorldDynamic);
|
||||
MiddleFingertipGrabCollider->SetCollisionEnabled(ECollisionEnabled::QueryOnly);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToAllChannels(ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldStatic, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_WorldDynamic, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Pawn, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Visibility, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_PhysicsBody, ECR_Overlap);
|
||||
MiddleFingertipGrabCollider->SetCollisionResponseToChannel(ECC_Vehicle, 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->SetupAttachment(RootComponent);
|
||||
|
||||
@@ -84,17 +84,35 @@ private:
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
uint8 bRight : 1;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
FVector DefaultFingertipsColliderSize;
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||
FVector DefaultFingertipsGrabColliderSize;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
FName ThumbFingertipSocketName;
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||
FName ThumbFingertipGrabSocketName;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
FName IndexFingertipSocketName;
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||
FName IndexFingertipGrabSocketName;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
FName MiddleFingertipSocketName;
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove | Grab", meta=(AllowPrivateAccess="false"))
|
||||
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"))
|
||||
uint8 bHiddenInGameIfNoGloveDetected : 1;
|
||||
@@ -126,39 +144,94 @@ public:
|
||||
|
||||
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
|
||||
|
||||
@@ -76,13 +76,28 @@ private:
|
||||
USGVirtualHandComponent* HandLeft;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* LeftThumbFingertipCollider;
|
||||
USphereComponent* LeftThumbFingertipGrabCollider;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* LeftIndexFingertipCollider;
|
||||
USphereComponent* LeftIndexFingertipGrabCollider;
|
||||
|
||||
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"))
|
||||
USGWristTrackerComponent* WristTrackerRight;
|
||||
@@ -91,13 +106,28 @@ private:
|
||||
USGVirtualHandComponent* HandRight;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* RightThumbFingertipCollider;
|
||||
USphereComponent* RightThumbFingertipGrabCollider;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* RightIndexFingertipCollider;
|
||||
USphereComponent* RightIndexFingertipGrabCollider;
|
||||
|
||||
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:
|
||||
FORCEINLINE UCameraComponent* GetCamera() const
|
||||
@@ -115,19 +145,44 @@ public:
|
||||
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
|
||||
@@ -140,19 +195,44 @@ public:
|
||||
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:
|
||||
|
||||
@@ -79,13 +79,28 @@ private:
|
||||
USGVirtualHandComponent* VirtualHand;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* ThumbFingertipCollider;
|
||||
USphereComponent* ThumbFingertipGrabCollider;
|
||||
|
||||
UPROPERTY(EditAnywhere, Category="SenseGlove", meta=(AllowPrivateAccess="false"))
|
||||
USphereComponent* IndexFingertipCollider;
|
||||
USphereComponent* IndexFingertipGrabCollider;
|
||||
|
||||
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:
|
||||
FORCEINLINE USGWristTrackerComponent* GetWristTracker() const
|
||||
@@ -98,19 +113,44 @@ public:
|
||||
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:
|
||||
|
||||
@@ -57,19 +57,44 @@ USGVirtualHandComponent* UPawnKismetLibrary::GetHandLeft(const ASGPawn* Pawn)
|
||||
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)
|
||||
@@ -82,17 +107,42 @@ USGVirtualHandComponent* UPawnKismetLibrary::GetHandRight(const ASGPawn* Pawn)
|
||||
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();
|
||||
}
|
||||
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetThumbFingertipCollider(
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetThumbFingertipGrabCollider(
|
||||
const ASGVirtualHandActor* VirtualHandActor)
|
||||
{
|
||||
return VirtualHandActor->GetThumbFingertipCollider();
|
||||
return VirtualHandActor->GetThumbFingertipGrabCollider();
|
||||
}
|
||||
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetIndexFingertipCollider(
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetIndexFingertipGrabCollider(
|
||||
const ASGVirtualHandActor* VirtualHandActor)
|
||||
{
|
||||
return VirtualHandActor->GetIndexFingertipCollider();
|
||||
return VirtualHandActor->GetIndexFingertipGrabCollider();
|
||||
}
|
||||
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetMiddleFingertipCollider(
|
||||
USphereComponent* UVirtualHandActorKismetLibrary::GetMiddleFingertipGrabCollider(
|
||||
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)
|
||||
|
||||
@@ -77,46 +77,113 @@ void UVirtualHandComponentKismetLibrary::SetRight(USGVirtualHandComponent* Virtu
|
||||
VirtualHandComponent->SetRight(bInRight);
|
||||
}
|
||||
|
||||
const FVector& UVirtualHandComponentKismetLibrary::GetDefaultFingertipsColliderSize(
|
||||
const FVector& UVirtualHandComponentKismetLibrary::GetDefaultFingertipsGrabColliderSize(
|
||||
const USGVirtualHandComponent* VirtualHandComponent)
|
||||
{
|
||||
return VirtualHandComponent->GetDefaultFingertipsColliderSize();
|
||||
return VirtualHandComponent->GetDefaultFingertipsGrabColliderSize();
|
||||
}
|
||||
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetThumbFingertipSocketName(
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetThumbFingertipGrabSocketName(
|
||||
const USGVirtualHandComponent* VirtualHandComponent)
|
||||
{
|
||||
return VirtualHandComponent->GetThumbFingertipSocketName();
|
||||
return VirtualHandComponent->GetThumbFingertipGrabSocketName();
|
||||
}
|
||||
|
||||
void UVirtualHandComponentKismetLibrary::SetThumbFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName)
|
||||
void UVirtualHandComponentKismetLibrary::SetThumbFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& GrabSocketName)
|
||||
{
|
||||
VirtualHandComponent->SetThumbFingertipSocketName(SocketName);
|
||||
VirtualHandComponent->SetThumbFingertipGrabSocketName(GrabSocketName);
|
||||
}
|
||||
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetIndexFingertipSocketName(
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetIndexFingertipGrabSocketName(
|
||||
const USGVirtualHandComponent* VirtualHandComponent)
|
||||
{
|
||||
return VirtualHandComponent->GetIndexFingertipSocketName();
|
||||
return VirtualHandComponent->GetIndexFingertipGrabSocketName();
|
||||
}
|
||||
|
||||
void UVirtualHandComponentKismetLibrary::SetIndexFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName)
|
||||
void UVirtualHandComponentKismetLibrary::SetIndexFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& GrabSocketName)
|
||||
{
|
||||
VirtualHandComponent->SetIndexFingertipSocketName(SocketName);
|
||||
VirtualHandComponent->SetIndexFingertipGrabSocketName(GrabSocketName);
|
||||
}
|
||||
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetMiddleFingertipSocketName(
|
||||
const FName& UVirtualHandComponentKismetLibrary::GetMiddleFingertipGrabSocketName(
|
||||
const USGVirtualHandComponent* VirtualHandComponent)
|
||||
{
|
||||
return VirtualHandComponent->GetMiddleFingertipSocketName();
|
||||
return VirtualHandComponent->GetMiddleFingertipGrabSocketName();
|
||||
}
|
||||
|
||||
void UVirtualHandComponentKismetLibrary::SetMiddleFingertipSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName)
|
||||
void UVirtualHandComponentKismetLibrary::SetMiddleFingertipGrabSocketName(USGVirtualHandComponent* VirtualHandComponent,
|
||||
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(
|
||||
|
||||
@@ -72,13 +72,28 @@ public:
|
||||
static USGVirtualHandComponent* GetHandLeft(const ASGPawn* 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")
|
||||
static USphereComponent* GetLeftIndexFingertipCollider(const ASGPawn* Pawn);
|
||||
static USphereComponent* GetLeftIndexFingertipGrabCollider(const ASGPawn* 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")
|
||||
static USGWristTrackerComponent* GetWristTrackerRight(const ASGPawn* Pawn);
|
||||
@@ -87,11 +102,26 @@ public:
|
||||
static USGVirtualHandComponent* GetHandRight(const ASGPawn* 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")
|
||||
static USphereComponent* GetRightIndexFingertipCollider(const ASGPawn* Pawn);
|
||||
static USphereComponent* GetRightIndexFingertipGrabCollider(const ASGPawn* 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);
|
||||
|
||||
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")
|
||||
static USphereComponent* GetIndexFingertipCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||
static USphereComponent* GetIndexFingertipGrabCollider(const ASGVirtualHandActor* VirtualHandActor);
|
||||
|
||||
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")
|
||||
static bool IsLeft(const ASGVirtualHandActor* VirtualHandActor);
|
||||
|
||||
@@ -81,28 +81,66 @@ public:
|
||||
static void SetRight(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent, bool bInRight);
|
||||
|
||||
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")
|
||||
static const FName& GetThumbFingertipSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||
static const FName& GetThumbFingertipGrabSocketName(const USGVirtualHandComponent* VirtualHandComponent);
|
||||
|
||||
UFUNCTION(BlueprintCallable, Category="SenseGlove | Components | Virtual Hand Component")
|
||||
static void SetThumbFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName);
|
||||
static void SetThumbFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& GrabSocketName);
|
||||
|
||||
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")
|
||||
static void SetIndexFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName);
|
||||
static void SetIndexFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& GrabSocketName);
|
||||
|
||||
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")
|
||||
static void SetMiddleFingertipSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
const FName& SocketName);
|
||||
static void SetMiddleFingertipGrabSocketName(UPARAM(ref) USGVirtualHandComponent* VirtualHandComponent,
|
||||
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")
|
||||
static bool IsHiddenInGameIfNoGloveDetected(const USGVirtualHandComponent* VirtualHandComponent);
|
||||
|
||||
Reference in New Issue
Block a user