UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FMeshBones Class Reference

#include <MeshBones.h>

Static Public Member Functions

static GEOMETRYCORE_API bool GetBoneChildren (const FDynamicMesh3 &Mesh, int32 BoneIndex, TArray< int32 > &ChildrenIndices, bool bRecursive=false)
 
static GEOMETRYCORE_API bool GetBonesInIncreasingOrder (const FDynamicMesh3 &Mesh, TArray< FName > &BoneNames, TArray< int32 > &BoneParentIdx, TArray< FTransform > &BonePose, bool &bOrderChanged)
 
static GEOMETRYCORE_API bool CombineLodBonesToReferenceSkeleton (const TArray< FDynamicMesh3 > &Meshes, TArray< FName > &BoneNames, TArray< int32 > &BoneParentIdx, TArray< FTransform > &BonePose, bool &bOrderChanged)
 

Detailed Description

FMeshBones is a utility class for manipulating mesh bone attributes

Member Function Documentation

◆ CombineLodBonesToReferenceSkeleton()

bool FMeshBones::CombineLodBonesToReferenceSkeleton ( const TArray< FDynamicMesh3 > &  Meshes,
TArray< FName > &  BoneNames,
TArray< int32 > &  BoneParentIdx,
TArray< FTransform > &  BonePose,
bool bOrderChanged 
)
static

Create a superset reference skeleton out of all the bones in the mesh Lods.

Parameters
bOrderChangedtrue, if all Lods have the same bone attributes and they are ordered correctly such that the parent bone always has a lower index than the children. Hence the arrays can be directly added to an empty FReferenceSkeleton instance.
Returns
false if one of the Lods has no bone attributes or Lods have incompatible skeletons

◆ GetBoneChildren()

bool FMeshBones::GetBoneChildren ( const FDynamicMesh3 Mesh,
int32  BoneIndex,
TArray< int32 > &  ChildrenIndices,
bool  bRecursive = false 
)
static

Return an array of indices into the bone attribute arrays of all the children of the bone. Optionally, recursively add all grandchildren via a breadth-first search.

Parameters
BoneIndexthe index of the bone whose children we are requesting
bRecursiveif true, recursively add all grandchildren

◆ GetBonesInIncreasingOrder()

bool FMeshBones::GetBonesInIncreasingOrder ( const FDynamicMesh3 Mesh,
TArray< FName > &  BoneNames,
TArray< int32 > &  BoneParentIdx,
TArray< FTransform > &  BonePose,
bool bOrderChanged 
)
static

Create bone data arrays that can be used to create a FReferenceSkeleton.

Parameters
bOrderChangedtrue, if the order of the bones in the output data arrays is different than the order in the mesh bone attribute
Returns
false if the dynamic mesh has no bone attributes
Note
the order of the bones in the output arrays might be different than the order of the bones in the mesh bone attribute. The reference skeleton expects the parent bone to always have a lower index than the children. This doesn't have to be true for dynamic mesh bone attributes. You can use TDynamicVertexSkinWeightsAttribute::ReindexBoneIndicesToSkeleton method to reindex the skinning weights if the order changed (bOutOrderChanged == true).

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