10#include "CharacterMovementComponentAsync.generated.h"
63 , bWalkableFloor(
false)
74 return bBlockingHit && bWalkableFloor;
80 bWalkableFloor =
false;
84 HitResult.Reset(1.f,
false);
92 return bLineTrace ? LineDist : FloorDist;
493 template <
typename FCharacterInput,
typename FUpdatedComponentInput>
628 virtual void OnPreSimulate_Internal()
override;
632template <
typename FAsyncCallbackInput,
typename FAsyncCallbackOutput,
typename FAsyncCallback>
639 Input->UpdateAsyncStateFromGTInputs_Internal();
642 if (
Input->AsyncSimState->CharacterOutput->bClearJumpInput)
644 if (
Input->GTInputs.bPressedJump ==
false)
647 Input->AsyncSimState->CharacterOutput->bClearJumpInput =
false;
652 Input->AsyncSimState->CharacterOutput->bPressedJump =
false;
#define ensure( InExpression)
Definition AssertionMacros.h:464
void PreSimulateImpl(FAsyncCallback &Callback)
Definition CharacterMovementComponentAsync.h:633
EShrinkCapsuleExtent
Definition CharacterMovementComponentAsync.h:19
@ SHRINK_RadiusCustom
Definition CharacterMovementComponentAsync.h:21
@ SHRINK_None
Definition CharacterMovementComponentAsync.h:20
@ SHRINK_AllCustom
Definition CharacterMovementComponentAsync.h:23
@ SHRINK_HeightCustom
Definition CharacterMovementComponentAsync.h:22
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETeleportType
Definition EngineTypes.h:2401
ENetRole
Definition EngineTypes.h:3346
EMovementMode
Definition EngineTypes.h:1007
ECollisionChannel
Definition EngineTypes.h:1088
ENetworkSmoothingMode
Definition EngineTypes.h:1039
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
EMoveComponentFlags
Definition SceneComponent.h:56
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition SingleParticlePhysicsProxy.h:58
Definition SimCallbackObject.h:521
Definition CharacterMovementComponentAsync.h:624
virtual FName GetFNameForStatId() const override
Definition CharacterMovementComponentAsync.cpp:4559
Definition NameTypes.h:617
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
SizeType IndexOfByPredicate(Predicate Pred) const
Definition Array.h:1423
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT void Reset()
Definition SharedPointer.h:1120
Definition UniquePtr.h:107
void Reset(T *InPtr=nullptr)
Definition UniquePtr.h:346
@ false
Definition radaudio_common.h:23
Definition SimCallbackInput.h:18
FSimCallbackOutput()
Definition SimCallbackInput.h:19
Definition CharacterMovementComponentAsync.h:244
FQuat OldBaseQuat
Definition CharacterMovementComponentAsync.h:258
void Validate(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.h:263
FVector BaseLocation
Definition CharacterMovementComponentAsync.h:257
bool bMovementBaseOwnerIsValidCached
Definition CharacterMovementComponentAsync.h:252
FVector OldBaseLocation
Definition CharacterMovementComponentAsync.h:259
FQuat BaseQuat
Definition CharacterMovementComponentAsync.h:256
bool bMovementBaseUsesRelativeLocationCached
Definition CharacterMovementComponentAsync.h:249
bool bMovementBaseIsSimulatedCached
Definition CharacterMovementComponentAsync.h:250
bool bMovementBaseIsValidCached
Definition CharacterMovementComponentAsync.h:251
bool bIsBaseTransformValid
Definition CharacterMovementComponentAsync.h:255
UPrimitiveComponent * CachedMovementBase
Definition CharacterMovementComponentAsync.h:246
bool bMovementBaseIsDynamicCached
Definition CharacterMovementComponentAsync.h:253
Definition CharacterMovementComponentAsync.h:113
bool bPressedJump
Definition CharacterMovementComponentAsync.h:123
FRotator Rotation
Definition CharacterMovementComponentAsync.h:117
virtual ~FCharacterAsyncOutput()
Definition CharacterMovementComponentAsync.h:114
float JumpForceTimeRemaining
Definition CharacterMovementComponentAsync.h:120
float JumpKeyHoldTime
Definition CharacterMovementComponentAsync.h:121
bool bClearJumpInput
Definition CharacterMovementComponentAsync.h:124
bool bWasJumping
Definition CharacterMovementComponentAsync.h:122
int32 JumpCurrentCountPreJump
Definition CharacterMovementComponentAsync.h:118
int32 JumpCurrentCount
Definition CharacterMovementComponentAsync.h:119
Definition CharacterMovementComponentAsync.h:155
EMoveComponentFlags MoveComponentFlags
Definition CharacterMovementComponentAsync.h:198
static float GetAxisDeltaRotation(float InAxisRotationRate, float InDeltaTime)
Definition CharacterMovementComponentAsync.cpp:4634
bool bRequestedMoveWithMaxSpeed
Definition CharacterMovementComponentAsync.h:211
FQuat DeltaQuat
Definition CharacterMovementComponentAsync.h:218
bool bShouldDisablePostPhysicsTick
Definition CharacterMovementComponentAsync.h:229
FUpdatedComponentAsyncOutput UpdatedComponentOutput
Definition CharacterMovementComponentAsync.h:236
void Reset()
Definition CharacterMovementComponentAsync.h:175
static FRotator GetDeltaRotation(const FRotator &InRotationRate, float InDeltaTime)
Definition CharacterMovementComponentAsync.cpp:4629
bool bMovementInProgress
Definition CharacterMovementComponentAsync.h:208
bool bDeferUpdateBasedMovement
Definition CharacterMovementComponentAsync.h:197
FVector Acceleration
Definition CharacterMovementComponentAsync.h:188
bool bIsAdditiveVelocityApplied
Definition CharacterMovementComponentAsync.h:196
virtual ~FCharacterMovementComponentAsyncOutput()
Definition CharacterMovementComponentAsync.h:172
float ScaledCapsuleRadius
Definition CharacterMovementComponentAsync.h:204
bool bCrouchMaintainsBaseLocation
Definition CharacterMovementComponentAsync.h:202
float AnalogInputModifier
Definition CharacterMovementComponentAsync.h:189
bool bShouldRemoveMovementBaseTickDependency
Definition CharacterMovementComponentAsync.h:232
bool bUsingModifiedRotationRate
Definition CharacterMovementComponentAsync.h:225
FCharacterMovementComponentAsyncOutput(TUniquePtr< FCharacterOutput > &&InCharacterOutput)
Definition CharacterMovementComponentAsync.h:165
FVector LastUpdateVelocity
Definition CharacterMovementComponentAsync.h:192
bool bWantsToCrouch
Definition CharacterMovementComponentAsync.h:207
EMovementMode GroundMovementMode
Definition CharacterMovementComponentAsync.h:186
FVector PendingForceToApply
Definition CharacterMovementComponentAsync.h:199
float DeltaTime
Definition CharacterMovementComponentAsync.h:219
FQuat LastUpdateRotation
Definition CharacterMovementComponentAsync.h:191
FVector DeltaPosition
Definition CharacterMovementComponentAsync.h:217
UPrimitiveComponent * NewMovementBase
Definition CharacterMovementComponentAsync.h:233
TUniquePtr< FCharacterAsyncOutput > CharacterOutput
Definition CharacterMovementComponentAsync.h:237
bool bShouldApplyDeltaToMeshPhysicsTransforms
Definition CharacterMovementComponentAsync.h:216
FVector LastUpdateLocation
Definition CharacterMovementComponentAsync.h:190
uint8 CustomMovementMode
Definition CharacterMovementComponentAsync.h:187
bool bWasSimulatingRootMotion
Definition CharacterMovementComponentAsync.h:184
FVector LastUpdateRequestedVelocity
Definition CharacterMovementComponentAsync.h:213
bool bJustTeleported
Definition CharacterMovementComponentAsync.h:203
int32 NumJumpApexAttempts
Definition CharacterMovementComponentAsync.h:214
bool bHasRequestedVelocity
Definition CharacterMovementComponentAsync.h:210
bool bForceNextFloorCheck
Definition CharacterMovementComponentAsync.h:193
FVector PendingLaunchVelocity
Definition CharacterMovementComponentAsync.h:201
FVector OldLocation
Definition CharacterMovementComponentAsync.h:221
FVector Velocity
Definition CharacterMovementComponentAsync.h:194
FVector OldVelocity
Definition CharacterMovementComponentAsync.h:220
FCharacterMovementComponentAsyncOutput()
Definition CharacterMovementComponentAsync.h:158
FVector AnimRootMotionVelocity
Definition CharacterMovementComponentAsync.h:215
FVector PendingImpulseToApply
Definition CharacterMovementComponentAsync.h:200
FVector RequestedVelocity
Definition CharacterMovementComponentAsync.h:212
FVector LastPreAdditiveVelocity
Definition CharacterMovementComponentAsync.h:195
bool bShouldAddMovementBaseTickDependency
Definition CharacterMovementComponentAsync.h:231
EMovementMode MovementMode
Definition CharacterMovementComponentAsync.h:185
bool bIsCrouched
Definition CharacterMovementComponentAsync.h:206
bool IsValid() const
Definition CharacterMovementComponentAsync.h:179
AActor * NewMovementBaseOwner
Definition CharacterMovementComponentAsync.h:234
bool bIsValid
Definition CharacterMovementComponentAsync.h:239
float ScaledCapsuleHalfHeight
Definition CharacterMovementComponentAsync.h:205
bool bShouldEnablePostPhysicsTick
Definition CharacterMovementComponentAsync.h:230
FFindFloorResult CurrentFloor
Definition CharacterMovementComponentAsync.h:209
FRotator ModifiedRotationRate
Definition CharacterMovementComponentAsync.h:224
Definition CollisionQueryParams.h:43
Definition CollisionQueryParams.h:324
Definition CollisionShape.h:21
Definition CollisionQueryParams.h:297
Definition OverlapInfo.h:47
Definition CharacterMovementComponentAsync.h:29
bool IsWalkableFloor() const
Definition CharacterMovementComponentAsync.h:72
float GetDistanceToFloor() const
Definition CharacterMovementComponentAsync.h:88
void Clear()
Definition CharacterMovementComponentAsync.h:77
Definition HitResult.h:21
Definition OverlapInfo.h:14
Definition RandomStream.h:20
Definition CharacterMovementComponentAsync.h:270
bool bHasAdditiveRootMotion
Definition CharacterMovementComponentAsync.h:274
float TimeAccumulated
Definition CharacterMovementComponentAsync.h:280
FVector AdditiveVelocity
Definition CharacterMovementComponentAsync.h:276
bool bUseSensitiveLiftoff
Definition CharacterMovementComponentAsync.h:275
FTransform AnimTransform
Definition CharacterMovementComponentAsync.h:279
bool bHasAnimRootMotion
Definition CharacterMovementComponentAsync.h:271
bool bHasOverrideWithIgnoreZAccumulate
Definition CharacterMovementComponentAsync.h:273
FVector OverrideVelocity
Definition CharacterMovementComponentAsync.h:277
bool bHasOverrideRootMotion
Definition CharacterMovementComponentAsync.h:272
FQuat OverrideRotation
Definition CharacterMovementComponentAsync.h:278
FRootMotionAsyncData()
Definition CharacterMovementComponentAsync.h:296
void Clear()
Definition CharacterMovementComponentAsync.h:282
Definition CharacterMovementComponentAsync.h:102
FStepDownResult()
Definition CharacterMovementComponentAsync.h:106
uint32 bComputedFloor
Definition CharacterMovementComponentAsync.h:103
FFindFloorResult FloorResult
Definition CharacterMovementComponentAsync.h:104
Definition CharacterMovementComponentAsync.h:128
int32 IndexOfOverlap(const FOverlapInfo &SearchItem)
Definition CharacterMovementComponentAsync.h:137
void AddUniqueSpeculativeOverlap(const FOverlapInfo &NewOverlap)
Definition CharacterMovementComponentAsync.h:144
TArray< FOverlapInfo > SpeculativeOverlaps
Definition CharacterMovementComponentAsync.h:134
UE_FORCEINLINE_HINT TVector< T > GetAxisZ() const
Definition Quat.h:1310
UE_FORCEINLINE_HINT TVector< T > GetAxisX() const
Definition Quat.h:1296
UE_FORCEINLINE_HINT TVector< T > GetAxisY() const
Definition Quat.h:1303
static CORE_API const TQuat< double > Identity
Definition Quat.h:63
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79