Navigation
API > API/Plugins > API/Plugins/MeshModelingToolsEditorOnly
Intermediate storage of the weight maps for duration of tool
| Name | FSkinToolWeights |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/MeshModelingToolset/Source/MeshModelingToolsEditorOnly/Public/SkeletalMesh/SkinWeightsPaintTool.h |
| Include Path | #include "SkeletalMesh/SkinWeightsPaintTool.h" |
Syntax
struct FSkinToolWeights
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CurrentWeights | TArray< VertexWeights > | SkeletalMesh/SkinWeightsPaintTool.h | ||
| Deformer | FSkinToolDeformer | Update deformation when vertex weights are modified | SkeletalMesh/SkinWeightsPaintTool.h | |
| IsBoneWeighted | TArray< bool > | Record which bones have any weight assigned to them | SkeletalMesh/SkinWeightsPaintTool.h | |
| MaxFalloffPerVertexThisStroke | TArray< float > | Record the current maximum amount of falloff applied to each vertex during the current stroke values range from 0-1, this allows brushes to sweep over the same vertex, and apply only the maximum amount of modification (add/replace/relax etc) that was encountered for the duration of the stroke. | SkeletalMesh/SkinWeightsPaintTool.h | |
| PreChangeWeights | TArray< VertexWeights > | Double-buffer of the entire weight matrix (stored sparsely for fast deformation) "Pre" is state of weights at stroke start "Current" is state of weights during stroke When stroke is over, PreChangeWeights are synchronized with CurrentWeights | SkeletalMesh/SkinWeightsPaintTool.h | |
| Profile | FName | Which skin profile is currently edited | SkeletalMesh/SkinWeightsPaintTool.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddNewInfluenceToVertex
(
const VertexIndex VertexID, |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void ApplyCurrentWeightsToMeshDescription
(
FMeshDescription* MeshDescription |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void ApplyEditsToCurrentWeights
(
const FMultiBoneWeightEdits& Edits |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void CreateWeightEditForVertex
(
const int32 BoneIndex, |
Applies an edit to a single vertex weight on a single bone, then normalizes the remaining weights while keeping the edited weight intact (ie, adapts OTHER influences to achieve normalization) | SkeletalMesh/SkinWeightsPaintTool.h | |
BoneIndex GetParentBoneToWeightTo
(
BoneIndex ChildBone |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void InitializeSkinWeights
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Copy the initial weight values from the skeletal mesh | SkeletalMesh/SkinWeightsPaintTool.h | |
void RemoveInfluenceFromVertex
(
const VertexIndex VertexID, |
SkeletalMesh/SkinWeightsPaintTool.h | ||
float SetCurrentFalloffAndGetMaxFalloffThisStroke
(
int32 VertexID, |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void SetWeightOfBoneOnVertex
(
const int32 BoneIndex, |
SkeletalMesh/SkinWeightsPaintTool.h | ||
void SyncWeightBuffers() |
Some weight editing operations are RELATIVE to existing weights before the change started (Multiply, Add etc) these "existing weights" are stored in the PreChangeWeights buffer PreChange and Current buffers must be synchronized after a transaction | SkeletalMesh/SkinWeightsPaintTool.h | |
void UpdateIsBoneWeighted
(
BoneIndex BoneToUpdate |
SkeletalMesh/SkinWeightsPaintTool.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void FillWeightEdit
(
const int32 BoneIndex, |
SkeletalMesh/SkinWeightsPaintTool.h | ||
static float GetWeightOfBoneOnVertex
(
const int32 BoneIndex, |
SkeletalMesh/SkinWeightsPaintTool.h |