Navigation
API > API/Runtime > API/Runtime/Engine
A component that efficiently renders multiple instances of the same StaticMesh.
| Name | UInstancedStaticMeshComponent |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Components/InstancedStaticMeshComponent.h |
| Include Path | #include "Components/InstancedStaticMeshComponent.h" |
Syntax
UCLASS (ClassGroup=Rendering, Meta=(BlueprintSpawnableComponent), Blueprintable, MinimalAPI)
class UInstancedStaticMeshComponent :
public UStaticMeshComponent ,
public ISMInstanceManager
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPrimitiveComponent → UMeshComponent → UStaticMeshComponent → UInstancedStaticMeshComponent
Implements Interfaces
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IInterface_AsyncCompilation
- INavRelevantInterface
- IPhysicsComponent
- ISMInstanceManager
Derived Classes
- UHierarchicalInstancedStaticMeshComponent
- UHLODInstancedStaticMeshComponent
- ULiveLinkDataPreviewComponent
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInstancedStaticMeshComponent
(
FVTableHelper& Helper |
Needs implementation in InstancedStaticMesh.cpp to compile UniquePtr for forward declared class | Components/InstancedStaticMeshComponent.h | |
UInstancedStaticMeshComponent
(
const FObjectInitializer& ObjectInitializer |
Components/InstancedStaticMeshComponent.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UInstancedStaticMeshComponent() |
Components/InstancedStaticMeshComponent.h |
Enums
Public
| Name | Remarks |
|---|---|
| EInstanceDeletionReason | The reason why a deletion operation is currently happening. |
Protected
| Name | Remarks |
|---|---|
| EBoundsCacheType |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AdditionalRandomSeeds | TArray< FInstancedStaticMeshRandomSeed > | Additional random seeds ranges. | Components/InstancedStaticMeshComponent.h | |
| bDisableCollision | uint8 | Don't create any collision when this bool is set | Components/InstancedStaticMeshComponent.h | |
| bForceShowAllInstancesDetails | bool | Indicates that the user has purposedly chosen to show the instance list in the details panel, despite the performance warning. | Components/InstancedStaticMeshComponent.h | |
| bInheritPerInstanceData | uint8 | If true, this component will avoid serializing its per instance data / those properties will also not be editable | Components/InstancedStaticMeshComponent.h | |
| bSupportRemoveAtSwap | uint8 | Flag for using RemoveAtSwap on instance removal. | Components/InstancedStaticMeshComponent.h | |
| bUseGpuLodSelection | uint8 | If true, this component will use GPU LOD selection. | Components/InstancedStaticMeshComponent.h |
|
| DeletionState | EInstanceDeletionReason | This will be set to the appropriate state when one or more instances are in the process of being deleted. | Components/InstancedStaticMeshComponent.h | |
| InstanceBodies | TArray< FBodyInstance * > | Physics representation of the instance bodies. | Components/InstancedStaticMeshComponent.h | |
| InstanceEndCullDistance | int32 | Distance from camera at which each instance completely fades out. | Components/InstancedStaticMeshComponent.h |
|
| InstanceLODDistanceScale | float | Scale applied to change the computation of LOD distances when using the StaticMesh screen sizes. | Components/InstancedStaticMeshComponent.h |
|
| InstanceMinDrawDistance | int32 | Distance from camera at which each instance begins to draw. | Components/InstancedStaticMeshComponent.h |
|
| InstanceReorderTable | TArray< int32 > | Mapping from PerInstanceSMData order to instance render buffer order. | Components/InstancedStaticMeshComponent.h | |
| InstanceStartCullDistance | int32 | Distance from camera at which each instance begins to fade out. | Components/InstancedStaticMeshComponent.h |
|
| InstancingRandomSeed | int32 | Value used to seed the random number stream that generates random numbers for each of this mesh's instances. | Components/InstancedStaticMeshComponent.h |
|
| NumCustomDataFloats | int32 | Defines the number of floats that will be available per instance for custom data | Components/InstancedStaticMeshComponent.h |
|
| PerInstancePrevTransform | TArray< FMatrix > | TODO: KevinO cleanup. | Components/InstancedStaticMeshComponent.h |
|
| PerInstanceSMCustomData | TArray< float > | Array of custom data for instances. | Components/InstancedStaticMeshComponent.h |
|
| PerInstanceSMData | TArray< FInstancedStaticMeshInstanceData > | Array of instances, bulk serialized. | Components/InstancedStaticMeshComponent.h |
|
| PreviousComponentTransform | FTransform | Main transform stored to be able to send updates when component's transform changed. | Components/InstancedStaticMeshComponent.h |
|
| ProxySize | SIZE_T | Tracks outstanding proxysize, as this is a bit hard to do with the fire-and-forget grass. | Components/InstancedStaticMeshComponent.h | |
| SelectedInstances | TBitArray | One bit per instance if the instance is selected. | Components/InstancedStaticMeshComponent.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AsyncDestroyPhysicsStatePayload | TArray< FBodyInstance * > | Payload used by asynchronous destruction of physics state (see OnAsyncDestroyPhysicsState). | Components/InstancedStaticMeshComponent.h | |
| bHasPreviousTransforms | uint8 | Components/InstancedStaticMeshComponent.h | ||
| bIsUpdatingBounds | uint8 | Internally used to know when CalcBounds is called by UpdateBounds. | Components/InstancedStaticMeshComponent.h | |
| bNavigationCachedBoundsUpdated | bool | Temporary flag used to skip Navigation CachedBounds invalidation. | Components/InstancedStaticMeshComponent.h | |
| bUseConservativeBounds | uint8 | Flag for whether we are using conservative bounds. | Components/InstancedStaticMeshComponent.h | |
| CachedBounds | FBoundsCacheElement | Components/InstancedStaticMeshComponent.h | ||
| CachedConservativeInstanceBounds | FBox | Current cached conservativ bounds. | Components/InstancedStaticMeshComponent.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 AddInstance
(
const FTransform& InstanceTransform, |
Add an instance to this component. | Components/InstancedStaticMeshComponent.h |
|
FPrimitiveInstanceId AddInstanceById
(
const FTransform& InstanceTransforms, |
Components/InstancedStaticMeshComponent.h | ||
virtual TArray< int32 > AddInstances
(
const TArray< FTransform >& InstanceTransforms, |
Add multiple instances to this component. | Components/InstancedStaticMeshComponent.h |
|
TArray< FPrimitiveInstanceId > AddInstancesById
(
const TArrayView< const FTransform >& InstanceTransforms, |
Preliminary ID-based interface. | Components/InstancedStaticMeshComponent.h | |
int32 AddInstanceWorldSpace
(
const FTransform& WorldTransform |
Add an instance to this component. Transform is given in world space. | Components/InstancedStaticMeshComponent.h |
|
virtual void ApplyComponentInstanceData
(
FInstancedStaticMeshComponentInstanceData* ComponentInstanceData |
Applies the cached component instance data to a newly blueprint constructed component. | Components/InstancedStaticMeshComponent.h | |
virtual bool BatchUpdateInstancesData
(
int32 StartInstanceIndex, |
Components/InstancedStaticMeshComponent.h | ||
virtual bool BatchUpdateInstancesTransform
(
int32 StartInstanceIndex, |
Update the transform for a number of instances. | Components/InstancedStaticMeshComponent.h |
|
virtual bool BatchUpdateInstancesTransforms
(
int32 StartInstanceIndex, |
TODO: KevinO cleanup. | Components/InstancedStaticMeshComponent.h | |
virtual bool BatchUpdateInstancesTransforms
(
int32 StartInstanceIndex, |
This is array view version of the UFUNCTION, blueprints do not support ArrayViews at the time of adding this one | Components/InstancedStaticMeshComponent.h | |
virtual bool BatchUpdateInstancesTransforms
(
int32 StartInstanceIndex, |
Update the transform for an array of instances. | Components/InstancedStaticMeshComponent.h |
|
virtual void ClearInstances() |
Clear all instances being rendered by this component. | Components/InstancedStaticMeshComponent.h |
|
void ClearInstanceSelection() |
Deselect all instances. | Components/InstancedStaticMeshComponent.h | |
void GetCullDistances
(
int32& OutStartCullDistance, |
Gets the fading start and culling end distances for this component. | Components/InstancedStaticMeshComponent.h |
|
int32 GetInstanceCount() |
Get the number of instances in this component. | Components/InstancedStaticMeshComponent.h |
|
const TSharedPtr< FISMCInstanceDataSceneProxy, ESPMode::ThreadSafe > & GetInstanceDataSceneProxy() |
Components/InstancedStaticMeshComponent.h | ||
int32 GetInstanceIndexForId
(
FPrimitiveInstanceId InstanceId |
Fetches current instance index for a given InstanceId | Components/InstancedStaticMeshComponent.h | |
bool GetInstancePrevTransform
(
int32 InstanceIndex, |
TODO: KevinO cleanup. | Components/InstancedStaticMeshComponent.h | |
void GetInstancesMinMaxScale
(
FVector& MinScale, |
Components/InstancedStaticMeshComponent.h | ||
virtual TArray< int32 > GetInstancesOverlappingBox
(
const FBox& Box, |
Returns the instances with instance bounds overlapping the specified box. | Components/InstancedStaticMeshComponent.h |
|
virtual TArray< int32 > GetInstancesOverlappingSphere
(
const FVector& Center, |
Returns the instances with instance bounds overlapping the specified sphere. | Components/InstancedStaticMeshComponent.h |
|
bool GetInstanceTransform
(
int32 InstanceIndex, |
Get the transform for the instance specified. | Components/InstancedStaticMeshComponent.h |
|
float GetLODDistanceScale() |
Gets the current LOD scale. | Components/InstancedStaticMeshComponent.h |
|
int32 GetNumInstances() |
Components/InstancedStaticMeshComponent.h | ||
virtual int32 GetNumRenderInstances() |
Number of instances in the render-side instance buffer. | Components/InstancedStaticMeshComponent.h | |
TSharedPtr< FISMCInstanceDataSceneProxy, ESPMode::ThreadSafe > GetOrCreateInstanceDataSceneProxy() |
Components/InstancedStaticMeshComponent.h | ||
int32 GetRenderIndex
(
int32 InInstanceIndex |
Returns the render instance buffer index. | Components/InstancedStaticMeshComponent.h | |
virtual FVector GetTranslatedInstanceSpaceOrigin () |
Get the translated space for instance transforms to be passed to the renderer. | Components/InstancedStaticMeshComponent.h | |
FPrimitiveMaterialPropertyDescriptor GetUsedMaterialPropertyDesc
(
ERHIFeatureLevel::Type FeatureLevel |
Wrapper which is public so we can implement the LIST ISM command | Components/InstancedStaticMeshComponent.h | |
FPrimitiveMaterialPropertyDescriptor GetUsedMaterialPropertyDesc
(
EShaderPlatform ShaderPlatform |
Deprecated in 5.7. | Components/InstancedStaticMeshComponent.h | |
void InvalidateInstanceDataTracking () |
Clears all the updated instance tracking data AND instance ID association, also forcing a full update of the instance data the next time it is flushed. | Components/InstancedStaticMeshComponent.h | |
bool IsInstanceSelected
(
int32 InInstanceIndex |
Check to see if an instance is selected. | Components/InstancedStaticMeshComponent.h | |
virtual bool IsInstanceTouchingSelectionBox
(
int32 InstanceIndex, |
Components/InstancedStaticMeshComponent.h | ||
virtual bool IsInstanceTouchingSelectionFrustum
(
int32 InstanceIndex, |
Components/InstancedStaticMeshComponent.h | ||
bool IsValidId
(
FPrimitiveInstanceId InstanceId |
Components/InstancedStaticMeshComponent.h | ||
bool IsValidInstance
(
int32 InstanceIndex |
Does the given index map to a valid instance in this component? | Components/InstancedStaticMeshComponent.h |
|
FInstanceDataFlags MakeInstanceDataFlags
(
bool bAnyMaterialHasPerInstanceRandom, |
Helper function to construct a base-set of instance data flags that in. | Components/InstancedStaticMeshComponent.h | |
void OnPostPopulatePerInstanceData() |
Components/InstancedStaticMeshComponent.h | ||
virtual void PartialNavigationUpdate
(
int32 InstanceIdx |
Request to navigation system to update only part of navmesh occupied by specified instance. | Components/InstancedStaticMeshComponent.h | |
virtual void PartialNavigationUpdates
(
TConstArrayView< FTransform > InstanceTransforms |
Request to navigation system to update only part of navmesh occupied specified instances transforms. | Components/InstancedStaticMeshComponent.h | |
virtual void PreAllocateInstancesMemory
(
int32 AddedInstanceCount |
Preallocated memory to include the new added instances count, to prevent reallloc during the add operation. | Components/InstancedStaticMeshComponent.h | |
void PreApplyComponentInstanceData
(
FInstancedStaticMeshComponentInstanceData* ComponentInstanceData |
Handle changes that must happen before the proxy is recreated. | Components/InstancedStaticMeshComponent.h | |
virtual bool RemoveInstance
(
int32 InstanceIndex |
Remove the instance specified. Returns True on success. | Components/InstancedStaticMeshComponent.h |
|
void RemoveInstanceById
(
FPrimitiveInstanceId InstanceId |
Components/InstancedStaticMeshComponent.h | ||
virtual bool RemoveInstances
(
const TArray< int32 >& InstancesToRemove, |
Remove the instances specified. Returns True on success. | Components/InstancedStaticMeshComponent.h | |
virtual bool RemoveInstances
(
const TArray< int32 >& InstancesToRemove |
Remove the instances specified. Returns True on success. | Components/InstancedStaticMeshComponent.h |
|
virtual void RemoveInstancesById
(
const TArrayView< const FPrimitiveInstanceId >& InstanceIds, |
Components/InstancedStaticMeshComponent.h | ||
void SelectInstance
(
bool bInSelected, |
Select/deselect an instance or group of instances. | Components/InstancedStaticMeshComponent.h | |
void SetBakedLightingDataChanged
(
int32 InInstanceIndex |
Mark the "shadowmap" or lightmap uv as modified for the instance since this is stored in external data. | Components/InstancedStaticMeshComponent.h | |
void SetBakedLightingDataChangedAll() |
Mark the "shadowmap" or lightmap uv as modified for all the instances since this is stored in external data. | Components/InstancedStaticMeshComponent.h | |
void SetCullDistances
(
int32 StartCullDistance, |
Sets the fading start and culling end distances for this component. | Components/InstancedStaticMeshComponent.h |
|
virtual bool SetCustomData
(
int32 InstanceIndex, |
Per Instance Custom Data | Components/InstancedStaticMeshComponent.h | |
virtual bool SetCustomData
(
int32 InstanceIndexStart, |
Components/InstancedStaticMeshComponent.h | ||
void SetCustomDataById
(
const TArrayView< const FPrimitiveInstanceId >& InstanceIds, |
Components/InstancedStaticMeshComponent.h | ||
void SetCustomDataById
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedStaticMeshComponent.h | ||
virtual bool SetCustomDataValue
(
int32 InstanceIndex, |
Update custom data for specific instance | Components/InstancedStaticMeshComponent.h |
|
void SetCustomDataValueById
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedStaticMeshComponent.h | ||
void SetHasPerInstancePrevTransforms
(
bool bInHasPreviousTransforms |
Components/InstancedStaticMeshComponent.h | ||
void SetLODDistanceScale
(
float InLODDistanceScale |
Sets the LOD scale. | Components/InstancedStaticMeshComponent.h |
|
virtual void SetNumCustomDataFloats
(
int32 InNumCustomDataFloats |
Update number of custom data entries per instance. | Components/InstancedStaticMeshComponent.h |
|
void SetPreviousTransformById
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedStaticMeshComponent.h | ||
void SetRemoveSwap () |
Sets to use RemoveAtSwap on instance removal. | Components/InstancedStaticMeshComponent.h | |
void SetUseConservativeBounds
(
bool bValue |
Sets whether to use conservative bounds. | Components/InstancedStaticMeshComponent.h | |
virtual bool SupportsRemoveSwap () |
Returns true if RemoveAtSwap is enabled. | Components/InstancedStaticMeshComponent.h | |
void UpdateComponentTransform
(
EUpdateTransformFlags UpdateTransformFlags, |
Components/InstancedStaticMeshComponent.h | ||
virtual bool UpdateInstanceTransform
(
int32 InstanceIndex, |
Update the transform for the instance specified. | Components/InstancedStaticMeshComponent.h |
|
void UpdateInstanceTransformById
(
FPrimitiveInstanceId InstanceId, |
Components/InstancedStaticMeshComponent.h |
Overridden from UStaticMeshComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GetStaticLightingInfo
(
FStaticLightingPrimitiveInfo& OutPrimitiveInfo, |
Components/InstancedStaticMeshComponent.h | ||
virtual float GetTextureStreamingTransformScale () |
Get the scale comming form the component, when computing StreamingTexture data. | Components/InstancedStaticMeshComponent.h | |
virtual void PostStaticMeshCompilation() |
Components/InstancedStaticMeshComponent.h |
Overridden from UMeshComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool GetMaterialStreamingData
(
int32 MaterialIndex, |
Get material, UV density and bounds for a given material index. | Components/InstancedStaticMeshComponent.h |
Overridden from UPrimitiveComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool BuildTextureStreamingDataImpl
(
ETextureStreamingBuildType BuildType, |
Build the data to compute accuracte StreaminTexture data. | Components/InstancedStaticMeshComponent.h | |
virtual bool CanEditSimulatePhysics() |
Determines whether or not the simulate physics setting can be edited interactively on this component | Components/InstancedStaticMeshComponent.h | |
virtual void CollectPSOPrecacheData
(
const FPSOPrecacheParams& BasePrecachePSOParams, |
Precache all PSOs which can be used by the component | Components/InstancedStaticMeshComponent.h | |
virtual bool ComponentIsTouchingSelectionBox
(
const FBox& InSelBBox, |
Determines whether the supplied bounding box intersects with the component. | Components/InstancedStaticMeshComponent.h | |
virtual bool ComponentIsTouchingSelectionFrustum
(
const FConvexVolume& InFrustum, |
Determines whether the supplied frustum intersects with the component. | Components/InstancedStaticMeshComponent.h | |
virtual FPrimitiveSceneProxy * CreateSceneProxy() |
Creates a proxy to represent the primitive to the scene manager in the rendering thread. | Components/InstancedStaticMeshComponent.h | |
virtual FBodyInstance * GetBodyInstance
(
FName BoneName, |
Returns BodyInstance of the component. | Components/InstancedStaticMeshComponent.h | |
virtual void GetLightAndShadowMapMemoryUsage
(
int32& LightMapMemoryUsage, |
Returns the light and shadow map memory for this primitive in its out variables. | Components/InstancedStaticMeshComponent.h | |
virtual FMatrix GetRenderMatrix () |
Returns the matrix that should be used to render this component. | Components/InstancedStaticMeshComponent.h | |
virtual void GetStreamingRenderAssetInfo
(
FStreamingTextureLevelContext& LevelContext, |
Get the StreaminTexture data. | Components/InstancedStaticMeshComponent.h | |
virtual bool LineTraceComponent
(
FHitResult& OutHit, |
Trace a ray against just this component. | Components/InstancedStaticMeshComponent.h | |
virtual bool OverlapComponent
(
const FVector& Pos, |
Components/InstancedStaticMeshComponent.h | ||
virtual void RecreateInstanceBody
(
int32 InstanceBodyIndex |
Called when the CollisionEnabled of the BodyInstance is changed. | Components/InstancedStaticMeshComponent.h | |
virtual bool SupportsStaticLighting() |
Whether the component type supports static lighting. | Components/InstancedStaticMeshComponent.h | |
virtual bool SweepComponent
(
FHitResult& OutHit, |
Trace a shape against just this component. | Components/InstancedStaticMeshComponent.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/InstancedStaticMeshComponent.h | |
virtual void OnUpdateTransform
(
EUpdateTransformFlags UpdateTransformFlags, |
Native callback when this component is moved | Components/InstancedStaticMeshComponent.h | |
virtual void PropagateLightingScenarioChange() |
Updates any visuals after the lighting has changed | Components/InstancedStaticMeshComponent.h | |
virtual void UpdateBounds() |
Update the Bounds of the component. | Components/InstancedStaticMeshComponent.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/InstancedStaticMeshComponent.h | |
virtual void GetComponentChildElements
(
TArray< FTypedElementHandle >& OutElementHandles, |
Get the logical child elements of this component, if any. | Components/InstancedStaticMeshComponent.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/InstancedStaticMeshComponent.h | |
virtual FBox GetStreamingBounds() |
Components/InstancedStaticMeshComponent.h | ||
virtual bool IsHLODRelevant() |
Override to specify that a component is relevant to the HLOD generation. | Components/InstancedStaticMeshComponent.h | |
virtual bool IsNavigationRelevant() |
Override to specify that a component is relevant to the navigation system | Components/InstancedStaticMeshComponent.h | |
virtual void OnRegister() |
Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called. | Components/InstancedStaticMeshComponent.h | |
virtual void OnUnregister () |
Called when a component is unregistered. | Components/InstancedStaticMeshComponent.h | |
virtual void SendRenderInstanceData_Concurrent() |
Called to send instance data for this component to the rendering thread | Components/InstancedStaticMeshComponent.h | |
virtual bool ShouldCreatePhysicsState () |
Return true if CreatePhysicsState() should be called. | Components/InstancedStaticMeshComponent.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
See: UObject::BeginCacheForCookedPlatformData | Components/InstancedStaticMeshComponent.h | |
virtual void BeginDestroy() |
Components/InstancedStaticMeshComponent.h | ||
virtual bool CanEditChange
(
const FProperty* InProperty |
Components/InstancedStaticMeshComponent.h | ||
virtual void GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
Components/InstancedStaticMeshComponent.h | ||
virtual bool IsCachedCookedPlatformDataLoaded
(
const ITargetPlatform* TargetPlatform |
See: UObject::IsCachedCookedPlatformDataLoaded | Components/InstancedStaticMeshComponent.h | |
virtual void PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
Components/InstancedStaticMeshComponent.h | ||
virtual void PostEditUndo() |
Components/InstancedStaticMeshComponent.h | ||
virtual void PostLoad() |
Components/InstancedStaticMeshComponent.h | ||
virtual void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
Components/InstancedStaticMeshComponent.h | ||
virtual void Serialize
(
FArchive& Ar |
Components/InstancedStaticMeshComponent.h |
Overridden from INavRelevantInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool DoCustomNavigableGeometryExport
(
FNavigableGeometryExport& GeomExport |
Collects custom navigable geometry of component. | Components/InstancedStaticMeshComponent.h | |
virtual FBox GetNavigationBounds() |
Get bounds for navigation octree | Components/InstancedStaticMeshComponent.h | |
virtual void GetNavigationData
(
FNavigationRelevantData& Data |
Prepares navigation modifiers | Components/InstancedStaticMeshComponent.h | |
virtual bool ShouldSkipDirtyAreaOnAddOrRemove () |
Indicates if the area covered by the navigation bounds of the object should not be dirtied when inserting, or removing, the object in the navigation octree. | Components/InstancedStaticMeshComponent.h |
Overridden from IPhysicsComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< Chaos::FPhysicsObject * > GetAllPhysicsObjects() |
Components/InstancedStaticMeshComponent.h | ||
virtual Chaos::FPhysicsObject * GetPhysicsObjectById
(
Chaos::FPhysicsObjectId Id |
Components/InstancedStaticMeshComponent.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 AddInstanceInternal
(
int32 InstanceIndex, |
Internal version of AddInstance | Components/InstancedStaticMeshComponent.h | |
TArray< int32 > AddInstancesInternal
(
TConstArrayView< FTransform > InstanceTransforms, |
Internal implementation of AddInstances | Components/InstancedStaticMeshComponent.h | |
void ApplyLightMapping
(
FStaticLightingTextureMapping_InstancedStaticMesh* InMapping, |
Components/InstancedStaticMeshComponent.h | ||
virtual void BuildComponentInstanceData
(
EShaderPlatform InShaderPlatform, |
Components/InstancedStaticMeshComponent.h | ||
virtual void BuildComponentInstanceData
(
ERHIFeatureLevel::Type FeatureLevel, |
Components/InstancedStaticMeshComponent.h | ||
void BuildInstanceDataDeltaChangeSetCommon
(
FISMInstanceUpdateChangeSet& ChangeSet |
Helper to collect the base delta data from the ISM notably not transforms | Components/InstancedStaticMeshComponent.h | |
void BuildLegacyRenderData
(
FStaticMeshInstanceData& OutData |
Build instance buffer for rendering from current component data. Only used for cook | Components/InstancedStaticMeshComponent.h | |
void CalcAndCacheNavigationBounds() |
Components/InstancedStaticMeshComponent.h | ||
FBoxSphereBounds CalcBoundsImpl
(
const FTransform& BoundTransform, |
Components/InstancedStaticMeshComponent.h | ||
FBoxSphereBounds CalcBoundsImpl
(
const FTransform& BoundTransform, |
Calculates bounds from all instances. | Components/InstancedStaticMeshComponent.h | |
void ClearAllInstanceBodies() |
Terminate all body instances owned by this component. | Components/InstancedStaticMeshComponent.h | |
void CreateAllInstanceBodies() |
Creates body instances for all instances owned by this component. | Components/InstancedStaticMeshComponent.h | |
void CreateHitProxyData
(
TArray< TRefCountPtr< HHitProxy > >& HitProxies |
Components/InstancedStaticMeshComponent.h | ||
virtual void FullNavigationUpdate() |
Request to navigation system to update for the bounds of the ISM. | Components/InstancedStaticMeshComponent.h | |
FBox GetInstanceNavigationBounds () |
Returns the bounds of a single instance in local space. | Components/InstancedStaticMeshComponent.h | |
virtual void GetNavigationPerInstanceTransforms
(
const FBox& AreaBox, |
Handles request from navigation system to gather instance transforms in a specific area box. | Components/InstancedStaticMeshComponent.h | |
void InitializeInstancingRandomSeed
(
const bool bAllowRandomSeedValue |
Components/InstancedStaticMeshComponent.h | ||
void InitInstanceBody
(
int32 InstanceIdx, |
Components/InstancedStaticMeshComponent.h | ||
void InitInstanceBody
(
int32 InstanceIdx, |
Initializes the body instance for the specified instance of the static mesh. | Components/InstancedStaticMeshComponent.h | |
void InvalidateCachedBounds() |
Components/InstancedStaticMeshComponent.h | ||
virtual void OnPostLoadPerInstanceData() |
Creates rendering buffer from serialized data, if any | Components/InstancedStaticMeshComponent.h | |
bool RemoveInstanceInternal
(
int32 InstanceIndex, |
Internal version of RemoveInstance | Components/InstancedStaticMeshComponent.h | |
void SerializeRenderData
(
FArchive& Ar |
Serialize instance buffer that is used for rendering. Only for cooked content | Components/InstancedStaticMeshComponent.h | |
virtual bool SupportsPartialNavigationUpdate() |
Does this component support partial navigation updates | Components/InstancedStaticMeshComponent.h |
Overridden from UStaticMeshComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FPrimitiveSceneProxy * CreateStaticMeshSceneProxy
(
Nanite::FMaterialAudit& NaniteMaterials, |
Overload this in child implementations that wish to extend Static Mesh or Nanite scene proxy implementations. | Components/InstancedStaticMeshComponent.h |
Overridden from UPrimitiveComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ComponentOverlapComponentImpl
(
UPrimitiveComponent* PrimComp, |
Override this method for custom behavior for ComponentOverlapComponent() | Components/InstancedStaticMeshComponent.h | |
virtual bool ComponentOverlapMultiImpl
(
TArray< struct FOverlapResult >& OutOverlaps, |
Override this method for custom behavior for ComponentOverlapMulti() | Components/InstancedStaticMeshComponent.h |
Overridden from UActorComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnCreatePhysicsState() |
Used to create any physics engine information for this component | Components/InstancedStaticMeshComponent.h | |
virtual void OnDestroyPhysicsState() |
Used to shut down and physics engine structure for this component | Components/InstancedStaticMeshComponent.h |
Overridden from IAsyncPhysicsStateProcessor
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool OnAsyncDestroyPhysicsState
(
const UE::FTimeout& TimeOut |
Used to destroy any physics engine information for this component outside of the GameThread. | Components/InstancedStaticMeshComponent.h | |
virtual void OnAsyncDestroyPhysicsStateBegin_GameThread() |
Called on the GameThread before the component's physic engine information is destroyed. | Components/InstancedStaticMeshComponent.h |
Overridden from ISMInstanceManager
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanEditSMInstance
(
const FSMInstanceId& InstanceId |
Can the given static mesh instance be edited? | Components/InstancedStaticMeshComponent.h | |
virtual bool CanMoveSMInstance
(
const FSMInstanceId& InstanceId, |
Can the given static mesh instance be moved in the world? | Components/InstancedStaticMeshComponent.h | |
virtual bool DeleteSMInstances
(
TArrayView< const FSMInstanceId > InstanceIds |
Attempt to delete the given static mesh instances. | Components/InstancedStaticMeshComponent.h | |
virtual bool DuplicateSMInstances
(
TArrayView< const FSMInstanceId > InstanceIds, |
Attempt to duplicate the given static mesh instances, retrieving the IDs of any new instances. | Components/InstancedStaticMeshComponent.h | |
virtual bool GetSMInstanceTransform
(
const FSMInstanceId& InstanceId, |
Attempt to get the transform of the given static mesh instance. | Components/InstancedStaticMeshComponent.h | |
virtual void NotifySMInstanceMovementEnded
(
const FSMInstanceId& InstanceId |
Notify that the given static mesh instance is done being moved. | Components/InstancedStaticMeshComponent.h | |
virtual void NotifySMInstanceMovementOngoing
(
const FSMInstanceId& InstanceId |
Notify that the given static mesh instance is currently being moved. | Components/InstancedStaticMeshComponent.h | |
virtual void NotifySMInstanceMovementStarted
(
const FSMInstanceId& InstanceId |
Notify that the given static mesh instance is about to be moved. | Components/InstancedStaticMeshComponent.h | |
virtual void NotifySMInstanceSelectionChanged
(
const FSMInstanceId& InstanceId, |
Notify that the given static mesh instance selection state has changed. | Components/InstancedStaticMeshComponent.h | |
virtual bool SetSMInstanceTransform
(
const FSMInstanceId& InstanceId, |
Attempt to set the transform of the given static mesh instance. | Components/InstancedStaticMeshComponent.h |