Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Animation
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UBlendProfile
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Classes/Animation/BlendProfile.h |
| Include | #include "Animation/BlendProfile.h" |
Syntax
class UBlendProfile :
public UObject,
public IInterpolationIndexProvider
Remarks
A blend profile is a set of per-bone scales that can be used in transitions and blend lists to tweak the weights of specific bones. The scales are applied to the normal weight for that bone
Variables
| Type | Name | Description | |
|---|---|---|---|
| EBlendProfileMode | Mode | Blend Profile Mode. Read EBlendProfileMode for more details. | |
| TObjectPtr< USkeleton > | OwningSkeleton | The skeleton that owns this profile. | |
| TArray< FBlendProfileBoneEntry > | ProfileEntries | List of blend scale entries. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| float | CalculateBoneWeight
(
float BoneFactor, |
Calculate the blend weight for a given bone. | |
| void | Removes entries with bone references to invalid bones | ||
| void | FillBoneScalesArray
(
TArray< float >& OutBoneBlendProfileFactors, |
Resize and fill an array of floats with the bone factor values. | |
| void | FillSkeletonBoneDurationsArray
(
TCustomBoneIndexArrayView< float, FSkeletonPoseBoneIndex > OutDurationPerBone, |
Fill an array of floats with the bone duration values. One for each bone in the skeleton pose. | |
| float | GetBoneBlendScale
(
const FName& InBoneName |
Get the set blend scale for the specified bone, will return 1.0f if no entry was found (no scale). | |
| float | GetBoneBlendScale
(
int32 InBoneIdx |
Get the set blend scale for the specified bone, will return 1.0f if no entry was found (no scale) | |
| float | Default value of entries. Default values are not saved. | ||
| const FBlendProfileBoneEntry & | GetEntry
(
const int32 InEntryIdx |
Get the bone entry by entry index. | |
| float | GetEntryBlendScale
(
const int32 InEntryIdx |
Get the blend scale stored in a specific entry. | |
| int32 | GetEntryIndex
(
const FName& BoneName |
Get the index of the entry for the specified bone | |
| int32 | GetEntryIndex
(
const FSkeletonPoseBoneIndex InBoneIdx |
Get the index of the entry for the specified bone | |
| EBlendProfileMode | GetMode () |
||
| int32 | Get the number of entries in the profile (an entry is any blend scale that isn't 1.0f) | ||
| bool | IsBlendMask () |
||
| void | Ensures the bone names match the skeleton indices by using the bone name as our lookup key. | ||
| void | RefreshBoneEntry
(
int32 InBoneIndex |
Ensures the bone name of the specified entry matches the skeleton index (does nothing if it doesn't exist) | |
| void | RemoveEntry
(
int32 InBoneIdx |
Removes the entry for the specified bone index (does nothing if it doesn't exist) | |
| void | SetBoneBlendScale
(
int32 InBoneIdx, |
Set the blend scale for a specific bone | |
| void | SetBoneBlendScale
(
const FName& InBoneName, |
Set the blend scale for a specific bone | |
| void | UpdateBoneWeights
(
FBlendSampleData& InOutCurrentData, |
Update all the bone weights for some provided FBlendSampleData. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| bool | UObject. | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Overridden from IInterpolationIndexProvider
| Type | Name | Description | |
|---|---|---|---|
| int32 | GetPerBoneInterpolationIndex
(
const FCompactPoseBoneIndex& InCompactPoseBoneIndex, |
IInterpolationIndexProvider. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| int32 | GetEntryIndex
(
const int32 InBoneIdx |
Please use the overload that takes a skeleton bone index |