Navigation
API > API/Runtime > API/Runtime/Engine
| Name | UInstancedSkinnedMeshComponent |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Components/InstancedSkinnedMeshComponent.h |
| Include Path | #include "Components/InstancedSkinnedMeshComponent.h" |
Syntax
UCLASS (ClassGroup=Rendering, HideCategories=(Object, Activation, "Components|Activation"),
ShowCategories=(Mobility), EditInlineNew, Meta=(BlueprintSpawnableComponent),
Blueprintable, MinimalAPI)
class UInstancedSkinnedMeshComponent : public USkinnedMeshComponent
Inheritance Hierarchy
- FRenderAssetOwnerStreamingState → UPrimitiveComponent → UMeshComponent → USkinnedMeshComponent → UInstancedSkinnedMeshComponent
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPrimitiveComponent → UMeshComponent → USkinnedMeshComponent → UInstancedSkinnedMeshComponent
Implements Interfaces
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IInterface_AsyncCompilation
- INavRelevantInterface
- IPhysicsBodyInstanceOwner
- IPhysicsBodyInstanceOwnerResolver
- IPhysicsComponent
- IClothSimulationDataProvider
- ILODSyncInterface
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInstancedSkinnedMeshComponent
(
FVTableHelper& Helper |
Components/InstancedSkinnedMeshComponent.h | ||
UInstancedSkinnedMeshComponent
(
const FObjectInitializer& ObjectInitializer |
Components/InstancedSkinnedMeshComponent.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UInstancedSkinnedMeshComponent() |
Components/InstancedSkinnedMeshComponent.h |
Structs
| Name | Remarks |
|---|---|
| FBoneAttachmentSocketRef |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BoneAttachmentBindings | TArray< FBoneAttachmentBinding > | Components/InstancedSkinnedMeshComponent.h | ||
| BoneAttachmentSockets | TSparseArray< FBoneAttachmentSocketRef > | Components/InstancedSkinnedMeshComponent.h | ||
| DirtyBoneAttachmentBindings | TBitArray | Components/InstancedSkinnedMeshComponent.h | ||
| InstanceDataManager | FInstanceDataManager | Components/InstancedSkinnedMeshComponent.h | ||
| MergedBodySetup | TObjectPtr< UBodySetup > | Cached merged body setup combining collision from all physics asset bones. | Components/InstancedSkinnedMeshComponent.h |
|
| NumDirtyBoneAttachmentBindings | int32 | Components/InstancedSkinnedMeshComponent.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPrimitiveInstanceId AddInstance
(
const FTransform& InstanceTransform, |
Add an instance to this component. | Components/InstancedSkinnedMeshComponent.h |
|
TArray< FPrimitiveInstanceId > AddInstances
(
const TArray< FTransform >& Transforms, |
Add multiple instances to this component. | Components/InstancedSkinnedMeshComponent.h |
|
void BuildSceneDesc
(
FPrimitiveSceneProxyDesc* InSceneProxyDesc, |
Components/InstancedSkinnedMeshComponent.h | ||
void ClearInstanceBoneAttachment
(
FPrimitiveInstanceId InstanceId |
Detach an instance from bone attachment. | Components/InstancedSkinnedMeshComponent.h |
|
void ClearInstances() |
Clear all instances being rendered by this component. | Components/InstancedSkinnedMeshComponent.h |
|
void GetCullDistances
(
int32& OutStartCullDistance, |
Components/InstancedSkinnedMeshComponent.h | ||
bool GetCustomData
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedSkinnedMeshComponent.h |
|
|
bool GetCustomData
(
FPrimitiveInstanceId InstanceId, |
Get all custom data values for specific instance, the size of the array view must match the NumCustomDataFloats. | Components/InstancedSkinnedMeshComponent.h | |
bool GetInstanceAnimationIndex
(
FPrimitiveInstanceId InstanceId, |
Get the animation index for the instance specified. Returns True on success. | Components/InstancedSkinnedMeshComponent.h |
|
int32 GetInstanceCount() |
Components/InstancedSkinnedMeshComponent.h |
|
|
int32 GetInstanceCountGPUOnly() |
Components/InstancedSkinnedMeshComponent.h | ||
const TArray< float > & GetInstanceCustomData() |
Components/InstancedSkinnedMeshComponent.h | ||
const TArray< FSkinnedMeshInstanceData > & GetInstanceData() |
Components/InstancedSkinnedMeshComponent.h | ||
FPrimitiveInstanceId GetInstanceId
(
int32 InstanceIndex |
Components/InstancedSkinnedMeshComponent.h |
|
|
bool GetInstancePrevTransform
(
FPrimitiveInstanceId InstanceId, |
Get the previous transform for the instance specified. | Components/InstancedSkinnedMeshComponent.h |
|
TConstArrayView< FTransform3f > GetInstancePrevTransforms() |
Components/InstancedSkinnedMeshComponent.h | ||
bool GetInstanceTransform
(
FPrimitiveInstanceId InstanceId, |
Get the transform for the instance specified. | Components/InstancedSkinnedMeshComponent.h |
|
int32 GetMinDrawDistance() |
Components/InstancedSkinnedMeshComponent.h | ||
int32 GetNumCustomDataFloats() |
Components/InstancedSkinnedMeshComponent.h | ||
FBox GetPrimitiveBoundsOverride() |
Components/InstancedSkinnedMeshComponent.h | ||
UTransformProviderData * GetTransformProvider() |
Components/InstancedSkinnedMeshComponent.h |
|
|
bool HasBoneAttachmentParents() |
Returns true if this component has any bone attachment sockets. | Components/InstancedSkinnedMeshComponent.h |
|
bool IsEnabled() |
Components/InstancedSkinnedMeshComponent.h | ||
void OptimizeInstanceData
(
bool bShouldRetainIdMap |
Optimize the instance data by performing sorting according to spatial hash on the source data. | Components/InstancedSkinnedMeshComponent.h |
|
bool RemoveInstance
(
FPrimitiveInstanceId InstanceId |
Remove the instance specified. Returns True on success. | Components/InstancedSkinnedMeshComponent.h |
|
void RemoveInstances
(
const TArray< FPrimitiveInstanceId >& InstancesToRemove |
Remove the instances specified. Returns True on success. | Components/InstancedSkinnedMeshComponent.h |
|
void SetAnimationMinScreenSize
(
float InAnimationMinScreenSize |
Components/InstancedSkinnedMeshComponent.h |
|
|
void SetCullDistances
(
int32 StartCullDistance, |
Components/InstancedSkinnedMeshComponent.h | ||
bool SetCustomData
(
FPrimitiveInstanceId InstanceId, |
Update all custom data values for specific instance, the size of the array view must match the NumCustomDataFloats. | Components/InstancedSkinnedMeshComponent.h | |
bool SetCustomData
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedSkinnedMeshComponent.h |
|
|
bool SetCustomDataValue
(
FPrimitiveInstanceId InstanceId, |
Update custom data for specific instance | Components/InstancedSkinnedMeshComponent.h |
|
void SetHasPerInstancePrevTransforms
(
bool bInHasPreviousTransforms |
Enables or disables per-instance previous transforms for motion blur. | Components/InstancedSkinnedMeshComponent.h |
|
bool SetInstanceAnimationIndex
(
FPrimitiveInstanceId InstanceId, |
Set the animation index for the instance specified. Returns True on success. | Components/InstancedSkinnedMeshComponent.h |
|
void SetInstanceBoneAttachment
(
FPrimitiveInstanceId InstanceId, |
Attach an instance to a parent instance's bone at a socket or bone. | Components/InstancedSkinnedMeshComponent.h |
|
bool SetInstancePrevTransform
(
FPrimitiveInstanceId InstanceId, |
Update the previous transform for the instance specified. | Components/InstancedSkinnedMeshComponent.h |
|
bool SetInstanceTransform
(
FPrimitiveInstanceId InstanceId, |
Update the transform for the instance specified. | Components/InstancedSkinnedMeshComponent.h |
|
bool SetInstanceTransforms
(
FPrimitiveInstanceId InstanceId, |
Update both the current and previous transforms for the instance specified. | Components/InstancedSkinnedMeshComponent.h |
|
void SetNumCustomDataFloats
(
int32 InNumCustomDataFloats |
Update number of custom data entries per instance. | Components/InstancedSkinnedMeshComponent.h |
|
void SetNumGPUInstances
(
int32 InCount |
Components/InstancedSkinnedMeshComponent.h | ||
void SetPrimitiveBoundsOverride
(
const FBox& InBounds |
Components/InstancedSkinnedMeshComponent.h | ||
void SetTransformProvider
(
UTransformProviderData* InTransformProvider |
Components/InstancedSkinnedMeshComponent.h |
|
|
bool UpdateInstance
(
FPrimitiveInstanceId InstanceId, |
Updates an instance on this component. | Components/InstancedSkinnedMeshComponent.h |
|
bool UsesGPUOnlyInstances() |
Components/InstancedSkinnedMeshComponent.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ComponentOverlapMultiImpl
(
TArray< FOverlapResult >& OutOverlaps, |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void PreAssetCompilation() |
Called by the asset compilers (FAnimBankCompilingManager / FSkinnedAssetCompilingManager) when done to allow render state to be created. | Components/InstancedSkinnedMeshComponent.h |
Overridden from USkinnedMeshComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const Nanite::FResources * GetNaniteResources() |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void PostAssetCompilation() |
Called by the asset compilers (FAnimBankCompilingManager / FSkinnedAssetCompilingManager) when done to allow render state to be created. | Components/InstancedSkinnedMeshComponent.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/InstancedSkinnedMeshComponent.h |
Overridden from UPrimitiveComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanEditSimulatePhysics() |
Determines whether or not the simulate physics setting can be edited interactively on this component | Components/InstancedSkinnedMeshComponent.h | |
virtual bool ComponentOverlapComponentImpl
(
UPrimitiveComponent* PrimComp, |
Override this method for custom behavior for ComponentOverlapComponent() | Components/InstancedSkinnedMeshComponent.h | |
virtual FPrimitiveSceneProxy * CreateSceneProxy () |
Creates a proxy to represent the primitive to the scene manager in the rendering thread. | Components/InstancedSkinnedMeshComponent.h | |
virtual UBodySetup * GetBodySetup() |
Return the BodySetup to use for this PrimitiveComponent (single body case) | Components/InstancedSkinnedMeshComponent.h | |
virtual bool LineTraceComponent
(
FHitResult& OutHit, |
Trace a ray against just this component. | Components/InstancedSkinnedMeshComponent.h | |
virtual bool OverlapComponent
(
const FVector& Pos, |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void RecreateInstanceBody
(
int32 InstanceBodyIndex |
Called when the CollisionEnabled of the BodyInstance is changed. | Components/InstancedSkinnedMeshComponent.h | |
virtual bool SweepComponent
(
FHitResult& OutHit, |
Trace a shape against just this component. | Components/InstancedSkinnedMeshComponent.h |
Overridden from USceneComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FBoxSphereBounds CalcBounds
(
const FTransform& LocalToWorld |
Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size. | Components/InstancedSkinnedMeshComponent.h | |
virtual void OnUpdateTransform
(
EUpdateTransformFlags UpdateTransformFlags, |
Native callback when this component is moved | Components/InstancedSkinnedMeshComponent.h |
Overridden from UActorComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ComputeHLODHash
(
FHLODHashBuilder& HashBuilder |
Override to allow a component subclass to compute an hash for the purpose of HLOD generation. | Components/InstancedSkinnedMeshComponent.h | |
virtual void CreateRenderState_Concurrent
(
FRegisterComponentContext* Context |
Used to create any rendering thread information for this component | Components/InstancedSkinnedMeshComponent.h | |
virtual void DestroyRenderState_Concurrent () |
Used to shut down any rendering thread structure for this component | Components/InstancedSkinnedMeshComponent.h | |
virtual TStructOnScope< FActorComponentInstanceData > GetComponentInstanceData() |
Called before we throw away components during RerunConstructionScripts, to cache any data we wish to persist across that operation | Components/InstancedSkinnedMeshComponent.h | |
virtual bool IsHLODRelevant() |
Override to specify that a component is relevant to the HLOD generation. | Components/InstancedSkinnedMeshComponent.h | |
virtual void OnActorEnableCollisionChanged() |
Called on each component when the Actor's bEnableCollisionChanged flag changes | Components/InstancedSkinnedMeshComponent.h | |
virtual void OnRegister() |
Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called. | Components/InstancedSkinnedMeshComponent.h | |
virtual void SendRenderInstanceData_Concurrent() |
Called to send instance data for this component to the rendering thread | Components/InstancedSkinnedMeshComponent.h | |
virtual bool ShouldCreatePhysicsState () |
Return true if CreatePhysicsState() should be called. | Components/InstancedSkinnedMeshComponent.h | |
virtual void TickComponent
(
float DeltaTime, |
Function called every frame on this ActorComponent. | Components/InstancedSkinnedMeshComponent.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void BeginDestroy() |
Components/InstancedSkinnedMeshComponent.h | ||
virtual bool IsCachedCookedPlatformDataLoaded
(
const ITargetPlatform* TargetPlatform |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void PostEditUndo() |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void PostLoad() |
Components/InstancedSkinnedMeshComponent.h | ||
virtual void Serialize
(
FArchive& Ar |
Components/InstancedSkinnedMeshComponent.h |
Overridden from IPhysicsComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< Chaos::FPhysicsObject * > GetAllPhysicsObjects() |
Components/InstancedSkinnedMeshComponent.h | ||
virtual Chaos::FPhysicsObject * GetPhysicsObjectById
(
Chaos::FPhysicsObjectId Id |
Components/InstancedSkinnedMeshComponent.h |
Overridden from IPhysicsBodyInstanceOwner
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FBodyInstance * GetBodyInstance
(
FName BoneName, |
Returns BodyInstance of the component. | Components/InstancedSkinnedMeshComponent.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPrimitiveInstanceId AddInstanceInternal
(
int32 InstanceIndex, |
Components/InstancedSkinnedMeshComponent.h | ||
void ApplyComponentInstanceData
(
FInstancedSkinnedMeshComponentInstanceData* ComponentInstanceData |
Applies the cached component instance data to a newly blueprint constructed component. | Components/InstancedSkinnedMeshComponent.h | |
void CreateHitProxyData
(
TArray< TRefCountPtr< HHitProxy > >& HitProxies |
Components/InstancedSkinnedMeshComponent.h | ||
FInstanceDataManagerSourceDataDesc GetComponentDesc
(
EShaderPlatform InShaderPlatform |
Components/InstancedSkinnedMeshComponent.h | ||
void PreApplyComponentInstanceData
(
FInstancedSkinnedMeshComponentInstanceData* ComponentInstanceData |
Handle changes that must happen before the proxy is recreated. | Components/InstancedSkinnedMeshComponent.h | |
bool RemoveInstanceInternal
(
int32 InstanceIndex, |
Components/InstancedSkinnedMeshComponent.h |
Protected Virtual
Overridden from UActorComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnCreatePhysicsState() |
Used to create any physics engine information for this component | Components/InstancedSkinnedMeshComponent.h | |
virtual void OnDestroyPhysicsState() |
Used to shut down and physics engine structure for this component | Components/InstancedSkinnedMeshComponent.h |
Overridden from IAsyncPhysicsStateProcessor
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool OnAsyncDestroyPhysicsState
(
const UE::FTimeout& TimeOut |
Used to destroy any physics state for this component outside of the GameThread. | Components/InstancedSkinnedMeshComponent.h | |
virtual void OnAsyncDestroyPhysicsStateBegin_GameThread
(
TSet< UObject* >& OutRootedObjects |
Called on the GameThread before the component's physics state is destroyed. | Components/InstancedSkinnedMeshComponent.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FSkeletalMeshObject * CreateMeshObject
(
const FInstancedSkinnedMeshSceneProxyDesc& InMeshDesc, |
Components/InstancedSkinnedMeshComponent.h | ||
static FPrimitiveSceneProxy * CreateSceneProxy
(
const FInstancedSkinnedMeshSceneProxyDesc& Desc, |
Components/InstancedSkinnedMeshComponent.h | ||
static bool ShouldForceRefPose() |
Components/InstancedSkinnedMeshComponent.h | ||
static bool ShouldUseAnimationBounds() |
Components/InstancedSkinnedMeshComponent.h |