Navigation
API > API/Runtime > API/Runtime/Engine
UPoseableMeshComponent that allows bone transforms to be driven by blueprint.
| Name | UPoseableMeshComponent |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Components/PoseableMeshComponent.h |
| Include Path | #include "Components/PoseableMeshComponent.h" |
Syntax
UCLASS (ClassGroup=Rendering, HideCategories=(Object, Physics), Config=Engine, EditInlineNew,
Meta=(BlueprintSpawnableComponent), MinimalAPI)
class UPoseableMeshComponent : public USkinnedMeshComponent
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPrimitiveComponent → UMeshComponent → USkinnedMeshComponent → UPoseableMeshComponent
Implements Interfaces
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IInterface_AsyncCompilation
- INavRelevantInterface
- IPhysicsComponent
- IClothSimulationDataProvider
- ILODSyncInterface
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UPoseableMeshComponent
(
const FObjectInitializer& ObjectInitializer |
Components/PoseableMeshComponent.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BoneSpaceTransforms | TArray< FTransform > | Temporary array of local-space (ie relative to parent bone) rotation/translation/scale for each bone. | Components/PoseableMeshComponent.h | |
| RequiredBones | FBoneContainer | Components/PoseableMeshComponent.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bNeedsRefreshTransform | bool | This is marked if transform has to be updated | Components/PoseableMeshComponent.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CopyPoseFromSkeletalComponent
(
USkeletalMeshComponent* InComponentToCopy |
Components/PoseableMeshComponent.h |
|
|
void FillComponentSpaceTransforms () |
Take the BoneSpaceTransforms array (translation vector, rotation quaternion and scale vector) and update the array of component-space bone transformation matrices (SpaceBases). | Components/PoseableMeshComponent.h | |
FVector GetBoneLocationByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
FRotator GetBoneRotationByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
FVector GetBoneScaleByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
const TArray< FTransform > & GetBoneSpaceTransforms() |
We need this for template function in the cpp skeletalmeshcomponent hides this property, so now creating extra getter for poseablemeshcomponent although it's fine for poseablemeshcomponent to have this as external note that their signature is different, but the template would workf ine | Components/PoseableMeshComponent.h | |
FTransform GetBoneTransformByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
bool IsRunningParallelEvaluation() |
Components/PoseableMeshComponent.h | ||
void MarkRefreshTransformDirty() |
Components/PoseableMeshComponent.h | ||
void ResetBoneTransformByName
(
FName BoneName |
Components/PoseableMeshComponent.h |
|
|
void SetBoneLocationByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
void SetBoneRotationByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
void SetBoneScaleByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
|
void SetBoneTransformByName
(
FName BoneName, |
Components/PoseableMeshComponent.h |
|
Overridden from USkinnedMeshComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AllocateTransformData() |
Allocate Transform Data array including SpaceBases, BoneVisibilityStates | Components/PoseableMeshComponent.h | |
virtual 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.) | Components/PoseableMeshComponent.h | |
virtual bool ShouldUpdateTransform
(
bool bLODHasChanged |
Should update transform in Tick | Components/PoseableMeshComponent.h |