39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ClothVertBoneData.generated.h"
|
|
|
|
// Bone data for a vertex
|
|
USTRUCT()
|
|
struct FClothVertBoneData
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
FClothVertBoneData()
|
|
: NumInfluences(0)
|
|
{
|
|
FMemory::Memset(BoneIndices, (uint8)INDEX_NONE, sizeof(BoneIndices));
|
|
FMemory::Memset(BoneWeights, 0, sizeof(BoneWeights));
|
|
}
|
|
|
|
// MAX_TOTAL_INFLUENCES = 12 is defined in GPUSkinPublicDefs.h, but that would
|
|
// require a dependency on Engine, which we can't have here. Until that can
|
|
// be migrated elsewhere (not to mention if), we make a redundant variable
|
|
// with an 8 in it, that needs to stay in sync with MAX_TOTAL_INFLUENCES.
|
|
static const int8 MaxTotalInfluences = 12;
|
|
|
|
// Number of influences for this vertex.
|
|
UPROPERTY()
|
|
int32 NumInfluences;
|
|
|
|
// Up to MAX_TOTAL_INFLUENCES bone indices that this vert is weighted to
|
|
UPROPERTY()
|
|
uint16 BoneIndices[MaxTotalInfluences];
|
|
|
|
// The weights for each entry in BoneIndices
|
|
UPROPERTY()
|
|
float BoneWeights[MaxTotalInfluences];
|
|
};
|
|
|