Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Components
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UActorComponent
- USceneComponent
- UPrimitiveComponent
- UMeshComponent
- USkinnedMeshComponent
- UDestructibleComponent
- UPoseableMeshComponent
- USkeletalMeshComponent
- UDebugSkelMeshComponent
- UInsightsSkeletalMeshComponent
- USkeletalMeshComponentBudgeted
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Classes/Components/SkinnedMeshComponent.h |
| Include | #include "Components/SkinnedMeshComponent.h" |
Syntax
class USkinnedMeshComponent :
public UMeshComponent,
public ILODSyncInterface
Remarks
Skinned mesh component that supports bone skinned mesh rendering. This class does not support animation.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FMorphTargetWeightMap | ActiveMorphTargets | Array indicating all active morph targets. | |
| FAnimUpdateRateParameters * | AnimUpdateRateParams | Animation Update Rate optimization parameters. | |
| uint8: 1 | bBoneVisibilityDirty | Whether we have updated bone visibility this tick | |
| uint8: 1 | bCachedLocalBoundsUpToDate | True when CachedLocalBounds is up to date. | |
| uint8: 1 | bCachedWorldSpaceBoundsUpToDate | ||
| uint8: 1 | bCanHighlightSelectedSections | Whether or not we can highlight selected sections - this should really only be done in the editor | |
| uint8: 1 | bCastCapsuleDirectShadow | Whether to use the capsule representation (when present) from a skeletal mesh's ShadowPhysicsAsset for direct shadowing from lights. | |
| uint8: 1 | bCastCapsuleIndirectShadow | Whether to use the capsule representation (when present) from a skeletal mesh's ShadowPhysicsAsset for shadowing indirect lighting (from lightmaps or skylight). | |
| uint8: 1 | bComponentUseFixedSkelBounds | Misc.When true, skip using the physics asset etc. | |
| uint8: 1 | bConsiderAllBodiesForBounds | If true, when updating bounds from a PhysicsAsset, consider all BodySetups, not just those flagged with bConsiderForBounds. | |
| uint8: 1 | bDisableMorphTarget | Disable Morphtarget for this component. | |
| uint8: 1 | bDisplayDebugUpdateRateOptimizations | Enable on screen debugging of update rate optimization. | |
| uint8: 1 | bDoubleBufferedComponentSpaceTransforms | Are we using double buffered ComponentSpaceTransforms | |
| uint8: 1 | bEnableUpdateRateOptimizations | Update Rate. | |
| uint8: 1 | bExternalEvaluationRateLimited | External flag indicating that we may not be evaluated every frame | |
| uint8: 1 | bExternalInterpolate | Non URO-based interpolation flag | |
| uint8: 1 | bExternalTickRateControlled | Whether we are externally controlling tick rate | |
| uint8: 1 | bExternalUpdate | Non URO-based update flag | |
| uint8: 1 | bFollowerShouldTickPose | If false, Follower components ShouldTickPose function will return false (default) | |
| uint8: 1 | bForceWireframe | Forces the mesh to draw in wireframe mode. | |
| uint8: 1 | bHasValidBoneTransform | Used to cache previous bone transform or not | |
| uint8: 1 | bHideSkin | Don't bother rendering the skin. | |
| uint8: 1 | bIgnoreLeaderPoseComponentLOD | Flag that when set will ensure UpdateLODStatus will not take the LeaderPoseComponent's current LOD in consideration when determining the correct LOD level (this requires LeaderPoseComponent's LOD to always be >= determined LOD otherwise bone transforms could be missing | |
| uint8: 1 | bMipLevelCallbackRegistered | Whether mip callbacks have been registered and need to be removed on destroy | |
| uint8: 1 | bNeedToFlipSpaceBaseBuffers | Track whether we still need to flip to recently modified buffer | |
| TArray< uint8 >[2] | BoneVisibilityStates | Array of bone visibilities (containing one of the values in EBoneVisibilityStatus for each bone). | |
| uint8: 1 | bOverrideMinLod | Whether we should use the min lod specified in MinLodModel for this component instead of the min lod in the mesh | |
| uint8: 1 | bPerBoneMotionBlur | If true, use per-bone motion blur on this skeletal mesh (requires additional rendering, can be disabled to save performance). | |
| uint8: 1 | bRecentlyRendered | True if mesh has been recently rendered, false otherwise | |
| uint8: 1 | bRenderStatic | If true, render as static in reference pose. | |
| bool | bSetMeshDeformer | If true, MeshDeformer will be used. If false, use the default mesh deformer on the SkeletalMesh. | |
| uint8: 1 | bSkinWeightProfilePending | Whether or not a Skin Weight profile is currently pending load and creation for this component | |
| uint8: 1 | bSkinWeightProfileSet | Whether or not a Skin Weight profile is currently set for this component | |
| uint8: 1 | bSyncAttachParentLOD | If true, this component uses its parents LOD when attached if available ForcedLOD can override this change. | |
| uint8: 1 | bUseBoundsFromLeaderPoseComponent | When true, we will just using the bounds from our LeaderPoseComponent. | |
| ERHIFeatureLevel::Type | CachedSceneFeatureLevel | Cache the scene feature level | |
| FBoxSphereBounds | CachedWorldOrLocalSpaceBounds | Bounds cached, so they're computed just once, either in local or worldspace depending on cvar 'a.CacheLocalSpaceBounds'. | |
| FMatrix | CachedWorldToLocalTransform | ||
| float | CapsuleIndirectShadowMinVisibility | Controls how dark the capsule indirect shadow can be. | |
| uint32 | CurrentBoneTransformRevisionNumber | Current bone transform revision number | |
| int32 | CurrentEditableComponentTransforms | The index for the ComponentSpaceTransforms buffer we can currently write to | |
| int32 | CurrentReadComponentTransforms | The index for the ComponentSpaceTransforms buffer we can currently read from | |
| FName | CurrentSkinWeightProfileName | Name of currently set up Skin Weight profile, otherwise is 'none' | |
| TOptional< FLinearColor > | DebugDrawColor | Debug draw color | |
| float | ExternalDeltaTime | Non-URO-based delta time used to tick the pose | |
| float | ExternalInterpolationAlpha | Non-URO-based interpolation alpha | |
| TArray< FExternalMorphSets > | ExternalMorphSets | External GPU based morph target buffers, for each LOD. | |
| TArray< FExternalMorphWeightData > | ExternalMorphWeightData | The external morph target set weight data, for each LOD. | |
| uint8 | ExternalTickRate | Record of the tick rate we are using when externally controlled | |
| TArray< TWeakObjectPtr< USkinnedMeshComponent > > | FollowerPoseComponents | If set, this component has follower pose components that are associated with this Note this is weak object ptr, so it will go away unless you have other strong reference | |
| float | LastStreamerUpdateBoundsRadius | The bounds radius at the point we last notified the streamer of a bounds radius change | |
| TArray< int32 > | LeaderBoneMap | Mapping between bone indices in this component and the parent one. | |
| int32 | LeaderBoneMapCacheCount | Incremented every time the leader bone map changes. | |
| TWeakObjectPtr< USkinnedMeshComponent > | LeaderPoseComponent | LeaderPoseComponent. | |
| TArray< struct FSkelMeshComponentLODInfo > | LODInfo | LOD array info. Each index will correspond to the LOD index | |
| float | MaxDistanceFactor | High (best) DistanceFactor that was desired for rendering this USkeletalMesh last frame. | |
| TObjectPtr< UMeshDeformer > | MeshDeformer | The mesh deformer to use. | |
| TObjectPtr< UMeshDeformerInstance > | MeshDeformerInstance | Object containing state for the bound MeshDeformer. | |
| TObjectPtr< UMeshDeformerInstanceSettings > | MeshDeformerInstanceSettings | Object containing instance settings for the bound MeshDeformer. | |
| FSkeletalMeshObject * | MeshObject | Object responsible for sending bone transforms, morph target state etc. to render thread. | |
| FSkeletalMeshObject *(*)(void *UserData, USkinnedMeshComponent *InMeshComponent, FSk... | MeshObjectFactory | Supports user-defined FSkeletalMeshObjects | |
| void * | MeshObjectFactoryUserData | Passed into MeshObjectFactory | |
| int32 | MinLodModel | This is the min LOD that this component will use. | |
| TMap< int32, FMissingLeaderBoneCacheEntry > | MissingLeaderBoneMap | Map of missing bone indices->transforms so that calls to GetBoneTransform() succeed when bones are not present in a leader mesh when using leader-pose. | |
| TArray< float > | MorphTargetWeights | Array of weights for all morph targets. | |
| FOnAnimUpdateRateParamsCreated | OnAnimUpdateRateParamsCreated | Animation update rate control. | |
| FOnTickPose | OnTickPose | Invoked at the beginning of TickPose before doing the bulk of the tick work | |
| TObjectPtr< class UPhysicsAsset > | PhysicsAssetOverride | Physics. PhysicsAsset is set in SkeletalMesh by default, but you can override with this value | |
| TArray< uint8 > | PreviousBoneVisibilityStates | Array of bone visibilities (containing one of the values in EBoneVisibilityStatus for each bone). | |
| TArray< FTransform > | PreviousComponentSpaceTransformsArray | Array of previous bone transforms Note these are only used if we are NOT double-buffering bone transforms | |
| TSharedPtr< FSkelMeshRefPoseOverride > | RefPoseOverride | Information for current ref pose override, if present | |
| TArray< ESkinCacheUsage > | SkinCacheUsage | How this Component's LOD uses the skin cache feature. | |
| TSortedMap< FName, FName, FDefaultAllocator, FNameFastLess > | SocketOverrideLookup | Mapping for socket overrides, key is the Source socket name and the value is the override socket name | |
| float | StreamingDistanceMultiplier | Allows adjusting the desired streaming distance of streaming textures that uses UV 0. | |
| EVisibilityBasedAnimTickOption | VisibilityBasedAnimTickOption | This is tick animation frequency option based on this component rendered or not or using montage You can change this default value in the INI file Mostly related with performance |
Constructors
| Type | Name | Description | |
|---|---|---|---|
USkinnedMeshComponent
(
const FObjectInitializer& ObjectInitializer |
|||
USkinnedMeshComponent
(
FVTableHelper& Helper |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddExternalMorphSet
(
int32 LOD, |
Register an external set of GPU compressed morph targets. | |
| void | AddFollowerPoseComponent
(
USkinnedMeshComponent* SkinnedMeshComponent |
Add a follower component to the FollowerPoseComponents array | |
| void | AddSocketOverride
(
FName SourceSocketName, |
||
| bool | Allocate Transform Data array including SpaceBases, BoneVisibilityStates | ||
| void | Helpers allowing us to cache feature level | ||
| bool | BoneIsChildOf
(
FName BoneName, |
Tests if BoneName is child of (or equal to) ParentBoneName. | |
| void | CacheRefToLocalMatrices
(
TArray< FMatrix44f >& OutRefToLocal |
Caches the RefToLocal matrices. | |
| FBoxSphereBounds | CalcMeshBound
(
const FVector3f& RootOffset, |
Update Mesh Bound information based on input | |
| void | ClearExternalMorphSets
(
int32 LOD |
Clear all externally registered morph target buffers. | |
| void | This update renderer with new revision number twice so to clear bone velocity for motion blur or temporal AA | ||
| void | Clear any applied ref pose override | ||
| void | ClearSkinWeightOverride
(
int32 LODIndex |
Clear any applied skin weight override | |
| void | Clear the Skin Weight Profile from this component, in case it is set | ||
| void | ClearVertexColorOverride
(
int32 LODIndex |
Clear any applied vertex color override | |
| int32 | Compute SkeletalMesh MinLOD that will be used by this component | ||
| void | ComputeSkinnedPositions
(
USkinnedMeshComponent* Component, |
CPU evaluation of the positions of all vertices (returned in component space) | |
| void | |||
| void | DispatchParallelTickPose
(
FActorComponentTickFunction* TickFunction |
Parallel Tick Pose In the case where we do not want to refresh bone transforms (and would therefore not normally kick off a parallel eval task) we perform this 'mini tick' that kicks off the task. | |
| void | EnableExternalEvaluationRateLimiting
(
bool bInEnable |
Manually enable/disable animation evaluation rate limiting | |
| void | EnableExternalInterpolation
(
bool bInEnable |
Enable non-URO-based interpolation | |
| void | EnableExternalTickRateControl
(
bool bInEnable |
Set whether we have our tick rate externally controlled non-URO-based interpolation | |
| void | EnableExternalUpdate
(
bool bInEnable |
Set us to tick this frame for non-URO-based interpolation | |
| void | Finalize bone transform of this current tick After this function, any query to bone transform should be latest of the data | ||
| FName | FindClosestBone
(
FVector TestLocation, |
Finds the closest bone to the given location | |
| FName | FindClosestBone_K2
(
FVector TestLocation, |
Finds the closest bone to the given location | |
| UMorphTarget * | FindMorphTarget
(
FName MorphTargetName |
Find a named MorphTarget from the current SkeletalMesh | |
| void | Flip the editable space base buffer | ||
| void | Forcibly update the renderer with a new revision number to assign the current bone velocity for motion blur or temporal AA | ||
| UMeshDeformer * | Get the currently active MeshDeformer. | ||
| const USkinnedMeshComponent * | |||
| FVector | GetBoneAxis
(
FName BoneName, |
Finds a vector pointing along the given axis of the given bone | |
| int32 | GetBoneIndex
(
FName BoneName |
Find the index of bone by name. | |
| FVector | GetBoneLocation
(
FName BoneName, |
Get Bone Location | |
| FMatrix | GetBoneMatrix
(
int32 BoneIndex |
Get Bone Matrix from index | |
| FName | GetBoneName
(
int32 BoneIndex |
Get Bone Name from index | |
| void | GetBoneNames
(
TArray< FName >& BoneNames |
Fills the given array with the names of all the bones in this component's current SkeletalMesh | |
| FQuat | GetBoneQuaternion
(
FName BoneName, |
Get Bone Rotation in Quaternion | |
| FTransform | GetBoneTransform
(
int32 BoneIndex, |
Get world space bone transform from bone index, also specifying the component transform to use | |
| FTransform | GetBoneTransform
(
FName InBoneName, |
Get world-space bone transform. | |
| FTransform | GetBoneTransform
(
int32 BoneIndex |
Get Bone Transform from index | |
| uint32 | |||
| const TArray< uint8 > & | Access BoneVisibilityStates for reading | ||
| FBoxSphereBounds | |||
| const TArray< FTransform > & | Access ComponentSpaceTransforms for reading | ||
| void | GetCPUSkinnedCachedFinalVertices
(
TArray< FFinalSkinVertex >& OutVertices |
||
| void | GetCPUSkinnedVertices
(
TArray< struct FFinalSkinVertex >& OutVertices, |
Get CPU skinned vertices for the specified LOD level. | |
| bool | Getter for bCPUSkinning member variable May return a different value from ShouldCPUSkin() | ||
| void | GetCurrentRefToLocalMatrices
(
TArray< FMatrix44f >& OutRefToLocals, |
Return the skinning matrices used for rendering. | |
| FName | Return the name of the Skin Weight Profile that is currently set otherwise returns 'None' | ||
| const TOptional< FLinearColor > & | Get debug draw color | ||
| FTransform | GetDeltaTransformFromRefPose
(
FName BoneName, |
Get delta transform from reference pose based on BaseNode. | |
| TArray< uint8 > & | Get Access to the current editable bone visibility states | ||
| const TArray< uint8 > & | |||
| const TArray< FTransform > & | |||
| TArray< FTransform > & | Get Access to the current editable space bases | ||
| const FExternalMorphSets & | GetExternalMorphSets
(
int32 LOD |
Get the external morph sets for a given LOD. | |
| const TArray< FExternalMorphSets > & | Get the array of external morph target sets. It is an array, one entry for each LOD. | ||
| const FExternalMorphWeightData & | GetExternalMorphWeights
(
int32 LOD |
Get the weights in read-only mode for a given external morph target set at a specific LOD. | |
| FExternalMorphWeightData & | GetExternalMorphWeights
(
int32 LOD |
Get the weights for a given external morph target set at a specific LOD. | |
| uint8 | Get the external tick rate | ||
| const TArray< TWeakObjectPtr< USkinnedMeshComponent > > & | Return current active list of follower components | ||
| int32 | GetForcedLOD () |
Get ForcedLodModel of the mesh component. | |
| bool | |||
| const TArray< int32 > & | |||
| int32 | GetLODBias () |
Get the LOD Bias of this component | |
| int32 | Return value of MaterialIndexPreview | ||
| UMeshDeformerInstance * | |||
| int32 | Max LOD at which to update or apply the MeshDeformer. | ||
| int32 | GetNumBones () |
Returns the number of bones in the skeleton. | |
| int32 | Get current number of component space transorms | ||
| int32 | GetNumLODs () |
Get the number of LODs on this component | |
| FName | GetParentBone
(
FName BoneName |
Get Parent Bone of the input bone | |
| UPhysicsAsset * | Return PhysicsAsset for this SkeletalMeshComponent It will return SkeletalMesh's PhysicsAsset unless PhysicsAssetOverride is set for this component | ||
| int32 | Get predicted LOD level. | ||
| void | GetPreSkinnedLocalBounds
(
FBoxSphereBounds& OutBounds |
Get the pre-skinning local space bounds for this component. | |
| const TArray< uint8 > & | Const getters for previous transform idea | ||
| const TArray< FTransform > & | |||
| const TSharedPtr< FSkelMeshRefPoseOverride > & | Accessor for RefPoseOverride | ||
| FVector | GetRefPosePosition
(
int32 BoneIndex |
Gets the local-space position of a bone in the reference pose. | |
| FTransform | GetRefPoseTransform
(
int32 BoneIndex |
Gets the local-space transform of a bone in the reference pose. | |
| int32 | Return value of SectionIndexPreview | ||
| int32 | Return value of SelectedEditorMaterial | ||
| int32 | Return value of SelectedEditorSection | ||
| FSkeletalMeshRenderData * | Gets the skeletal mesh resource used for rendering the component. | ||
| USkinnedAsset * | Get the SkinnedAsset rendered for this mesh. | ||
| FVector3f | GetSkinnedVertexPosition
(
USkinnedMeshComponent* Component, |
Simple, CPU evaluation of a vertex's skinned position (returned in component space) | |
| FVector3f | GetSkinnedVertexPosition
(
USkinnedMeshComponent* Component, |
Simple, CPU evaluation of a vertex's skinned position (returned in component space) | |
| FSkinWeightVertexBuffer * | GetSkinWeightBuffer
(
int32 LODIndex |
Returns skin weight vertex buffer to use for specific LOD (will look at override) | |
| FName | GetSocketBoneName
(
FName InSocketName |
Returns bone name linked to a given named socket on the skeletal mesh component. | |
| USkeletalMeshSocket const * | GetSocketByName
(
FName InSocketName |
||
| USkeletalMeshSocket const * | GetSocketInfoByName
(
FName InSocketName, |
||
| bool | GetTwistAndSwingAngleOfDeltaRotationFromRefPose
(
FName BoneName, |
Get Twist and Swing Angle in Degree of Delta Rotation from Reference Pose in Local space | |
| void | GetUpdateClothSimulationData_AnyThread
(
TMap< int32, FClothSimulData >& OutClothSimulData, |
Override this function to pass on cloth simulation data (or any deformable using the cloth pipeline) to the skeletal renderer. | |
| FColor | GetVertexColor
(
int32 VertexIndex |
Returns color of the vertex. | |
| FVector2D | GetVertexUV
(
int32 VertexIndex, |
Returns texture coordinates of the vertex. | |
| void | HandleFeatureLevelChanged
(
ERHIFeatureLevel::Type InFeatureLevel, |
||
| void | HandlePostWorldCreation
(
UWorld* InWorld |
||
| bool | HasExternalMorphSet
(
int32 LOD, |
Do we have a given set of external morph targets? | |
| bool | |||
| void | HideBone
(
int32 BoneIndex, |
Hides the specified bone. You can also set option for physics body. | |
| void | HideBoneByName
(
FName BoneName, |
Hides the specified bone with name. | |
| void | InitLODInfos () |
Initialize the LOD entries for the component | |
| void | Invalidate Cached Bounds, when Mesh Component has been updated. | ||
| bool | IsBoneHidden
(
int32 BoneIndex |
Determines if the specified bone is hidden. | |
| bool | IsBoneHiddenByName
(
FName BoneName |
Determines if the specified bone is hidden. | |
| bool | IsMaterialSectionShown
(
int32 MaterialID, |
Returns whether a specific material section is currently hidden on this component (by using ShowMaterialSection) | |
| bool | |||
| bool | |||
| bool | |||
| bool | IsSkinCacheAllowed
(
int32 LodIdx |
||
| bool | Check whether or not a Skin Weight Profile is currently pending load / create | ||
| bool | Check whether we should be interpolating due to external settings | ||
| bool | Check whether we we have our tick rate externally controlled | ||
| bool | Check whether or not a Skin Weight Profile is currently set | ||
| bool | IsValidExternalMorphSetLODIndex
(
int32 LOD |
Check whether a given LOD index is valid for the external morph sets. | |
| void | Function to operate on mesh object after its created, but before it's attached. | ||
| void | Rebuild BoneVisibilityStates array. Mostly refresh information of bones for BVS_HiddenByParent | ||
| void | RefreshBoneTransforms
(
FActorComponentTickFunction* TickFunction |
Update functions Refresh Bone Transforms Each class will need to implement this function Ideally this function should be atomic (not relying on Tick or any other update.) | |
| void | RefreshExternalMorphTargetWeights
(
bool bZeroOldWeights |
Refresh the external morph target weight buffers. | |
| void | Refresh Follower Components if exists | ||
| void | Recreates update rate params and internal tracker data | ||
| void | Release any rendering resources owned by this component | ||
| void | Removes update rate params and internal tracker data | ||
| void | |||
| void | RemoveExternalMorphSet
(
int32 LOD, |
Remove a given set of external GPU based morph targets. | |
| void | RemoveFollowerPoseComponent
(
USkinnedMeshComponent* SkinnedMeshComponent |
Remove a follower component from the FollowerPoseComponents array | |
| void | RemoveSocketOverrides
(
FName SourceSocketName |
||
| void | Resize the morph target sets array to the number of LODs. | ||
| void | SetCapsuleIndirectShadowMinVisibility
(
float NewValue |
||
| void | SetCastCapsuleDirectShadow
(
bool bNewValue |
||
| void | SetCastCapsuleIndirectShadow
(
bool bNewValue |
||
| void | SetComponentSpaceTransformsDoubleBuffering
(
bool bInDoubleBufferedComponentSpaceTransforms |
||
| void | SetCPUSkinningEnabled
(
bool bEnable, |
Set whether this component uses CPU skinning Notes: | |
| void | SetDebugDrawColor
(
const FLinearColor& InColor |
Set debug draw color | |
| void | SetDrawDebugSkeleton
(
bool bInDraw |
Set whether to draw this mesh's debug skeleton | |
| void | SetExternalDeltaTime
(
float InDeltaTime |
Set non-URO-based delta time | |
| void | SetExternalInterpolationAlpha
(
float InAlpha |
Set non-URO-based interpolation alpha | |
| void | SetExternalTickRate
(
uint8 InTickRate |
Set the external tick rate | |
| void | SetForcedLOD
(
int32 InNewForcedLOD |
Set ForcedLodModel of the mesh component | |
| void | SetForceUpdateDynamicDataImmediately
(
bool bForceUpdateImmediately |
||
| void | SetForceWireframe
(
bool InForceWireframe |
Sets the value of the bForceWireframe flag and reattaches the component as necessary. | |
| void | SetLeaderPoseComponent
(
USkinnedMeshComponent* NewLeaderBoneComponent, |
Set LeaderPoseComponent for this component | |
| void | SetMaterialPreview
(
int32 InMaterialIndexPreview |
Sets the value of the MaterialIndexPreview option. | |
| void | SetMeshDeformer
(
UMeshDeformer* InMeshDeformer |
Change the MeshDeformer that is used for this Component. | |
| void | SetMeshDeformer
(
bool bInSetMeshDeformer, |
Set the MeshDeformer and update the internal MeshDeformerInstance. | |
| void | SetMinLOD
(
int32 InNewMinLOD |
Set MinLodModel of the mesh component | |
| void | SetPhysicsAsset
(
UPhysicsAsset* NewPhysicsAsset, |
Override the Physics Asset of the mesh. | |
| void | SetPredictedLODLevel
(
int32 InPredictedLODLevel |
Set predicted LOD level. | |
| void | SetRefPoseOverride
(
const TArray< FTransform >& NewRefPoseTransforms |
Apply an override for the current mesh ref pose | |
| void | SetRenderStatic
(
bool bNewValue |
Set whether this skinned mesh should be rendered as static mesh in a reference pose | |
| void | SetSectionPreview
(
int32 InSectionIndexPreview |
Sets the value of the SectionIndexPreview option. | |
| void | SetSelectedEditorMaterial
(
int32 NewSelectedEditorMaterial |
Sets the value of the SelectedEditorMaterial option. | |
| void | SetSelectedEditorSection
(
int32 NewSelectedEditorSection |
Sets the value of the SelectedEditorSection option. | |
| void | SetSkinnedAsset
(
USkinnedAsset* InSkinnedAsset |
Change the SkinnedAsset that is rendered without reinitializing this Component. | |
| void | SetSkinnedAssetAndUpdate
(
USkinnedAsset* NewMesh, |
Change the SkinnedAsset that is rendered for this Component. | |
| void | SetSkinWeightOverride
(
int32 LODIndex, |
Allow override of skin weights on a per-component basis. | |
| bool | SetSkinWeightProfile
(
FName InProfileName |
Setup an override Skin Weight Profile for this component | |
| void | SetVertexColorOverride
(
int32 LODIndex, |
Allow override of vertex colors on a per-component basis. | |
| void | SetVertexColorOverride_LinearColor
(
int32 LODIndex, |
Allow override of vertex colors on a per-component basis, taking array of Blueprint-friendly LinearColors. | |
| bool | Function returns whether or not CPU skinning should be applied Allows the editor to override the skinning state for editor tools | ||
| bool | Get whether to draw this mesh's debug skeleton | ||
| bool | Should tick pose (by calling TickPose) in Tick | ||
| bool | Return true if it needs update. Return false if not | ||
| bool | ShouldUpdateTransform
(
bool bLODHasChanged |
Should update transform in Tick | |
| bool | |||
| void | ShowAllMaterialSections
(
int32 LODIndex |
Clear any material visibility modifications made by ShowMaterialSection | |
| void | ShowMaterialSection
(
int32 MaterialID, |
Allows hiding of a particular material (by ID) on this instance of a SkeletalMesh. | |
| void | TickPose
(
float DeltaTime, |
Tick Pose, this function ticks and do whatever it needs to do in this frame, should be called before RefreshBoneTransforms | |
| void | TransformFromBoneSpace
(
FName BoneName, |
Transform a location/rotation in bone relative space to world space. | |
| void | TransformToBoneSpace
(
FName BoneName, |
Transform a location/rotation from world space to bone relative space. | |
| void | UnHideBone
(
int32 BoneIndex |
Unhides the specified bone. | |
| void | UnHideBoneByName
(
FName BoneName |
UnHide the specified bone with name. | |
| void | UnloadSkinWeightProfile
(
FName InProfileName |
Unload a Skin Weight Profile's skin weight buffer (if created) | |
| void | Unset any MeshDeformer applied to this Component. | ||
| void | Update Follower Component. This gets called when LeaderPoseComponent!=NULL | ||
| void | Update LeaderBoneMap for LeaderPoseComponent and this component | ||
| bool | Update the PredictedLODLevel and MaxDistanceFactor in the component from its MeshObject. | ||
| bool | UpdateLODStatus_Internal
(
int32 InLeaderPoseComponentPredictedLODLevel, |
Helper function for UpdateLODStatus, called with a valid index for InLeaderPoseComponentPredictedLODLevel when updating LOD status for follower components | |
| void | Checks/updates material usage on proxy based on current morph target usage | ||
| void | Queues an update of the Skin Weight Buffer used by the current MeshObject | ||
| void | UpdateVisualizeLODString
(
FString& DebugString |
Overridden from UMeshComponent
| Type | Name | Description | |
|---|---|---|---|
| UMaterialInterface * | Get the default overlay material used by a mesh | ||
| float | Get the default overlay material max draw distance | ||
| int32 | GetMaterialIndex
(
FName MaterialSlotName |
||
| TArray< FName > | |||
| bool | GetMaterialStreamingData
(
int32 MaterialIndex, |
Get the material info for texture streaming. Return whether the data is valid or not. | |
| bool | IsMaterialSlotNameValid
(
FName MaterialSlotName |
||
| void | RegisterLODStreamingCallback
(
FLODStreamingCallback&& Callback, |
Register a one-time callback that will be called when criteria met | |
| void | RegisterLODStreamingCallback
(
FLODStreamingCallback&& CallbackStreamingStart, |
Register a one-time callback that will be called when streaming starts or ends. |
Overridden from UPrimitiveComponent
| Type | Name | Description | |
|---|---|---|---|
| void | CollectPSOPrecacheData
(
const FPSOPrecacheParams& BasePrecachePSOParams, |
Precache all PSOs which can be used by the component | |
| FPrimitiveSceneProxy * | Creates a proxy to represent the primitive to the scene manager in the rendering thread. | ||
| UMaterialInterface * | GetMaterial
(
int32 ElementIndex |
Returns the material used by the element at the specified index | |
| int32 | Return number of material elements in this primitive | ||
| void | GetStreamingRenderAssetInfo
(
FStreamingTextureLevelContext& LevelContext, |
Enumerates the streaming textures/meshes used by the primitive. | |
| float | |||
| void | GetUsedMaterials
(
TArray< UMaterialInterface* >& OutMaterials, |
Retrieves the materials used in this component |
Overridden from USceneComponent
| Type | Name | Description | |
|---|---|---|---|
| FBoxSphereBounds | CalcBounds
(
const FTransform& LocalToWorld |
Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size. | |
| bool | DoesSocketExist
(
FName InSocketName |
Return true if socket with the given name exists | |
| bool | GetMaterialPropertyPath
(
int32 ElementIndex, |
Returns full material property path and UObject owner property object Path examples: Material property path with array element and inner struct Materials[0].InnerStruct.Material Material property path with array element Materials[0] Simple material property path Materials | |
| FTransform | GetSocketTransform
(
FName InSocketName, |
Get world-space socket transform. | |
| bool | Returns true if this component has any sockets | ||
| void | QuerySupportedSockets
(
TArray< FComponentSocketDescription >& OutSockets |
Get a list of sockets this component contains | |
| void | UpdateBounds () |
Update the Bounds of the component. | |
| bool | UpdateOverlapsImpl
(
const TOverlapArrayView* NewPendingOverlaps, |
Queries world and updates overlap tracking state for this component. |
Overridden from UActorComponent
| Type | Name | Description | |
|---|---|---|---|
| UObject const * | Give a readable name for this component, including asset name if applicable | ||
| void | BeginPlay () |
Used to detach physics objects before simulation begins. | |
| void | CreateRenderState_Concurrent
(
FRegisterComponentContext* Context |
Used to create any rendering thread information for this component | |
| void | Used to shut down any rendering thread structure for this component | ||
| void | OnRegister () |
Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called. | |
| void | OnUnregister () |
Called when a component is unregistered. | |
| bool | Return true if this component requires end of frame recreates to happen from the game thread. | ||
| void | Called to send dynamic data for this component to the rendering thread | ||
| void | TickComponent
(
float DeltaTime, |
Function called every frame on this ActorComponent. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. | |
| bool | CanEditChange
(
const FProperty* InProperty |
Called by the editor to query whether a property of this object is allowed to be modified. | |
| FString | This function actually does the work for the GetDetailedInfo() and is virtual. | ||
| void | GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific). | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. | |
| void | Handles reading, writing, and reference collecting using FArchive. |
Overridden from IInterface_AsyncCompilation
| Type | Name | Description | |
|---|---|---|---|
| bool | IsCompiling () |
Returns whether this component is still being compiled or dependent on other objects being compiled. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FMissingLeaderBoneCacheEntry | Cached relative transform for follower bones that are missing in the leader |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EBoneTransformUpdateMethod |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| uint8: 1 | bCPUSkinning | Direct access to bCPUSkinning is deprecated. Please use its getter and setter instead. | |
| uint8: 1 | bDisplayBones_DEPRECATED | Draw the skeleton hierarchy for this skel mesh. | |
| uint8: 1 | bIgnoreMasterPoseComponentLOD | This property is deprecated. Please use bIgnoreLeaderPoseComponentLOD instead | |
| uint8: 1 | bUseBoundsFromMasterPoseComponent | This property is deprecated. Please use bUseBoundsFromLeaderPoseComponent instead | |
| int32 | ForcedLodModel | Direct access to ForcedLodModel is deprecated. Please use its getter and setter instead. | |
| TWeakObjectPtr< USkinnedMeshComponent > | MasterPoseComponent | This property is deprecated. Please use LeaderPoseComponent instead | |
| uint8 & | MeshComponentUpdateFlag | MeshComponentUpdateFlag has been renamed VisibilityBasedAnimTickOption | |
| int32 | PredictedLODLevel | Direct access to PredictedLODLevel has been deprecated and will be removed in a future version. Please use Get/SetPredictedLODLevel() accessors. | |
| TObjectPtr< class USkeletalMesh > | SkeletalMesh | Replaced by SkinnedAsset. Use GetSkinnedAsset()/SetSkinnedAsset() instead, or GetSkeletalMeshAsset/SetSkeletalMeshAsset() when called from a USkeletalMeshComponent. | |
| FColor | WireframeColor_DEPRECATED | Wireframe color |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddSlavePoseComponent
(
USkinnedMeshComponent* SkinnedMeshComponent |
This method has been deprecated. Please use AddFollowerPoseComponent instead. | |
| const TArray< int32 > & | This method has been deprecated. Please use the GetLeaderBoneMap. | ||
| USkeletalMesh * | Use USkeletalMeshComponent::GetSkeletalMeshAsset() or GetSkinnedAsset() instead. | ||
| const TArray< TWeakObjectPtr< USkinnedMeshComponent > > & | This method has been deprecated. Please use GetFollowerPoseComponents instead. | ||
| int32 | GetVertexOffsetUsage
(
int32 LODIndex |
GetVertexOffsetUsage() has been deprecated. Support will be dropped in the future. | |
| void | This method has been deprecated. Please use RefreshFollowerComponents instead. | ||
| void | RemoveSlavePoseComponent
(
USkinnedMeshComponent* SkinnedMeshComponent |
This method has been deprecated. Please use RemoveFollowerPoseComponent instead. | |
| void | SetMasterPoseComponent
(
USkinnedMeshComponent* NewMasterBoneComponent, |
This method has been deprecated. Please use SetLeaderPoseComponent instead. | |
| void | SetPostSkinningOffsets
(
int32 LODIndex, |
SetPostSkinningOffsets() has been deprecated. Support will be dropped in the future. | |
| void | SetPreSkinningOffsets
(
int32 LODIndex, |
SetPreSkinningOffsets() has been deprecated. Support will be dropped in the future. | |
| void | SetSkeletalMesh
(
USkeletalMesh* NewMesh, |
Use USkeletalMeshComponent::SetSkeletalMesh() or SetSkinnedAssetAndUpdate() instead. | |
| void | SetSkeletalMesh_DEPRECATED
(
USkeletalMesh* NewMesh |
Use USkeletalMeshComponent::SetSkinnedAssetAndUpdate() instead. | |
| void | SetVertexOffsetUsage
(
int32 LODIndex, |
SetVertexOffsetUsage() has been deprecated. Support will be dropped in the future. | |
| void | This method has been deprecated. Please use UpdateLeaderBoneMap instead. | ||
| void | This method has been deprecated. Please use UpdateFollowerComponent instead. |