Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Animation/BlendSpace.h |
Include |
#include "Animation/BlendSpace.h" |
class UBlendSpace :
public UAnimationAsset,
public IInterpolationIndexProvider
Allows multiple animations to be blended between based on input parameters
Name | Description | ||
---|---|---|---|
|
TObjectPtr< UAn... |
AnalysisProperties |
Analysis properties for each axis. |
|
float |
AnimLength |
This is the maximum length of any sample in the blendspace. |
|
TEnumAsByte< EB... |
AxisToScaleAnimation |
If you have input smoothing, this specifies the axis on which to scale the animation playback speed. |
|
bool |
bAllowMeshSpaceBlending |
If set then blending is performed in mesh space if there are per-bone sample smoothing overrides. |
|
bool |
bContainsRotationOffsetMeshSpaceSamples |
Indicates whether any samples have the flag to apply rotation offsets in mesh space |
|
bool |
bInterpolateUsingGrid |
If true then interpolation is done via a grid at runtime. |
|
BlendParameters |
Blend Parameters for each axis. |
|
|
BlendSpaceData |
Container for the runtime data, which could be line segments, triangulation or tetrahedrons |
|
|
bool |
bLoop |
The default looping behavior of this blend space. Asset players can override this |
|
bool |
bTargetWeightInterpolationEaseInOut |
If set then this eases in/out the sample weight adjustments, using the speed to determine how much smoothing to apply. |
|
TObjectPtr< UCa... |
CachedAnalysisProperties |
Cached properties used to initialize properties when newly created. |
|
TArray< int32 > |
DimensionIndices |
The order in which to use the dimensions in the data - e.g. [1, 2] means a 2D blend using Y and Z |
|
TArray< struct ... |
GridSamples |
Grid samples, indexing scheme imposed by subclass |
|
InterpolationParam |
Input Smoothing parameters for each input axis |
|
|
ManualPerBoneOverrides |
Per bone sample smoothing settings, which affect the specified bone and all its descendants in the skeleton. |
|
|
TEnumAsByte< EN... |
NotifyTriggerMode |
The current mode used by the BlendSpace to decide which animation notifies to fire. |
|
EBlendSpacePerB... |
PerBoneBlendMode |
There are two ways to use per pone sample smoothing: Blend profiles and manually maintaining the per bone overrides. |
|
PerBoneBlendProfile |
Reference to a blend profile of the corresponding skeleton to be used for per bone smoothing in case the per bone blend mode is set to use a blend profile. |
|
|
PerBoneBlendValues |
Stores the actual bone references and their smoothing interpolation speeds used by the blend space. |
|
|
EPreferredTrian... |
PreferredTriangulationDirection |
Preferred edge direction when the triangulation has to make an arbitrary choice |
|
TObjectPtr< UAn... |
PreviewBasePose |
Preview Base pose for additive BlendSpace |
|
FVector[3] |
PreviousAxisMinMaxValues |
|
|
float[3] |
PreviousGridSpacings |
|
|
TArray< struct ... |
SampleData |
Sample animation data |
|
int32 |
SampleIndexWithMarkers |
Track index to get marker data from. |
|
float |
TargetWeightInterpolationSpeedPerSec |
If greater than zero, this is the speed at which the sample weights are allowed to change. |
Name | Description | |
---|---|---|
|
UBlendSpace ( |
Name | Description | ||
---|---|---|---|
|
int32 |
AddSample ( |
Add samples |
|
int32 |
AddSample ( |
Add samples |
|
bool |
ContainsMatchingSamples ( |
Returns whether or not all animation set on the blend space samples match the given additive type |
|
bool |
ContainsNonAdditiveSamples() |
|
|
FVector |
ConvertBlendInputToGridSpace ( |
Translates BlendInput to grid space |
|
bool |
DeleteSample ( |
Delete samples |
|
bool |
DoesAnimationMatchExistingSamples ( |
Check if the blend spaces contains samples whos additive type match that of the animation sequence |
|
bool |
EditSampleValue ( |
Edit samples |
|
void |
ExpandRangeForSample ( |
|
|
FVector |
FilterInput ( |
Interpolate BlendInput based on Filter data |
|
void |
ForEachImmutableSample ( |
Allows the user to iterate through all the data samples available in the blend space. |
|
float |
GetAnimationLengthFromSampleData ( |
Utility function to calculate animation length from sample data list |
|
void |
GetAnimationPose ( |
|
|
void |
GetAnimationPose ( |
|
|
EBlendSpaceA... |
GetAxisToScale() |
Returns the axis which can be used to scale animation speed. |
|
const FBlend... |
GetBlendParameter ( |
Accessor for blend parameter |
|
const FBlend... |
GetBlendSample ( |
Returns the Blend Sample at the given index, will assert on invalid indices |
|
const TArray... |
GetBlendSamples() |
Get this blend spaces sample data |
|
const FBlend... |
GetBlendSpaceData() |
Returns the runtime triangulation etc data |
|
FVector |
GetClampedAndWrappedBlendInput ( |
Returns the blend input after clamping and/or wrapping |
|
FVector |
GetClampedBlendInput ( |
Returns the blend input clamped to the valid range, unless that axis has been set to wrap in which case no clamping is done |
|
FVector |
GetGridPosition ( |
Returns the sample position associated with the elements returned by GetGridSamples |
|
FVector |
GetGridPosition ( |
Returns the sample position associated with the coordinates |
|
const FEdito... |
GetGridSampleInternal ( |
Returns the grid element at Index or NULL if Index is not valid |
|
const TArray... |
GetGridSamples() |
Return GridSamples from this BlendSpace |
|
FVector |
GetNormalizedBlendInput ( |
Translates BlendInput to grid space |
|
int32 |
GetNumberOfBlendSamples() |
Get the number of sample points for this blend space |
|
void |
GetRawSamplesFromBlendInput ( |
Get Grid Samples from BlendInput, From Input, it will populate OutGridSamples with the closest grid points. |
|
bool |
GetSamplesFromBlendInput ( |
Get Grid Samples from BlendInput It will return all samples that has weight > KINDA_SMALL_NUMBER |
|
void |
InitializeFilter ( |
Initialize BlendSpace filtering for runtime. |
|
void |
InitializePerBoneBlend() |
Initialize Per Bone Blend |
|
bool |
InterpolateWeightOfSampleData ( |
Utility function to interpolate weight of samples from OldSampleDataList to NewSampleDataList and copy back the interpolated result to FinalSampleDataList |
|
bool |
IsAnimationCompatible ( |
Check if the animation sequence additive type is compatible with this blend space |
|
bool |
IsAnimationCompatibleWithSkeleton ( |
Check if the animation sequence's skeleton is compatible with this blendspace |
|
bool |
IsSameSamplePoint ( |
Checks if the given samples points overlap |
|
bool |
IsSampleWithinBounds ( |
|
|
bool |
IsTooCloseToExistingSamplePoint ( |
Check if given sample value isn't too close to existing sample point |
|
bool |
IsValidAdditiveType ( |
Returns whether or not the given additive animation type is compatible with the blendspace type |
|
bool |
IsValidBlendSampleIndex ( |
Check whether or not the sample index is valid in combination with the stored sample data |
|
bool |
ReplaceSampleAnimation ( |
Update animation on grid sample |
|
void |
ResampleData() |
Runs triangulation/segmentation to update our grid and BlendSpaceData structures |
|
void |
ResetToRefPose ( |
Reset to reference pose. It does apply different refpose based on additive or not |
|
void |
RuntimeValidateMarkerData() |
|
|
void |
SetBlendSpaceData ( |
Sets up BlendSpaceData based on Line elements |
|
bool |
ShouldAnimationBeAdditive() |
Check if the the blendspace contains additive samples only |
|
void |
SnapSamplesToClosestGridPoint() |
If around border, snap to the border to avoid empty hole of data that is not valid |
|
void |
TickFollowerSamples ( |
|
|
bool |
UpdateBlendSamples ( |
Updates a cached set of blend samples according to internal parameters, blendspace position and a delta time. |
|
void |
UpdateBlendSpacesUsingAnimSequence ( |
Validates sample data for blendspaces using the given animation sequence |
|
void |
UpdateFilterParams ( |
Update BlendSpace filtering parameters - values that don't require a full initialization |
|
void |
UpdatePreviewBasePose() |
|
|
bool |
ValidateAnimationSequence ( |
Validate that the given animation sequence and contained blendspace data |
|
void |
ValidateSampleData() |
Validates the contained data |
|
bool |
ValidateSampleValue ( |
Validates supplied blend sample against current contents of blendspace |
Name | Description | ||
---|---|---|---|
|
bool |
GetAllAnimationSequencesReferred ( |
Retrieve all animations that are used by this asset |
|
int32 |
GetMarkerUpdateCounter() |
|
|
float |
GetPlayLength() |
This is used in editor only when used for transition getter this doesn't mean max time. |
|
GetUniqueMarkerNames() |
Return a list of unique marker names for blending compatibility |
|
|
bool |
IsValidAdditive() |
Return true if this is valid additive animation false otherwise |
|
void |
ReplaceReferredAnimations ( |
Replace this assets references to other animations based on ReplacementMap |
|
void |
TickAssetPlayer ( |
Advances the asset player instance |
Name | Description | ||
---|---|---|---|
|
void |
PostEditChangeProperty ( |
Called when a property on this object has been modified externally |
|
void |
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
void |
PreEditChange ( |
This is called when a property is about to be modified externally |
|
void |
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
Name | Description | ||
---|---|---|---|
|
TSharedPtr< ... |
GetPerBoneInterpolationData ( |
Sorts the PerBoneBlend data into a form that can be repeatedly used in GetPerBoneInterpolationIndex |
|
int32 |
GetPerBoneInterpolationIndex ( |
Get PerBoneInterpolationIndex for the input BoneIndex If nothing found, return INDEX_NONE |
Name | Description | ||
---|---|---|---|
|
bool |
bRotationBlendInMeshSpace_DEPRECATED |
This property is deprecated. Please use/see bContainsRotationOffsetMeshSpaceSamples instead |
Name | Description | ||
---|---|---|---|
|
void |
GetAnimationPose ( |
Use GetAnimationPose with other signature |
|
void |
GetAnimationPose ( |
Use GetAnimationPose with extraction context signature |
|
void |
GetAnimationPose ( |
Use GetAnimationPose with extraction context signature |
|
bool |
UpdateSampleAnimation ( |
Please use ReplaceSampleAnimation instead |