Navigation
API > API/Plugins > API/Plugins/MeshModelingToolsEditorOnlyExp > API/Plugins/MeshModelingToolsEditorOnlyExp/SkeletalMesh
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractiveTool
- USingleSelectionTool
- UMeshSurfacePointTool
- UBaseBrushTool
- UDynamicMeshBrushTool
- USkinWeightsPaintTool
References
| Module | MeshModelingToolsEditorOnlyExp |
| Header | /Engine/Plugins/Experimental/MeshModelingToolsetExp/Source/MeshModelingToolsEditorOnlyExp/Public/SkeletalMesh/SkinWeightsPaintTool.h |
| Include | #include "SkeletalMesh/SkinWeightsPaintTool.h" |
Syntax
UCLASS&40;&41;
class USkinWeightsPaintTool :
public UDynamicMeshBrushTool,
public ISkeletalMeshEditingInterface
Remarks
An interactive tool for painting and editing skin weights.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TUniquePtr< SkinPaintTool::FMeshSkinWeightsChange > | ActiveChange | ||
| bool | bInvertStroke | ||
| bool | bSmoothStroke | ||
| bool | bStampPending | ||
| bool | bVisibleWeightsValid | ||
| FName | CurrentBone | ||
| TUniquePtr< FMeshDescription > | EditedMesh | The currently edited mesh description | |
| TWeakObjectPtr< USkeletalMeshEditorContextObjectBase > | EditorContext | ||
| FBrushStampData | LastStamp | ||
| TUniquePtr< UE::Geometry::FDynamicMeshAABBTree3 > | MeshSpatial | ||
| SkinPaintTool::FSkinMirrorData | MirrorData | Cached mirror data | |
| TOptional< FName > | PendingCurrentBone | ||
| TObjectPtr< UPolygonSelectionMechanic > | PolygonSelectionMechanic | Polygon selection mechanic | |
| TArray< BoneIndex > | SelectedBoneIndices | ||
| TArray< FName > | SelectedBoneNames | ||
| TUniquePtr< UE::Geometry::FTriangleGroupTopology > | SelectionTopology | ||
| TUniquePtr< UE::Geometry::TBoneWeightsDataSource< int32, float > > | SmoothWeightsDataSource | Smooth weights data source and operator. | |
| TUniquePtr< UE::Geometry::TSmoothBoneWeights< int32, float > > | SmoothWeightsOp | ||
| FVector | StampLocalPos | ||
| FBrushStampData | StartStamp | ||
| TFuture< void > | TriangleOctreeFuture | ||
| UE::Geometry::FDynamicMeshOctree3 | TrianglesOctree | ||
| TArray< int32 > | TrianglesToReinsert | ||
| int32 | TriangleUnderStamp | ||
| UE::Geometry::TDynamicVerticesOctree3< FDynamicMesh3 > | VerticesOctree | Used to accelerate mesh queries | |
| SkinPaintTool::FSkinToolWeights | Weights | Storage of vertex weights per bone | |
| TObjectPtr< USkinWeightsPaintToolProperties > | WeightToolProperties | Tool properties |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ApplyStamp
(
const FBrushStampData& Stamp |
||
| void | ApplyWeightEditsToMesh
(
const FText& TransactionLabel, |
Used to apply manual weight modifications (not from the brush) | |
| void | |||
| void | BeginChange () |
Weight editing transactions | |
| float | CalculateBrushFalloff
(
float Distance |
Stamp | |
| float | CalculateBrushStrengthToUse
(
EWeightEditOperation EditMode |
||
| void | CalculateVertexROI
(
const FBrushStampData& Stamp, |
||
| void | EditWeightOnVertices
(
EWeightEditOperation EditOperation, |
Modify vertex weights according to the specified operation, generating bone weight edits to be stored in a transaction | |
| TUniquePtr< SkinPaintTool::FMeshSkinWeightsChange > | EndChange () |
||
| void | ExternalUpdateWeights
(
const int32 BoneIndex, |
||
| void | FloodWeights
(
const float Weight, |
||
| BoneIndex | GetBoneIndexFromName
(
const FName BoneName |
||
| void | GetVerticesToEdit
(
TArray< VertexIndex >& OutVertexIndices |
Determines the set of vertices to operate on, using selection as the priority | |
| void | Init
(
const FToolBuilderState& InSceneState |
||
| void | MirrorWeights
(
EAxis::Type Axis, |
Weight editing operations (selection based) | |
| void | |||
| void | |||
| void | PruneWeights
(
const float Threshold |
||
| void | RelaxWeightOnVertices
(
TArray< int32 > VerticesToEdit, |
Same as EditWeightOfVertices() but specific to relaxation (topology aware operation) | |
| void | Toggle brush / selection mode | ||
| void | UpdateCurrentBone
(
const FName& BoneName |
Which bone are we currently painting? | |
| void | Vertex colors updated when switching current bone or editing weights | ||
| FVector4f | WeightToColor
(
float Value |
Overridden from UDynamicMeshBrushTool
| Type | Name | Description | |
|---|---|---|---|
| void | OnShutdown
(
EToolShutdownType ShutdownType |
Subclasses can override these to customize behavior |
Overridden from UMeshSurfacePointTool
| Type | Name | Description | |
|---|---|---|---|
| bool | HitTest
(
const FRay& Ray, |
||
| void | OnBeginDrag
(
const FRay& Ray |
UMeshSurfacePointTool implementation. | |
| void | OnEndDrag
(
const FRay& Ray |
This function is called when the user releases the button driving a click-drag-release interaction | |
| void | OnUpdateDrag
(
const FRay& Ray |
This function is called each frame that the user is in a click-drag-release interaction |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
||
| void | DrawHUD
(
FCanvas* Canvas, |
Allow the Tool to do any custom screen space drawing | |
| bool | HasAccept () |
||
| bool | HasCancel () |
||
| void | OnPropertyModified
(
UObject* PropertySet, |
Automatically called by UInteractiveToolPropertySet.OnModified delegate to notify Tool of child property set changes | |
| void | OnTick
(
float DeltaTime |
Allow the Tool to do any necessary processing on Tick | |
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Allow the Tool to do any custom drawing (ie via PDI/RHI) | |
| void | Setup () |
UInteractiveTool. |
Overridden from IInteractiveToolCameraFocusAPI
| Type | Name | Description | |
|---|---|---|---|
| FBox | |||
| bool | IInteractiveToolCameraFocusAPI. |
Overridden from IHoverBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |
Overridden from ISkeletalMeshEditingInterface
| Type | Name | Description | |
|---|---|---|---|
| void | HandleSkeletalMeshModified
(
const TArray< FName >& InBoneNames, |