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

#include <SkinWeightVertexBuffer.h>

Public Member Functions

ENGINE_API FSkinWeightVertexBuffer ()
 
ENGINE_API FSkinWeightVertexBuffer (const FSkinWeightVertexBuffer &Other)
 
ENGINE_API ~FSkinWeightVertexBuffer ()
 
ENGINE_API FSkinWeightVertexBufferoperator= (const FSkinWeightVertexBuffer &Other)
 
ENGINE_API void CleanUp ()
 
ENGINE_API FSkinWeightVertexBufferoperator= (const TArray< FSkinWeightInfo > &InWeights)
 
ENGINE_API void GetSkinWeights (TArray< FSkinWeightInfo > &OutVertices) const
 
ENGINE_API FSkinWeightInfo GetVertexSkinWeights (uint32 VertexIndex) const
 
ENGINE_API void CopySkinWeightRawDataFromBuffer (const uint8 *InSkinWeightData, uint32 InNumVertices)
 
void SerializeMetaData (FArchive &Ar)
 
void CopyMetaData (const FSkinWeightVertexBuffer &Other)
 
uint32 GetNumVertices () const
 
uint32 GetVertexDataSize () const
 
void SetNeedsCPUAccess (bool bInNeedsCPUAccess)
 
bool GetNeedsCPUAccess () const
 
void SetMaxBoneInfluences (uint32 InMaxBoneInfluences)
 
uint32 GetMaxBoneInfluences () const
 
void SetUse16BitBoneIndex (bool bInUse16BitBoneIndex)
 
bool Use16BitBoneIndex () const
 
void SetUse16BitBoneWeight (bool bInUse16BitBoneWeight)
 
bool Use16BitBoneWeight () const
 
uint32 GetBoneIndexByteSize () const
 
uint32 GetBoneWeightByteSize () const
 
uint32 GetBoneIndexAndWeightByteSize () const
 
bool GetVariableBonesPerVertex () const
 
uint32 GetConstantInfluencesVertexStride () const
 
uint32 GetConstantInfluencesBoneWeightsOffset () const
 
FSkinWeightDataVertexBufferGetDataVertexBuffer ()
 
const FSkinWeightDataVertexBufferGetDataVertexBuffer () const
 
const FSkinWeightLookupVertexBufferGetLookupVertexBuffer () const
 
FSkinWeightRHIInfo CreateRHIBuffer (FRHICommandListBase &RHICmdList)
 
ENGINE_API GPUSkinBoneInfluenceType GetBoneInfluenceType () const
 
ENGINE_API void GetVertexInfluenceOffsetCount (uint32 VertexIndex, uint32 &VertexWeightOffset, uint32 &VertexInfluenceCount) const
 
ENGINE_API bool GetRigidWeightBone (uint32 VertexIndex, int32 &OutBoneIndex) const
 
ENGINE_API uint32 GetBoneIndex (uint32 VertexIndex, uint32 InfluenceIndex) const
 
ENGINE_API void SetBoneIndex (uint32 VertexIndex, uint32 InfluenceIndex, uint32 BoneIndex)
 
ENGINE_API uint16 GetBoneWeight (uint32 VertexIndex, uint32 InfluenceIndex) const
 
ENGINE_API void SetBoneWeight (uint32 VertexIndex, uint32 InfluenceIndex, uint16 BoneWeight)
 
ENGINE_API void ResetVertexBoneWeights (uint32 VertexIndex)
 
ENGINE_API void RebuildLookupVertexBuffer ()
 
ENGINE_API void SetOwnerName (const FName &OwnerName)
 
ENGINE_API void BeginInitResources ()
 
ENGINE_API void BeginReleaseResources ()
 
ENGINE_API void ReleaseResources ()
 
void InitRHIForStreaming (const FSkinWeightRHIInfo &RHIInfo, FRHIResourceReplaceBatcher &Batcher)
 
void ReleaseRHIForStreaming (FRHIResourceReplaceBatcher &Batcher)
 

Friends

ENGINE_API friend FArchiveoperator<< (FArchive &Ar, FSkinWeightVertexBuffer &VertexBuffer)
 

Detailed Description

A container for skin weights data vertex buffer and lookup vertex buffer.

Constructor & Destructor Documentation

◆ FSkinWeightVertexBuffer() [1/2]

FSkinWeightVertexBuffer::FSkinWeightVertexBuffer ( )

Default constructor.

◆ FSkinWeightVertexBuffer() [2/2]

FSkinWeightVertexBuffer::FSkinWeightVertexBuffer ( const FSkinWeightVertexBuffer Other)

Constructor (copy)

◆ ~FSkinWeightVertexBuffer()

FSkinWeightVertexBuffer::~FSkinWeightVertexBuffer ( )

Destructor.

Member Function Documentation

◆ BeginInitResources()

void FSkinWeightVertexBuffer::BeginInitResources ( )

◆ BeginReleaseResources()

void FSkinWeightVertexBuffer::BeginReleaseResources ( )

◆ CleanUp()

void FSkinWeightVertexBuffer::CleanUp ( )

Delete existing resources

◆ CopyMetaData()

void FSkinWeightVertexBuffer::CopyMetaData ( const FSkinWeightVertexBuffer Other)

◆ CopySkinWeightRawDataFromBuffer()

void FSkinWeightVertexBuffer::CopySkinWeightRawDataFromBuffer ( const uint8 InSkinWeightData,
uint32  InNumVertices 
)

◆ CreateRHIBuffer()

FSkinWeightRHIInfo FSkinWeightVertexBuffer::CreateRHIBuffer ( FRHICommandListBase RHICmdList)

◆ GetBoneIndex()

uint32 FSkinWeightVertexBuffer::GetBoneIndex ( uint32  VertexIndex,
uint32  InfluenceIndex 
) const

◆ GetBoneIndexAndWeightByteSize()

uint32 FSkinWeightVertexBuffer::GetBoneIndexAndWeightByteSize ( ) const
inline

◆ GetBoneIndexByteSize()

uint32 FSkinWeightVertexBuffer::GetBoneIndexByteSize ( ) const
inline

◆ GetBoneInfluenceType()

GPUSkinBoneInfluenceType FSkinWeightVertexBuffer::GetBoneInfluenceType ( ) const

◆ GetBoneWeight()

uint16 FSkinWeightVertexBuffer::GetBoneWeight ( uint32  VertexIndex,
uint32  InfluenceIndex 
) const

◆ GetBoneWeightByteSize()

uint32 FSkinWeightVertexBuffer::GetBoneWeightByteSize ( ) const
inline

◆ GetConstantInfluencesBoneWeightsOffset()

uint32 FSkinWeightVertexBuffer::GetConstantInfluencesBoneWeightsOffset ( ) const
inline

◆ GetConstantInfluencesVertexStride()

uint32 FSkinWeightVertexBuffer::GetConstantInfluencesVertexStride ( ) const
inline

◆ GetDataVertexBuffer() [1/2]

FSkinWeightDataVertexBuffer * FSkinWeightVertexBuffer::GetDataVertexBuffer ( )
inline

◆ GetDataVertexBuffer() [2/2]

const FSkinWeightDataVertexBuffer * FSkinWeightVertexBuffer::GetDataVertexBuffer ( ) const
inline

◆ GetLookupVertexBuffer()

const FSkinWeightLookupVertexBuffer * FSkinWeightVertexBuffer::GetLookupVertexBuffer ( ) const
inline

◆ GetMaxBoneInfluences()

uint32 FSkinWeightVertexBuffer::GetMaxBoneInfluences ( ) const
inline

◆ GetNeedsCPUAccess()

bool FSkinWeightVertexBuffer::GetNeedsCPUAccess ( ) const
inline

◆ GetNumVertices()

uint32 FSkinWeightVertexBuffer::GetNumVertices ( ) const
inline
Returns
number of vertices in this vertex buffer

◆ GetRigidWeightBone()

bool FSkinWeightVertexBuffer::GetRigidWeightBone ( uint32  VertexIndex,
int32 OutBoneIndex 
) const

◆ GetSkinWeights()

void FSkinWeightVertexBuffer::GetSkinWeights ( TArray< FSkinWeightInfo > &  OutVertices) const

◆ GetVariableBonesPerVertex()

bool FSkinWeightVertexBuffer::GetVariableBonesPerVertex ( ) const
inline

◆ GetVertexDataSize()

uint32 FSkinWeightVertexBuffer::GetVertexDataSize ( ) const
inline
Returns
total size of data in resource array

◆ GetVertexInfluenceOffsetCount()

void FSkinWeightVertexBuffer::GetVertexInfluenceOffsetCount ( uint32  VertexIndex,
uint32 VertexWeightOffset,
uint32 VertexInfluenceCount 
) const

◆ GetVertexSkinWeights()

FSkinWeightInfo FSkinWeightVertexBuffer::GetVertexSkinWeights ( uint32  VertexIndex) const

◆ InitRHIForStreaming()

void FSkinWeightVertexBuffer::InitRHIForStreaming ( const FSkinWeightRHIInfo RHIInfo,
FRHIResourceReplaceBatcher Batcher 
)
inline

Similar to Init/ReleaseRHI but only update existing SRV so references to the SRV stays valid

◆ operator=() [1/2]

FSkinWeightVertexBuffer & FSkinWeightVertexBuffer::operator= ( const FSkinWeightVertexBuffer Other)

Assignment. Assumes that vertex buffer will be rebuilt

◆ operator=() [2/2]

FSkinWeightVertexBuffer & FSkinWeightVertexBuffer::operator= ( const TArray< FSkinWeightInfo > &  InWeights)

Assignment operator for assigning array of weights to this buffer

◆ RebuildLookupVertexBuffer()

void FSkinWeightVertexBuffer::RebuildLookupVertexBuffer ( )

Should only be called for legacy meshes or meshes that don't really have a LookupVertexBuffer, for example created in realtime. All variable influence meshes imported after the FAnimObjectVersion::UnlimitedBoneInfluences version already have a LookupVertexBuffer

◆ ReleaseResources()

void FSkinWeightVertexBuffer::ReleaseResources ( )

◆ ReleaseRHIForStreaming()

void FSkinWeightVertexBuffer::ReleaseRHIForStreaming ( FRHIResourceReplaceBatcher Batcher)
inline

◆ ResetVertexBoneWeights()

void FSkinWeightVertexBuffer::ResetVertexBoneWeights ( uint32  VertexIndex)

◆ SerializeMetaData()

void FSkinWeightVertexBuffer::SerializeMetaData ( FArchive Ar)

◆ SetBoneIndex()

void FSkinWeightVertexBuffer::SetBoneIndex ( uint32  VertexIndex,
uint32  InfluenceIndex,
uint32  BoneIndex 
)

◆ SetBoneWeight()

void FSkinWeightVertexBuffer::SetBoneWeight ( uint32  VertexIndex,
uint32  InfluenceIndex,
uint16  BoneWeight 
)

◆ SetMaxBoneInfluences()

void FSkinWeightVertexBuffer::SetMaxBoneInfluences ( uint32  InMaxBoneInfluences)
inline

◆ SetNeedsCPUAccess()

void FSkinWeightVertexBuffer::SetNeedsCPUAccess ( bool  bInNeedsCPUAccess)
inline

◆ SetOwnerName()

void FSkinWeightVertexBuffer::SetOwnerName ( const FName OwnerName)

SetOwnerName should be called before BeginInitResources for the owner name to be successfully tracked.

◆ SetUse16BitBoneIndex()

void FSkinWeightVertexBuffer::SetUse16BitBoneIndex ( bool  bInUse16BitBoneIndex)
inline

◆ SetUse16BitBoneWeight()

void FSkinWeightVertexBuffer::SetUse16BitBoneWeight ( bool  bInUse16BitBoneWeight)
inline

◆ Use16BitBoneIndex()

bool FSkinWeightVertexBuffer::Use16BitBoneIndex ( ) const
inline

◆ Use16BitBoneWeight()

bool FSkinWeightVertexBuffer::Use16BitBoneWeight ( ) const
inline

Friends And Related Symbol Documentation

◆ operator<<

ENGINE_API friend FArchive & operator<< ( FArchive Ar,
FSkinWeightVertexBuffer VertexBuffer 
)
friend

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