45 virtual void ObjectActivated_Implementation()
override;
49 virtual void ObjectDeactivated_Implementation()
override;
53 virtual void UpdateObjectHighlight_Implementation(
bool Activate)
override;
65 bool bWasSocketed)
override;
81 virtual void IsHeld_Implementation(TArray<FBPGripPair>& HoldingControllers,
bool& bIsHeld)
override;
86 bool bIsHeld)
override;
99 virtual bool SimulateOnDrop_Implementation()
override;
119 virtual void GetGripStiffnessAndDamping_Implementation(
float& GripStiffnessOut,
float& GripDampingOut)
override;
127 virtual float GripBreakDistance_Implementation()
override;
131 virtual void ClosestGripSlotInRange_Implementation(FVector WorldLocation,
bool bSecondarySlot,
132 bool& bHadSlotInRange, FTransform& SlotWorldTransform,
135 FName OverridePrefix = NAME_None)
override;
139 virtual bool AllowsMultipleGrips_Implementation()
override;
141 UPROPERTY(BlueprintAssignable, Category =
"Grip Events")
142 FVROnGripSignature OnGripped;
143 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
144 FVROnDropSignature OnDropped;
146 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
147 FVROnGripSignature OnSecondaryGripAdded;
149 UPROPERTY(BlueprintAssignable, Category = "Grip Events")
150 FVROnGripSignature OnSecondaryGripRemoved;
152 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VRGripInterface")
160 UFUNCTION(BlueprintImplementableEvent, Category = "Grip Events")
169 UFUNCTION(BlueprintImplementableEvent, Category = "Grip Events")
178 UFUNCTION(BlueprintCallable, Category = "GrippableObject")
185 UFUNCTION(BlueprintCallable, Category = "GrippableObject")
191 UFUNCTION(BlueprintCallable, Category = "GrippableObject")
192 void DetachObjectFromHand();
194 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "GrippableObject")
197 bool bDisablePhysicsOnCustomTransformAttach {
true };
198 UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category =
"GrippableObject")
200 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GrippableObject")
201 FTransform ObjectTransformInLeftHand;
202 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GrippableObject")
203 FTransform ObjectTransformInRightHand;
205 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components")
208 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Feedback Effect")
209 bool bFeedbackEnabled;
211 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Feedback Effect", meta=(EditCondition = "bFeedbackEnabled", EditConditionHides))
212 float HapticDuration;
214 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Feedback Effect", meta=(EditCondition = "bFeedbackEnabled", EditConditionHides))
215 float HapticStrength;
217 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "GrippableObject")
218 bool bActivateLocationResetAfterDrop {
false };
220 UPROPERTY(BlueprintReadWrite, Category =
"GrippableObject")
221 bool bCanResetPosition {
true };
223 UPROPERTY(BlueprintReadOnly, Category =
"GrippableObject")
224 FTransform ResetTransform;
226 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GrippableObject")
227 float VelocityCheckRate { 0.1f };
229 UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
230 FOnActorStopped OnActorStoppedDelegate;
232 UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
233 FOnActorStopped OnActorPositionResetDelegate;
238 UFUNCTION(BlueprintCallable, Category =
"GrippableObject")
239 void ResetPosition();
244 UFUNCTION(BlueprintCallable, Category = "GrippableObject")
245 void StartVelocityCheckTimer();
250 UFUNCTION(BlueprintCallable, Category = "GrippableObject")
251 void StopVelocityCheckTimer();
257 void CheckVelocity();
261 bool bSaveResetTransformOnGrip {
true };
263 FTimerHandle VelocityCheckTimer;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnActorStopped, ABaseGrippableStoryActor *, GrippableStoryActor)
EHandGripLogic
Enum representing the different hand grip logic options.
float HapticStrength
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Feedback Effect", meta=(EditCondition = "bFee...
FVROnGripSignature OnSecondaryGripAdded
UPROPERTY(BlueprintAssignable, Category = "Grip Events")
EHandGripLogic HandGripLogic
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "GrippableObject")
FTransform ObjectTransformInRightHand
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GrippableObject")
FVROnGripSignature OnSecondaryGripRemoved
UPROPERTY(BlueprintAssignable, Category = "Grip Events")
float HapticDuration
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Feedback Effect", meta=(EditCondition = "bFee...
FVROnDropSignature OnDropped
UPROPERTY(BlueprintAssignable, Category = "Grip Events")
UStaticMeshComponent * StaticMeshComponent
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components")
FVROnGripSignature OnGripped
UPROPERTY(BlueprintAssignable, Category = "Grip Events")
void OnGrippedEvent(UGripMotionControllerComponent *GrippingController, const FBPActorGripInformation &GripInformation)
Event triggered when the object is gripped.
APixoVRHand * CurrentHoldingHand
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category = "GrippableObject")
FBPInterfaceProperties VRGripInterfaceSettings
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VRGripInterface")
FOnActorStopped OnActorStoppedDelegate
UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
FOnActorStopped OnActorPositionResetDelegate
UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
FTransform ObjectTransformInLeftHand
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GrippableObject")
void OnReleasedEvent(UGripMotionControllerComponent *ReleasingController, const FBPActorGripInformation &GripInformation, bool bWasSocketed)
Event triggered when the object is released from the grip.