Navigation
API > API/Runtime > API/Runtime/Engine
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
| Name | UBlendProfile |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Animation/BlendProfile.h |
| Include Path | #include "Animation/BlendProfile.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType)
class UBlendProfile :
public UObject ,
public IBlendProfileInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UBlendProfile
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UBlendProfile() |
Animation/BlendProfile.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Mode | EBlendProfileMode | Blend Profile Mode. Read EBlendProfileMode for more details. | Animation/BlendProfile.h | |
| OwningSkeleton | TObjectPtr< USkeleton > | The skeleton that owns this profile. | Animation/BlendProfile.h | |
| ProfileEntries | TArray< FBlendProfileBoneEntry > | List of blend scale entries. | Animation/BlendProfile.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CleanupBoneEntries() |
Removes entries with bone references to invalid bones | Animation/BlendProfile.h | |
void ClearEntries() |
Empties the bone enties array. | Animation/BlendProfile.h | |
void FillBoneScalesArray
(
TArray< float >& OutBoneBlendProfileFactors, |
Resize and fill an array of floats with the bone factor values. | Animation/BlendProfile.h | |
void FillSkeletonBoneDurationsArray
(
TCustomBoneIndexArrayView< float, FSkeletonPoseBoneIndex > OutDurationPerBone, |
Fill an array of floats with the bone duration values. One for each bone in the skeleton pose. | Animation/BlendProfile.h | |
void FillSkeletonBoneDurationsArray
(
TCustomBoneIndexArrayView< float, FSkeletonPoseBoneIndex > OutDurationPerBone, |
Fill an array of floats with the bone duration values. One for each bone in the skeleton pose. | Animation/BlendProfile.h | |
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). | Animation/BlendProfile.h | |
virtual float GetDefaultBlendScale() |
Default value of entries. Default values are not saved. | Animation/BlendProfile.h | |
const FBlendProfileBoneEntry & GetEntry
(
const int32 InEntryIdx |
Get the bone entry by entry index. | Animation/BlendProfile.h | |
float GetEntryBlendScale
(
const int32 InEntryIdx |
Get the blend scale stored in a specific entry. | Animation/BlendProfile.h | |
int32 GetEntryIndex
(
const FName& BoneName |
Get the index of the entry for the specified bone | Animation/BlendProfile.h | |
int32 GetEntryIndex
(
const FSkeletonPoseBoneIndex InBoneIdx |
Get the index of the entry for the specified bone | Animation/BlendProfile.h | |
int32 GetEntryIndex
(
const int32 InBoneIdx |
Animation/BlendProfile.h | ||
bool IsBlendMask() |
Animation/BlendProfile.h | ||
void RefreshBoneEntriesFromName() |
Ensures the bone names match the skeleton indices by using the bone name as our lookup key. | Animation/BlendProfile.h | |
void RefreshBoneEntry
(
int32 InBoneIndex |
Ensures the bone name of the specified entry matches the skeleton index (does nothing if it doesn't exist) | Animation/BlendProfile.h | |
void RemoveEntry
(
int32 InBoneIdx |
Removes the entry for the specified bone index (does nothing if it doesn't exist) | Animation/BlendProfile.h | |
void SetBoneBlendScale
(
int32 InBoneIdx, |
Set the blend scale for a specific bone | Animation/BlendProfile.h | |
void SetBoneBlendScale
(
const FName& InBoneName, |
Set the blend scale for a specific bone | Animation/BlendProfile.h | |
void SetSkeleton
(
USkeleton* InSkeleton |
Sets the skeleton this blend profile is used with | Animation/BlendProfile.h | |
void UpdateBoneWeights
(
FBlendSampleData& InOutCurrentData, |
Update all the bone weights for some provided FBlendSampleData. | Animation/BlendProfile.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsSafeForRootSet() |
UObject. | Animation/BlendProfile.h | |
virtual void PostLoad() |
Animation/BlendProfile.h |
Overridden from IBlendProfileInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual float GetBoneBlendScale
(
int32 InBoneIdx |
Get the set blend scale for the specified bone, will return 1.0f if no entry was found (no scale) | Animation/BlendProfile.h | |
virtual EBlendProfileMode GetMode() |
Animation/BlendProfile.h | ||
virtual int32 GetNumBlendEntries() |
Get the number of entries in the profile (an entry is any blend scale that isn't 1.0f) | Animation/BlendProfile.h | |
virtual TObjectPtr< USkeleton > GetSkeleton() |
Animation/BlendProfile.h |
Overridden from IInterpolationIndexProvider
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 GetPerBoneInterpolationIndex
(
const FSkeletonPoseBoneIndex InSkeletonBoneIndex, |
Implementation should return the index into the PerBoneBlendData array that would be required when looking up/blending BoneIndex. | Animation/BlendProfile.h | |
virtual int32 GetPerBoneInterpolationIndex
(
const FCompactPoseBoneIndex& InCompactPoseBoneIndex, |
IInterpolationIndexProvider. | Animation/BlendProfile.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static float CalculateBoneWeight
(
float BoneFactor, |
Calculate the blend weight for a given bone. | Animation/BlendProfile.h |