UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSkeletalMeshAttributesShared Class Reference

#include <SkeletalMeshAttributes.h>

+ Inheritance diagram for FSkeletalMeshAttributesShared:

Public Types

using FBoneArray = TMeshElementContainer< FBoneID >
 
using FBoneNameAttributesRef = TMeshAttributesRef< FBoneID, FName >
 
using FBoneNameAttributesConstRef = TMeshAttributesConstRef< FBoneID, FName >
 
using FBoneParentIndexAttributesRef = TMeshAttributesRef< FBoneID, int32 >
 
using FBoneParentIndexAttributesConstRef = TMeshAttributesConstRef< FBoneID, int32 >
 
using FBonePoseAttributesRef = TMeshAttributesRef< FBoneID, FTransform >
 
using FBonePoseAttributesConstRef = TMeshAttributesConstRef< FBoneID, FTransform >
 
using FBoneColorAttributesRef = TMeshAttributesRef< FBoneID, FVector4f >
 
using FBoneColorAttributesConstRef = TMeshAttributesConstRef< FBoneID, FVector4f >
 
using FSourceGeometryPartArray = TMeshElementContainer< FSourceGeometryPartID >
 
using FSourceGeometryPartNameRef = TMeshAttributesRef< FSourceGeometryPartID, FName >
 
using FSourceGeometryPartNameConstRef = TMeshAttributesConstRef< FSourceGeometryPartID, FName >
 
using FSourceGeometryPartVertexOffsetAndCountRef = TMeshAttributesRef< FSourceGeometryPartID, TArrayView< int32 > >
 
using FSourceGeometryPartVertexOffsetAndCountConstRef = TMeshAttributesConstRef< FSourceGeometryPartID, TArrayView< int32 > >
 

Public Member Functions

SKELETALMESHDESCRIPTION_API FSkeletalMeshAttributesShared (const FMeshDescription &InMeshDescription)
 
SKELETALMESHDESCRIPTION_API TArray< FNameGetSkinWeightProfileNames (const bool bInUserDefinedOnly=false) const
 
SKELETALMESHDESCRIPTION_API FSkinWeightsVertexAttributesConstRef GetVertexSkinWeights (const FName InProfileName=NAME_None) const
 
SKELETALMESHDESCRIPTION_API FSkinWeightsVertexAttributesConstRef GetVertexSkinWeightsFromAttributeName (const FName InAttributeName=NAME_None) const
 
SKELETALMESHDESCRIPTION_API TArray< FNameGetMorphTargetNames () const
 Returns the list of all registered morph targets on this mesh.
 
SKELETALMESHDESCRIPTION_API TVertexAttributesConstRef< FVector3fGetVertexMorphPositionDelta (const FName InMorphTargetName) const
 
SKELETALMESHDESCRIPTION_API TVertexInstanceAttributesConstRef< FVector3fGetVertexInstanceMorphNormalDelta (const FName InMorphTargetName) const
 
SKELETALMESHDESCRIPTION_API bool HasMorphTargetPositionsAttribute (const FName InMorphTargetName) const
 
SKELETALMESHDESCRIPTION_API bool HasMorphTargetNormalsAttribute (const FName InMorphTargetName) const
 
SKELETALMESHDESCRIPTION_API bool HasBoneColorAttribute () const
 
SKELETALMESHDESCRIPTION_API bool HasBoneNameAttribute () const
 
SKELETALMESHDESCRIPTION_API bool HasBonePoseAttribute () const
 
SKELETALMESHDESCRIPTION_API bool HasBoneParentIndexAttribute () const
 
SKELETALMESHDESCRIPTION_API const FBoneArrayBones () const
 
SKELETALMESHDESCRIPTION_API const TAttributesSet< FBoneID > & BoneAttributes () const
 
bool HasBones () const
 
SKELETALMESHDESCRIPTION_API int32 GetNumBones () const
 
SKELETALMESHDESCRIPTION_API bool IsBoneValid (const FBoneID BoneID) const
 
SKELETALMESHDESCRIPTION_API FBoneNameAttributesConstRef GetBoneNames () const
 
SKELETALMESHDESCRIPTION_API FBoneParentIndexAttributesConstRef GetBoneParentIndices () const
 
SKELETALMESHDESCRIPTION_API FBonePoseAttributesConstRef GetBonePoses () const
 
SKELETALMESHDESCRIPTION_API FBoneColorAttributesConstRef GetBoneColors () const
 
bool HasSourceGeometryParts () const
 
SKELETALMESHDESCRIPTION_API const FSourceGeometryPartArraySourceGeometryParts () const
 
SKELETALMESHDESCRIPTION_API const TAttributesSet< FSourceGeometryPartID > & SourceGeometryPartAttributes () const
 
SKELETALMESHDESCRIPTION_API int32 GetNumSourceGeometryParts () const
 
SKELETALMESHDESCRIPTION_API bool IsSourceGeometryPartValid (const FSourceGeometryPartID InSourceGeometryPartID) const
 
SKELETALMESHDESCRIPTION_API FSourceGeometryPartNameConstRef GetSourceGeometryPartNames () const
 
SKELETALMESHDESCRIPTION_API FSourceGeometryPartVertexOffsetAndCountConstRef GetSourceGeometryPartVertexOffsetAndCounts () const
 

Static Public Member Functions

static SKELETALMESHDESCRIPTION_API bool IsValidSkinWeightProfileName (const FName InProfileName)
 
static SKELETALMESHDESCRIPTION_API bool IsSkinWeightAttribute (const FName InAttributeName)
 Helper function that indicates whether an attribute name represents a skin weight attribute.
 
static SKELETALMESHDESCRIPTION_API FName GetProfileNameFromAttribute (const FName InAttributeName)
 
static SKELETALMESHDESCRIPTION_API bool IsMorphTargetAttribute (const FName InAttributeName)
 Returns true if the given attribute name refers to a morph target attribute.
 
static SKELETALMESHDESCRIPTION_API FName GetMorphTargetNameFromAttribute (const FName InAttributeName)
 Returns the name of a morph target given the attribute name. If the given attribute name is invalid, NAME_None is returned.
 

Static Public Attributes

static SKELETALMESHDESCRIPTION_API FName BonesElementName
 
static SKELETALMESHDESCRIPTION_API FName SourceGeometryPartElementName
 
static SKELETALMESHDESCRIPTION_API FName DefaultSkinWeightProfileName
 

Static Protected Member Functions

static SKELETALMESHDESCRIPTION_API FName CreateSkinWeightAttributeName (const FName InProfileName)
 
static SKELETALMESHDESCRIPTION_API FName CreateMorphTargetAttributeName (const FName InMorphTargetName)
 Construct a name for a morph target attribute with the given a user-visible morph target name.
 

Protected Attributes

const FMeshElementChannelsBoneElementsShared = nullptr
 
const FMeshElementChannelsSourceGeometryPartElementsShared = nullptr
 

Member Typedef Documentation

◆ FBoneArray

◆ FBoneColorAttributesConstRef

◆ FBoneColorAttributesRef

◆ FBoneNameAttributesConstRef

◆ FBoneNameAttributesRef

◆ FBoneParentIndexAttributesConstRef

◆ FBoneParentIndexAttributesRef

◆ FBonePoseAttributesConstRef

◆ FBonePoseAttributesRef

◆ FSourceGeometryPartArray

◆ FSourceGeometryPartNameConstRef

◆ FSourceGeometryPartNameRef

◆ FSourceGeometryPartVertexOffsetAndCountConstRef

◆ FSourceGeometryPartVertexOffsetAndCountRef

Constructor & Destructor Documentation

◆ FSkeletalMeshAttributesShared()

FSkeletalMeshAttributesShared::FSkeletalMeshAttributesShared ( const FMeshDescription InMeshDescription)

Member Function Documentation

◆ BoneAttributes()

const TAttributesSet< FBoneID > & FSkeletalMeshAttributesShared::BoneAttributes ( ) const

◆ Bones()

const FSkeletalMeshAttributesShared::FBoneArray & FSkeletalMeshAttributesShared::Bones ( ) const

◆ CreateMorphTargetAttributeName()

FName FSkeletalMeshAttributesShared::CreateMorphTargetAttributeName ( const FName  InMorphTargetName)
staticprotected

Construct a name for a morph target attribute with the given a user-visible morph target name.

◆ CreateSkinWeightAttributeName()

FName FSkeletalMeshAttributesShared::CreateSkinWeightAttributeName ( const FName  InProfileName)
staticprotected

Construct a name for a skin weight attribute with the given skin weight profile name. Each mesh description can hold different skin weight profiles, although the default is always present.

◆ GetBoneColors()

FSkeletalMeshAttributesShared::FBoneColorAttributesConstRef FSkeletalMeshAttributesShared::GetBoneColors ( ) const

◆ GetBoneNames()

FSkeletalMeshAttributesShared::FBoneNameAttributesConstRef FSkeletalMeshAttributesShared::GetBoneNames ( ) const

◆ GetBoneParentIndices()

FSkeletalMeshAttributesShared::FBoneParentIndexAttributesConstRef FSkeletalMeshAttributesShared::GetBoneParentIndices ( ) const

◆ GetBonePoses()

FSkeletalMeshAttributesShared::FBonePoseAttributesConstRef FSkeletalMeshAttributesShared::GetBonePoses ( ) const

◆ GetMorphTargetNameFromAttribute()

FName FSkeletalMeshAttributesShared::GetMorphTargetNameFromAttribute ( const FName  InAttributeName)
static

Returns the name of a morph target given the attribute name. If the given attribute name is invalid, NAME_None is returned.

◆ GetMorphTargetNames()

TArray< FName > FSkeletalMeshAttributesShared::GetMorphTargetNames ( ) const

Returns the list of all registered morph targets on this mesh.

◆ GetNumBones()

int32 FSkeletalMeshAttributesShared::GetNumBones ( ) const
Returns
the number of the bones. 0 if bone element does not exist in the FMeshDescription.

◆ GetNumSourceGeometryParts()

int32 FSkeletalMeshAttributesShared::GetNumSourceGeometryParts ( ) const

◆ GetProfileNameFromAttribute()

FName FSkeletalMeshAttributesShared::GetProfileNameFromAttribute ( const FName  InAttributeName)
static

Returns a skin profile name from the attribute name, if the attribute name is a valid skin weights attribute.

◆ GetSkinWeightProfileNames()

TArray< FName > FSkeletalMeshAttributesShared::GetSkinWeightProfileNames ( const bool  bInUserDefinedOnly = false) const

Returns the list of all registered skin weight profile names on this mesh.

Parameters
bInUserDefinedOnlyOnly return user-defined profiles, not the default profile.
Returns
The list of the profile names.

◆ GetSourceGeometryPartNames()

FSkeletalMeshAttributesShared::FSourceGeometryPartNameConstRef FSkeletalMeshAttributesShared::GetSourceGeometryPartNames ( ) const

◆ GetSourceGeometryPartVertexOffsetAndCounts()

FSkeletalMeshAttributesShared::FSourceGeometryPartVertexOffsetAndCountConstRef FSkeletalMeshAttributesShared::GetSourceGeometryPartVertexOffsetAndCounts ( ) const

◆ GetVertexInstanceMorphNormalDelta()

TVertexInstanceAttributesConstRef< FVector3f > FSkeletalMeshAttributesShared::GetVertexInstanceMorphNormalDelta ( const FName  InMorphTargetName) const

Returns a read-only vertex instance normal delta attribute for the given morph target. The delta is the difference between the normal vector of the mesh and the normal vector of the desired morphed mesh. Adding this value to the normal vector of the mesh will return the morph's normal vector for this vertex instance. If the morph was not registered to include normals, this will return an invalid attribute.

◆ GetVertexMorphPositionDelta()

TVertexAttributesConstRef< FVector3f > FSkeletalMeshAttributesShared::GetVertexMorphPositionDelta ( const FName  InMorphTargetName) const

Returns a read-only vertex position delta attribute for the given morph target. The delta is the difference between the point position of the mesh and the point position of the morphed mesh. Adding this value to the point position of the mesh will return the morph point position.

◆ GetVertexSkinWeights()

FSkinWeightsVertexAttributesConstRef FSkeletalMeshAttributesShared::GetVertexSkinWeights ( const FName  InProfileName = NAME_None) const

◆ GetVertexSkinWeightsFromAttributeName()

FSkinWeightsVertexAttributesConstRef FSkeletalMeshAttributesShared::GetVertexSkinWeightsFromAttributeName ( const FName  InAttributeName = NAME_None) const

◆ HasBoneColorAttribute()

bool FSkeletalMeshAttributesShared::HasBoneColorAttribute ( ) const

◆ HasBoneNameAttribute()

bool FSkeletalMeshAttributesShared::HasBoneNameAttribute ( ) const

◆ HasBoneParentIndexAttribute()

bool FSkeletalMeshAttributesShared::HasBoneParentIndexAttribute ( ) const

◆ HasBonePoseAttribute()

bool FSkeletalMeshAttributesShared::HasBonePoseAttribute ( ) const

◆ HasBones()

bool FSkeletalMeshAttributesShared::HasBones ( ) const
inline
Returns
true, if bone element was added to the MeshDescription.

◆ HasMorphTargetNormalsAttribute()

bool FSkeletalMeshAttributesShared::HasMorphTargetNormalsAttribute ( const FName  InMorphTargetName) const

◆ HasMorphTargetPositionsAttribute()

bool FSkeletalMeshAttributesShared::HasMorphTargetPositionsAttribute ( const FName  InMorphTargetName) const

◆ HasSourceGeometryParts()

bool FSkeletalMeshAttributesShared::HasSourceGeometryParts ( ) const
inline

◆ IsBoneValid()

bool FSkeletalMeshAttributesShared::IsBoneValid ( const FBoneID  BoneID) const
Returns
true, if the passed bone ID is valid

◆ IsMorphTargetAttribute()

bool FSkeletalMeshAttributesShared::IsMorphTargetAttribute ( const FName  InAttributeName)
static

Returns true if the given attribute name refers to a morph target attribute.

◆ IsSkinWeightAttribute()

bool FSkeletalMeshAttributesShared::IsSkinWeightAttribute ( const FName  InAttributeName)
static

Helper function that indicates whether an attribute name represents a skin weight attribute.

◆ IsSourceGeometryPartValid()

bool FSkeletalMeshAttributesShared::IsSourceGeometryPartValid ( const FSourceGeometryPartID  InSourceGeometryPartID) const

◆ IsValidSkinWeightProfileName()

bool FSkeletalMeshAttributesShared::IsValidSkinWeightProfileName ( const FName  InProfileName)
static

Returns true if the given identifier is a valid profile name. If the name is empty, or matches the default profile, then the profile name is considered invalid.

◆ SourceGeometryPartAttributes()

const TAttributesSet< FSourceGeometryPartID > & FSkeletalMeshAttributesShared::SourceGeometryPartAttributes ( ) const

◆ SourceGeometryParts()

const FSkeletalMeshAttributesShared::FSourceGeometryPartArray & FSkeletalMeshAttributesShared::SourceGeometryParts ( ) const

Member Data Documentation

◆ BoneElementsShared

const FMeshElementChannels* FSkeletalMeshAttributesShared::BoneElementsShared = nullptr
protected

◆ BonesElementName

FName FSkeletalMeshAttributesShared::BonesElementName
static

Name of the mesh element type representing bones.

Note
this is different from the MeshAttribute::Bone::Name attribute. This is a name of the element that is added to the mesh description to represent Bones (similar to the Vertex/Polygons/Edges elements). MeshAttribute::Bone::Name is just one of the attributes of the Bones element.

◆ DefaultSkinWeightProfileName

FName FSkeletalMeshAttributesShared::DefaultSkinWeightProfileName
static

◆ SourceGeometryPartElementName

FName FSkeletalMeshAttributesShared::SourceGeometryPartElementName
static

Name of the mesh element representing import data for meshes that were imported from separate geometries into a single skeletal mesh piece. Can be used to match parts of the mesh back to the constituent parts of the import source.

◆ SourceGeometryPartElementsShared

const FMeshElementChannels* FSkeletalMeshAttributesShared::SourceGeometryPartElementsShared = nullptr
protected

The documentation for this class was generated from the following files: