20 virtual void Tick(
float DeltaTime)
override;
24 virtual void ActorEnteredVolume(AActor* SelfActor, AActor*
Other);
25 UFUNCTION(BlueprintImplementableEvent, Category=
"GravityPhysicsVolume")
26 void OnActorEnteredVolume(AActor*
Other);
30 virtual
void ActorLeavingVolume(AActor* SelfActor, AActor*
Other);
31 UFUNCTION(BlueprintImplementableEvent, Category="GravityPhysicsVolume")
32 void OnActorLeavingVolume(AActor*
Other);
37 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
38 virtual FVector GetGravity(class USceneComponent* SceneComponent) const;
44 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
45 virtual FVector GetGravityDirection(class USceneComponent* SceneComponent) const;
50 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
51 virtual
float GetGravityMagnitude(class USceneComponent* SceneComponent) const;
56 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
57 virtual
float GetFinalGravityScale(class USceneComponent* SceneComponent) const;
62 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume",Meta=(DisplayName="Set
Fixed Gravity Direction",ScriptName="SetFixedGravityDirection"))
63 virtual
void K2_SetFixedGravityDirection(const FVector& NewGravityDirection);
68 virtual
void SetFixedGravityDirection(const FVector& NewFixedGravityDirection);
73 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
74 virtual
void SetSplineTangentGravityDirection(AActor* NewGravityActor);
79 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
80 virtual
void SetPointGravityDirection(const FVector& NewGravityPoint);
85 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
86 virtual
void SetPointGravityDirectionFromActor(AActor* NewGravityActor);
92 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
93 virtual
void SetLineGravityDirection(const FVector& NewGravityLineStart, const FVector& NewGravityLineEnd);
99 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
100 virtual
void SetSegmentGravityDirection(const FVector& NewGravitySegmentStart, const FVector& NewGravitySegmentEnd);
105 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
106 virtual
void SetSplineGravityDirection(AActor* NewGravityActor);
112 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume",Meta=(DisplayName="Set
Plane Gravity Direction",ScriptName="SetPlaneGravityDirection"))
113 virtual
void K2_SetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal);
119 virtual
void SetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal);
125 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
126 virtual
void SetSplinePlaneGravityDirection(AActor* NewGravityActor);
132 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
133 virtual
void SetBoxGravityDirection(const FVector& NewGravityBoxOrigin, const FVector& NewGravityBoxExtent);
138 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
139 virtual
void SetBoxGravityDirectionFromActor(AActor* NewGravityActor);
144 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
145 virtual
void SetCollisionGravityDirection(AActor* NewGravityActor);
149 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
150 virtual
float GetGravityScale() const;
154 UFUNCTION(BlueprintSetter,Category="GravityPhysicsVolume")
155 virtual
void SetGravityScale(const
float NewGravityScale);
158 UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="GravityPhysicsVolume")
159 FVector CharacterFallVelocity;
162#if WITH_EDITORONLY_DATA
166 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=
"GravityPhysicsVolume")
167 TObjectPtr<class UTextRenderComponent> TextRenderComponent;
169 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="GravityPhysicsVolume")
170 TObjectPtr<class UBillboardComponent> PreviewIcon;
174 FName TextRenderComponentName = FName(TEXT("TextRenderComponent"));
176 FName PreviewIconComponentName = FName(TEXT("PreviewIcon"));
182 virtual void BeginPlay()
override;
184 float GetGravityZ()
const;
186 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=
"Gravity")
187 TObjectPtr<UBoxComponent> BoxComponent;
192 UPROPERTY(EditAnywhere, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
193 bool bDebuggingMode = false;
195 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
196 TArray<TObjectPtr<AActor>> TrackedActors;
199 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
207 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GravityPhysicsVolume")
211 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
212 FVector GravityVectorA;
215 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
216 FVector GravityVectorB;
219 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
220 TObjectPtr<AActor> GravityActor;
223 UPROPERTY(EditAnywhere,BlueprintReadWrite,BlueprintSetter=SetGravityScale,Category="GravityPhysicsVolume")