UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCollection::Facades::FVertexBoneWeightsFacade Class Reference

#include <CollectionVertexBoneWeightsFacade.h>

Public Member Functions

CHAOS_API FVertexBoneWeightsFacade (FManagedArrayCollection &InSelf, const bool bInternalWeights=true)
 
CHAOS_API FVertexBoneWeightsFacade (const FManagedArrayCollection &InSelf, const bool bInternalWeights=true)
 
CHAOS_API void DefineSchema ()
 
bool IsConst () const
 
CHAOS_API bool IsValid () const
 
CHAOS_API bool HasValidBoneIndicesAndWeights () const
 
CHAOS_API void AddBoneWeightsFromKinematicBindings ()
 
CHAOS_API void AddBoneWeight (int32 VertexIndex, int32 BoneIndex, float BoneWeight)
 
CHAOS_API void ModifyBoneWeight (int32 VertexIndex, const TArray< int32 > &VertexBoneIndices, const TArray< float > &VertexBoneWeights)
 
CHAOS_API void ModifyKinematicWeight (int32 VertexIndex, const float KinematicWeight)
 
CHAOS_API void SetVertexKinematic (int32 VertexIndex, bool Value=true)
 
CHAOS_API void SetVertexArrayKinematic (const TArray< int32 > &VertexIndices, bool Value=true)
 
CHAOS_API bool IsKinematicVertex (int32 VertexIndex) const
 
CHAOS_API void ModifyGeometryBinding (const int32 GeometryIndex, const TObjectPtr< UObject > &SkeletalMesh, const int32 GeometryLOD)
 
CHAOS_API void NormalizeBoneWeights ()
 
int32 NumVertices () const
 
int32 NumBones () const
 
int32 NumGeometry () const
 
CHAOS_API const TManagedArray< TArray< int32 > > * FindBoneIndices () const
 
CHAOS_API const TManagedArray< TArray< int32 > > & GetBoneIndices () const
 
CHAOS_API const TManagedArray< TArray< float > > * FindBoneWeights () const
 
CHAOS_API const TManagedArray< TArray< float > > & GetBoneWeights () const
 
const TManagedArray< float > * FindKinematicWeights () const
 
const TManagedArray< float > & GetKinematicWeights () const
 
const TManagedArray< TObjectPtr< UObject > > * FindSkeletalMeshes () const
 
const TManagedArray< TObjectPtr< UObject > > & GetSkeletalMeshes () const
 
const TManagedArray< int32 > * FindGeomketryLODs () const
 
const TManagedArray< int32 > & GetGeometryLODs () const
 
const FManagedArrayCollectionGetManagedArrayCollection () const
 

Static Public Attributes

static CHAOS_API const FName BoneIndicesAttributeName = "BoneIndices"
 
static CHAOS_API const FName BoneWeightsAttributeName = "BoneWeights"
 
static CHAOS_API const FName KinematicWeightAttributeName = "KinematicWeight"
 
static CHAOS_API const FName GeometryLODAttributeName = "GeometryLOD"
 
static CHAOS_API const FName SkeletalMeshAttributeName = "SkeletalMesh"
 

Detailed Description

FVertexBoneWeightsFacade

Defines common API for storing a vertex weights bound to a bone. This mapping is from the the vertex to the bone index. Kinematic array specifies whether vertices are considered kinematic. Non-kinematic vertices can also have associated bone indices and weights.

Then arrays can be accessed later by: const TManagedArray< TArray<int32> >* BoneIndices = FVertexBoneWeightsFacade::GetBoneIndices(this); const TManagedArray< TArray<float> >* BoneWeights = FVertexBoneWeightsFacade::GetBoneWeights(this);

The following attributes are created on the collection:

  • FindAttribute<TArray<int32>>(FVertexSetInterface::IndexAttribute, FGeometryCollection::VerticesGroup);
  • FindAttribute<TArray<float>>(FVertexSetInterface::WeightAttribute, FGeometryCollection::VerticesGroup);

Constructor & Destructor Documentation

◆ FVertexBoneWeightsFacade() [1/2]

GeometryCollection::Facades::FVertexBoneWeightsFacade::FVertexBoneWeightsFacade ( FManagedArrayCollection InSelf,
const bool  bInternalWeights = true 
)

◆ FVertexBoneWeightsFacade() [2/2]

GeometryCollection::Facades::FVertexBoneWeightsFacade::FVertexBoneWeightsFacade ( const FManagedArrayCollection InSelf,
const bool  bInternalWeights = true 
)

Member Function Documentation

◆ AddBoneWeight()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::AddBoneWeight ( int32  VertexIndex,
int32  BoneIndex,
float  BoneWeight 
)

Add single bone/weight to vertex

◆ AddBoneWeightsFromKinematicBindings()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::AddBoneWeightsFromKinematicBindings ( )

Add bone weight based on the kinematic bindings.

◆ DefineSchema()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::DefineSchema ( )

Define the facade

◆ FindBoneIndices()

const TManagedArray< TArray< int32 > > * GeometryCollection::Facades::FVertexBoneWeightsFacade::FindBoneIndices ( ) const

Return the vertex bone indices from the collection. Null if not initialized.

◆ FindBoneWeights()

const TManagedArray< TArray< float > > * GeometryCollection::Facades::FVertexBoneWeightsFacade::FindBoneWeights ( ) const

Return the vertex bone weights from the collection. Null if not initialized.

◆ FindGeomketryLODs()

const TManagedArray< int32 > * GeometryCollection::Facades::FVertexBoneWeightsFacade::FindGeomketryLODs ( ) const
inline

Return the geometry LODs from the collection. Null if not initialized.

◆ FindKinematicWeights()

const TManagedArray< float > * GeometryCollection::Facades::FVertexBoneWeightsFacade::FindKinematicWeights ( ) const
inline

Return the vertex kinematic weights from the collection. Null if not initialized.

◆ FindSkeletalMeshes()

const TManagedArray< TObjectPtr< UObject > > * GeometryCollection::Facades::FVertexBoneWeightsFacade::FindSkeletalMeshes ( ) const
inline

Return the skeletal meshes from the collection. Null if not initialized.

◆ GetBoneIndices()

const TManagedArray< TArray< int32 > > & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetBoneIndices ( ) const

◆ GetBoneWeights()

const TManagedArray< TArray< float > > & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetBoneWeights ( ) const

◆ GetGeometryLODs()

const TManagedArray< int32 > & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetGeometryLODs ( ) const
inline

◆ GetKinematicWeights()

const TManagedArray< float > & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetKinematicWeights ( ) const
inline

◆ GetManagedArrayCollection()

const FManagedArrayCollection & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetManagedArrayCollection ( ) const
inline

Get the managed array collection

◆ GetSkeletalMeshes()

const TManagedArray< TObjectPtr< UObject > > & GeometryCollection::Facades::FVertexBoneWeightsFacade::GetSkeletalMeshes ( ) const
inline

◆ HasValidBoneIndicesAndWeights()

bool GeometryCollection::Facades::FVertexBoneWeightsFacade::HasValidBoneIndicesAndWeights ( ) const

Does the collection have bone weight and indices defined?

◆ IsConst()

bool GeometryCollection::Facades::FVertexBoneWeightsFacade::IsConst ( ) const
inline

Is the Facade const

◆ IsKinematicVertex()

bool GeometryCollection::Facades::FVertexBoneWeightsFacade::IsKinematicVertex ( int32  VertexIndex) const

Return if the vertex is kinematic Pre 5.5 we did not have per-vertex kinematic attribute. This supports defining kinematics without per-vertex kinematic attribute.

◆ IsValid()

bool GeometryCollection::Facades::FVertexBoneWeightsFacade::IsValid ( ) const

Is the Facade defined on the collection?

◆ ModifyBoneWeight()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::ModifyBoneWeight ( int32  VertexIndex,
const TArray< int32 > &  VertexBoneIndices,
const TArray< float > &  VertexBoneWeights 
)

Modify bone weight based on the kinematic bindings.

◆ ModifyGeometryBinding()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::ModifyGeometryBinding ( const int32  GeometryIndex,
const TObjectPtr< UObject > &  SkeletalMesh,
const int32  GeometryLOD 
)

Modify the geometry skelmesh and LOD.

◆ ModifyKinematicWeight()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::ModifyKinematicWeight ( int32  VertexIndex,
const float  KinematicWeight 
)

Modify kinematic weight based

◆ NormalizeBoneWeights()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::NormalizeBoneWeights ( )

Normalize bone weights

◆ NumBones()

int32 GeometryCollection::Facades::FVertexBoneWeightsFacade::NumBones ( ) const
inline

Return number of bones

◆ NumGeometry()

int32 GeometryCollection::Facades::FVertexBoneWeightsFacade::NumGeometry ( ) const
inline

Return number of geometries

◆ NumVertices()

int32 GeometryCollection::Facades::FVertexBoneWeightsFacade::NumVertices ( ) const
inline

Return number of vertices

◆ SetVertexArrayKinematic()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::SetVertexArrayKinematic ( const TArray< int32 > &  VertexIndices,
bool  Value = true 
)

Set vertex to be kinematic/dynamic

◆ SetVertexKinematic()

void GeometryCollection::Facades::FVertexBoneWeightsFacade::SetVertexKinematic ( int32  VertexIndex,
bool  Value = true 
)

Set vertex to be kinematic/dynamic

Member Data Documentation

◆ BoneIndicesAttributeName

const FName GeometryCollection::Facades::FVertexBoneWeightsFacade::BoneIndicesAttributeName = "BoneIndices"
static

◆ BoneWeightsAttributeName

const FName GeometryCollection::Facades::FVertexBoneWeightsFacade::BoneWeightsAttributeName = "BoneWeights"
static

◆ GeometryLODAttributeName

const FName GeometryCollection::Facades::FVertexBoneWeightsFacade::GeometryLODAttributeName = "GeometryLOD"
static

◆ KinematicWeightAttributeName

const FName GeometryCollection::Facades::FVertexBoneWeightsFacade::KinematicWeightAttributeName = "KinematicWeight"
static

◆ SkeletalMeshAttributeName

const FName GeometryCollection::Facades::FVertexBoneWeightsFacade::SkeletalMeshAttributeName = "SkeletalMesh"
static

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