Navigation
API > API/Runtime > API/Runtime/Engine
Group of Root Motion Sources that are applied
| Name | FRootMotionSourceGroup |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Classes/GameFramework/RootMotionSource.h |
| Include Path | #include "GameFramework/RootMotionSource.h" |
Syntax
USTRUCT ()
struct FRootMotionSourceGroup
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRootMotionSourceGroup() |
GameFramework/RootMotionSource.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FRootMotionSourceGroup() |
GameFramework/RootMotionSource.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bHasAdditiveSources | uint8 | Whether this group has additive root motion sources | GameFramework/RootMotionSource.h | |
| bHasOverrideSources | uint8 | Whether this group has override root motion sources | GameFramework/RootMotionSource.h | |
| bHasOverrideSourcesWithIgnoreZAccumulate | uint8 | Whether this group has override root motion sources that have IgnoreZAccumulate flag | GameFramework/RootMotionSource.h | |
| bIsAdditiveVelocityApplied | uint8 | True when we had additive velocity applied last tick, checked to know if we should restore LastPreAdditiveVelocity before a Velocity computation | GameFramework/RootMotionSource.h | |
| LastAccumulatedSettings | FRootMotionSourceSettings | Aggregate Settings of the last group of accumulated sources | GameFramework/RootMotionSource.h | |
| LastPreAdditiveVelocity | FVector_NetQuantize10 | Saved off pre-additive-applied Velocity, used for being able to reliably add/remove additive velocity from currently computed Velocity (otherwise we would be removing additive velocity that no longer exists, like if you run into a wall and your Velocity becomes 0 - subtracting the velocity that we added heading into the wall last tick would make you go backwards. With this method we override that resulting Velocity due to obstructions | GameFramework/RootMotionSource.h | |
| PendingAddRootMotionSources | TArray< TSharedPtr< FRootMotionSource > > | Root Motion Sources to be added next frame | GameFramework/RootMotionSource.h | |
| RootMotionSources | TArray< TSharedPtr< FRootMotionSource > > | Root Motion Sources currently applied in this Group | GameFramework/RootMotionSource.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AccumulateAdditiveRootMotionVelocity
(
float DeltaTime, |
Helper function for accumulating additive velocity into InOutVelocity | GameFramework/RootMotionSource.h | |
void AccumulateOverrideRootMotionVelocity
(
float DeltaTime, |
Helper function for accumulating override velocity into InOutVelocity | GameFramework/RootMotionSource.h | |
void AddStructReferencedObjects
(
FReferenceCollector& Collector |
Exposes references to GC system | GameFramework/RootMotionSource.h | |
uint16 ApplyRootMotionSource
(
TSharedPtr< FRootMotionSource > SourcePtr |
Apply a RootMotionSource to this Group | GameFramework/RootMotionSource.h | |
void ApplyTimeStampReset
(
float DeltaTime |
Applies a reset to the start time for each root motion when the time stamp is reset | GameFramework/RootMotionSource.h | |
void CleanUpInvalidRootMotion
(
float DeltaTime, |
GameFramework/RootMotionSource.h | ||
void Clear() |
Clear the contents to return it to "empty" | GameFramework/RootMotionSource.h | |
void CullInvalidSources() |
Removes any Sources without a valid ID | GameFramework/RootMotionSource.h | |
bool GetOverrideRootMotionRotation
(
float DeltaTime, |
Get rotation output of current override root motion source, returns true if OutRotation was filled | GameFramework/RootMotionSource.h | |
TSharedPtr< FRootMotionSource > GetRootMotionSource
(
FName InstanceName |
Get a RootMotionSource from this Group by name | GameFramework/RootMotionSource.h | |
TSharedPtr< FRootMotionSource > GetRootMotionSourceByID
(
uint16 RootMotionSourceID |
Get a RootMotionSource from this Group by ID | GameFramework/RootMotionSource.h | |
bool HasActiveRootMotionSources() |
GameFramework/RootMotionSource.h | ||
bool HasAdditiveVelocity() |
GameFramework/RootMotionSource.h | ||
bool HasOverrideVelocity() |
GameFramework/RootMotionSource.h | ||
bool HasOverrideVelocityWithIgnoreZAccumulate() |
GameFramework/RootMotionSource.h | ||
bool HasRootMotionToApply() |
GameFramework/RootMotionSource.h | ||
bool HasVelocity() |
GameFramework/RootMotionSource.h | ||
bool NeedsSimulatedSmoothing() |
Gets whether any active root motion source has been marked to need NetworkSmoothing as a SimulatedProxy | GameFramework/RootMotionSource.h | |
bool NetSerialize
(
FArchive& Ar, |
Serialize the root motion sources and their states for this group | GameFramework/RootMotionSource.h | |
void PrepareRootMotion
(
float DeltaTime, |
Generates root motion by accumulating transforms through current root motion sources. | GameFramework/RootMotionSource.h | |
void RemoveRootMotionSource
(
FName InstanceName |
Remove a RootMotionSource from this Group by name | GameFramework/RootMotionSource.h | |
void RemoveRootMotionSourceByID
(
uint16 RootMotionSourceID |
Remove a RootMotionSource from this Group by ID | GameFramework/RootMotionSource.h | |
void SetPendingRootMotionSourceMinStartTimes
(
float NewStartTime |
Sets the StartTime of all pending root motion sources to be at least this time, can be used on servers to match client-side start times | GameFramework/RootMotionSource.h | |
void UpdateStateFrom
(
const FRootMotionSourceGroup& GroupToTakeStateFrom, |
Update contained Sources to state in matching sources from other group. | GameFramework/RootMotionSource.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AccumulateRootMotionVelocity
(
ERootMotionAccumulateMode RootMotionType, |
Accumulates contributions for velocity into InOutVelocity for a given type of root motion from this group | GameFramework/RootMotionSource.h | |
void AccumulateRootMotionVelocityFromSource
(
const FRootMotionSource& RootMotionSource, |
Accumulates contributions for velocity into InOutVelocity for a given type of root motion from this group | GameFramework/RootMotionSource.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void NetSerializeRMSArray
(
FArchive& Ar, |
Helper function for serializing array of root motion sources | GameFramework/RootMotionSource.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool operator!=
(
const FRootMotionSourceGroup& Other |
Comparison operator | GameFramework/RootMotionSource.h | |
FRootMotionSourceGroup & operator=
(
const FRootMotionSourceGroup& Other |
Copy operator - deep copy so it can be used for archiving/saving off moves | GameFramework/RootMotionSource.h | |
bool operator==
(
const FRootMotionSourceGroup& Other |
Comparison operator - needs matching Sources along with identical states in those sources | GameFramework/RootMotionSource.h |