Head Mounted VR 2.5
|
Grab Component class. More...
#include <VR_GrabComponent.h>
Public Member Functions | |
UVR_GrabComponent () | |
virtual bool | IsColliding_Implementation () |
virtual bool | IsGrabbed_Implementation () |
virtual bool | CanPullGrab_Implementation () |
void | OnHitCheckColliding (UPrimitiveComponent *HitComponent, AActor *OtherActor, UPrimitiveComponent *OtherComp, FVector normalImpulse, const FHitResult &Hit) |
virtual void | TickComponent (float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override |
virtual void | Grab_Implementation (class UVR_HandComponent *MotionController, bool &HandleStatus, bool bFroceAttachHandle) |
Pickup Implementation More... | |
virtual void | Drop_Implementation (class UVR_HandComponent *MotionController) |
Disconect object from Hand More... | |
void | Pickup_AttachTo () |
Pickup object using AttachTo method Force attach , no physics More... | |
void | Pickup_PhysicsConstraint () |
Pickup object using PhysicsConstraint method Physics , force attach More... | |
void | Pickup_PhysicsConstraintAnimated () |
Pickup object using PhysicsConstraint method and animation.(Object snaps to taget) Physics , force attach More... | |
void | Pickup_PhysicsConstraintAnimatedNearSocket () |
void | Drop_AttachTo () |
Drops AttachTo method More... | |
void | Drop_PhysicsConstraint (FConstraintInstance *PickPhysicsConstraint) |
Drops PhysicsConstraint method More... | |
void | Drop_PhysicsConstraintAnimated () |
Drops PhysicsConstraintAnimated method. More... | |
void | Drop_PhysicsConstraintAnimatedNearSocket () |
void | ForceDrop () |
Disconnects constraints. More... | |
virtual void | PickUpScript () |
Executes before PickUp. Function can be overridden. More... | |
virtual void | DropScript () |
Executes before Drop. Function can be overridden. More... | |
void | CheckEAnimationType () |
Checks animation type for Drop_PhysicsConstraintAnimatedNearSocket More... | |
void | SetGrabMethod (EGrabMethod NewGrabMethod) |
Set Grab Method More... | |
void | SetBothHands (bool BothHands) |
If true player can pick an object using two hands. More... | |
void | EnablePullGrab (bool Enable) |
void | EnableBlockPullGrab (bool Enable) |
void | SetAllowPickUp (bool PickUpStatus) |
Sets bSetAllowPickUp(If true player can Grab) More... | |
void | RunJustDropTimer () |
Sets true for bJustDroped for a short time(Usefull if we need to put somthing in inventory). More... | |
FORCEINLINE EGrabMethod | GetGrabMethod () const |
Get Grab Method More... | |
FORCEINLINE UAnimSequence * | GetPickUpAnimation () const |
Get PickUp Animations More... | |
FORCEINLINE EAnimationType | GetAnimnType () const |
FORCEINLINE UVR_HandComponent * | GetHandActor () const |
FORCEINLINE bool | GetInHand () const |
Get PickUp Animations More... | |
FORCEINLINE bool | GetJustDroped () const |
FORCEINLINE bool | CanPlayerStepOn () const |
FORCEINLINE FName | GetLeftHandSocketName () const |
FORCEINLINE FName | GetRightHandSocketName () const |
FORCEINLINE uint8 | GetNumOfHandsAttached () const |
FORCEINLINE bool | GetCanPutInInventory () const |
FORCEINLINE bool | GetCanNPCInteract () const |
FORCEINLINE bool | CanBothHandsGrab () const |
FORCEINLINE int | GetGrabPriority () const |
FORCEINLINE float | GetMaxInteractionDistance () const |
FORCEINLINE bool | IsDropAllowed () const |
FORCEINLINE bool | GetPullGrabEnabled () const |
FORCEINLINE bool | IsAutoHandRotation () const |
FORCEINLINE bool | IsCheckingChildCollisionAxis () const |
FORCEINLINE bool | IsChildCollisionAxisInverted () const |
FORCEINLINE EVectorDirectionTypes | GetChildCollisionDirectionAxis () const |
bool | GetChildCollisions (TArray< UShapeComponent * > &ShapeComponents) |
bool | InInteractionDistance (FVector Location, float &Distance) |
bool | IsParentSimulatesPhysics () |
void | DrawCollisionDebug () |
void | ActivateCanDamagePlayers () |
void | TriggerPressed () |
void | APressed () |
void | BPressed () |
void | GrabPressed () |
void | ThumbPressed () |
void | TriggerReleased () |
void | AReleased () |
void | BReleased () |
void | GrabReleased () |
void | TriggerChange (float Value) |
void | ThumbstickChange (float ValueX, float ValueY) |
void | UpdateHitEvents () |
virtual void | BeginPlay () override |
virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickAPressAnimation | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickBPressAnimation | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Animation", meta=(EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides)) UAnimSequence *PickTriggerPressAnimation | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab", meta=(EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides)) bool AutoHandRotation | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides)) bool CheckForChildCollisionAxis | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="CheckForChildCollisionAxis == true && (GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides)) bool InvertChildCollisionAxis | |
UPROPERTY (EditAnywhere, BlueprintReadWrite, Category="Grab|Child Collisions", meta=(EditCondition="CheckForChildCollisionAxis == true && (GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides)) EVectorDirectionTypes ChildCollisionDirectionAxis | |
virtual void | OnRegister () override |
Public Member Functions inherited from IVR_InteractionInterface | |
bool | IsGrabbed () |
bool | CanPullGrab () |
void | Grab (class UVR_HandComponent *MotionController, bool &HandleStatus, bool bFroceAttachHandle) |
Used for interaction with objects such as door More... | |
bool | IsColliding () |
void | Drop (class UVR_HandComponent *MotionController) |
Stop object interaction More... | |
void | Shoot () |
bool | IsHeldBy (class UVR_HandComponent *MotionController) |
Indetify if object is held by MotionController More... | |
bool | CanNonVRInteract () |
bool | ForceCheckForGrabComponents () |
void | NonVRInteraction (AVR_Player *Player) |
bool | IsNonVRInteractTillStop () |
void | Stop_NonVRInteraction (AVR_Player *Player) |
Stop object interaction More... | |
UVR_GrabComponent::UVR_GrabComponent | ( | ) |
void UVR_GrabComponent::ActivateCanDamagePlayers | ( | ) |
void UVR_GrabComponent::APressed | ( | ) |
void UVR_GrabComponent::AReleased | ( | ) |
|
overridevirtual |
void UVR_GrabComponent::BPressed | ( | ) |
void UVR_GrabComponent::BReleased | ( | ) |
|
inline |
|
inline |
|
inlinevirtual |
void UVR_GrabComponent::CheckEAnimationType | ( | ) |
Checks animation type for Drop_PhysicsConstraintAnimatedNearSocket
void UVR_GrabComponent::DrawCollisionDebug | ( | ) |
void UVR_GrabComponent::Drop_AttachTo | ( | ) |
Drops AttachTo method
|
virtual |
Disconect object from Hand
void UVR_GrabComponent::Drop_PhysicsConstraint | ( | FConstraintInstance * | PickPhysicsConstraint | ) |
Drops PhysicsConstraint method
void UVR_GrabComponent::Drop_PhysicsConstraintAnimated | ( | ) |
Drops PhysicsConstraintAnimated method.
void UVR_GrabComponent::Drop_PhysicsConstraintAnimatedNearSocket | ( | ) |
|
virtual |
Executes before Drop. Function can be overridden.
void UVR_GrabComponent::EnableBlockPullGrab | ( | bool | Enable | ) |
void UVR_GrabComponent::EnablePullGrab | ( | bool | Enable | ) |
|
overridevirtual |
void UVR_GrabComponent::ForceDrop | ( | ) |
Disconnects constraints.
|
inline |
|
inline |
|
inline |
|
inline |
bool UVR_GrabComponent::GetChildCollisions | ( | TArray< UShapeComponent * > & | ShapeComponents | ) |
|
inline |
Get Grab Method
|
inline |
|
inline |
|
inline |
Get PickUp Animations
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get PickUp Animations
|
inline |
|
inline |
|
virtual |
Pickup Implementation
MotionController | Hand which wants to grab |
void UVR_GrabComponent::GrabPressed | ( | ) |
void UVR_GrabComponent::GrabReleased | ( | ) |
bool UVR_GrabComponent::InInteractionDistance | ( | FVector | Location, |
float & | Distance | ||
) |
|
inline |
|
inline |
|
inline |
|
virtual |
|
inline |
|
inlinevirtual |
bool UVR_GrabComponent::IsParentSimulatesPhysics | ( | ) |
void UVR_GrabComponent::OnHitCheckColliding | ( | UPrimitiveComponent * | HitComponent, |
AActor * | OtherActor, | ||
UPrimitiveComponent * | OtherComp, | ||
FVector | normalImpulse, | ||
const FHitResult & | Hit | ||
) |
|
overridevirtual |
void UVR_GrabComponent::Pickup_AttachTo | ( | ) |
Pickup object using AttachTo method Force attach , no physics
void UVR_GrabComponent::Pickup_PhysicsConstraint | ( | ) |
Pickup object using PhysicsConstraint method Physics , force attach
void UVR_GrabComponent::Pickup_PhysicsConstraintAnimated | ( | ) |
Pickup object using PhysicsConstraint method and animation.(Object snaps to taget) Physics , force attach
void UVR_GrabComponent::Pickup_PhysicsConstraintAnimatedNearSocket | ( | ) |
|
virtual |
Executes before PickUp. Function can be overridden.
void UVR_GrabComponent::RunJustDropTimer | ( | ) |
Sets true for bJustDroped for a short time(Usefull if we need to put somthing in inventory).
void UVR_GrabComponent::SetAllowPickUp | ( | bool | PickUpStatus | ) |
Sets bSetAllowPickUp(If true player can Grab)
PhysStatus |
void UVR_GrabComponent::SetBothHands | ( | bool | BothHands | ) |
If true player can pick an object using two hands.
BothHands |
void UVR_GrabComponent::SetGrabMethod | ( | EGrabMethod | NewGrabMethod | ) |
Set Grab Method
NewGrabMethod |
void UVR_GrabComponent::ThumbPressed | ( | ) |
void UVR_GrabComponent::ThumbstickChange | ( | float | ValueX, |
float | ValueY | ||
) |
|
overridevirtual |
void UVR_GrabComponent::TriggerChange | ( | float | Value | ) |
void UVR_GrabComponent::TriggerPressed | ( | ) |
void UVR_GrabComponent::TriggerReleased | ( | ) |
void UVR_GrabComponent::UpdateHitEvents | ( | ) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab" , |
||
meta | = (EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Animation" , |
||
meta | = (EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Animation" , |
||
meta | = (EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Animation" , |
||
meta | = (EditCondition="(GrabMethod == EGrabMethod::PhysicsAnimatedNearSocket || GrabMethod == EGrabMethod::AnimatedAndIK || GrabMethod == EGrabMethod::PhysicsAnimated) && PickUpAnimationType == EPickUpAnimations::Interactable", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Child Collisions" , |
||
meta | = (EditCondition="(GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Child Collisions" , |
||
meta | = (EditCondition="CheckForChildCollisionAxis == true && (GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides) |
||
) |
UVR_GrabComponent::UPROPERTY | ( | EditAnywhere | , |
BlueprintReadWrite | , | ||
Category | = "Grab|Child Collisions" , |
||
meta | = (EditCondition="CheckForChildCollisionAxis == true && (GrabMethod == EGrabMethod::Physics || GrabMethod == EGrabMethod::AnimatedAndIK)", EditConditionHides) |
||
) |
bool UVR_GrabComponent::AllowDrop |
EAnimationType UVR_GrabComponent::AnimnType |
bool UVR_GrabComponent::bAllowNonVR |
bool UVR_GrabComponent::bAllowPickUp |
bool UVR_GrabComponent::bBlockOtherA_Events |
bool UVR_GrabComponent::bBlockOtherB_Events |
bool UVR_GrabComponent::bBlockOtherThumbChangeEvents |
bool UVR_GrabComponent::bBlockOtherThumbEvents |
bool UVR_GrabComponent::bBlockOtherTriggerEvents |
bool UVR_GrabComponent::bBothHands |
bool UVR_GrabComponent::bCanNPCInteract |
bool UVR_GrabComponent::bCanPlayerStepOn |
bool UVR_GrabComponent::bCanPullGrab |
bool UVR_GrabComponent::bDebug |
bool UVR_GrabComponent::bIsColliding = false |
bool UVR_GrabComponent::CanPutInInventory |
float UVR_GrabComponent::DefaultMass |
bool UVR_GrabComponent::EnablePriority |
EGrabMethod UVR_GrabComponent::GrabMethod |
int UVR_GrabComponent::GrabPriority |
class UVR_HandComponent* UVR_GrabComponent::HandComponent |
FName UVR_GrabComponent::LeftHandSocketName |
bool UVR_GrabComponent::LowerAttachedStrength |
float UVR_GrabComponent::MaxComponentInteractionDistance |
ENonVRGrabTypes UVR_GrabComponent::NonVRGrabType |
FComponentAPressed UVR_GrabComponent::OnComponentAPressed |
FComponentAReleased UVR_GrabComponent::OnComponentAReleased |
FComponentBPressed UVR_GrabComponent::OnComponentBPressed |
FComponentBReleased UVR_GrabComponent::OnComponentBReleased |
FComponentGrabPressed UVR_GrabComponent::OnComponentGrabPressed |
FComponentGrabReleased UVR_GrabComponent::OnComponentGrabReleased |
FComponentThumbstickChange UVR_GrabComponent::OnComponentThumbstickChange |
FComponentThumbstickPressed UVR_GrabComponent::OnComponentThumbstickPressed |
FComponentThumbstickReleased UVR_GrabComponent::OnComponentThumbstickReleased |
FComponentTriggerChange UVR_GrabComponent::OnComponentTriggerChange |
FComponentTriggerPressed UVR_GrabComponent::OnComponentTriggerPressed |
FComponentTriggerReleased UVR_GrabComponent::OnComponentTriggerReleased |
UPrimitiveComponent* UVR_GrabComponent::ParentComponent |
UAnimSequence* UVR_GrabComponent::PickUpAnimation |
TArray<UAnimSequence*> UVR_GrabComponent::PickUpAnimationArray |
EPickUpAnimations UVR_GrabComponent::PickUpAnimationType |
FName UVR_GrabComponent::RightHandSocketName |
TArray<FName> UVR_GrabComponent::SocketArray |
float UVR_GrabComponent::SocketInRadius |
bool UVR_GrabComponent::WeldWithHand |