Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Components/InstancedStaticMeshComponent.h |
Include |
#include "Components/InstancedStaticMeshComponent.h" |
class UInstancedStaticMeshComponent :
public UStaticMeshComponent,
public ISMInstanceManager
A component that efficiently renders multiple instances of the same StaticMesh.
Name | Description | ||
---|---|---|---|
|
AdditionalRandomSeeds |
Additional random seeds ranges. |
|
|
bool |
bForceShowAllInstancesDetails |
Indicates that the user has purposedly chosen to show the instance list in the details panel, despite the performance warning. |
|
bool |
bSupportRemoveAtSwap |
Flag for using RemoveAtSwap on instance removal. |
|
CachedMappings |
The mappings for all the instances of this component. |
|
|
DeletionState |
This will be set to the appropriate state when one or more instances are in the process of being deleted. |
|
|
friend |
FInstancedLightMap2D |
|
|
friend |
FInstancedShadowMap2D |
|
|
friend |
FStaticLightingTextureMapping_InstancedStaticMesh |
|
|
InstanceBodies |
Physics representation of the instance bodies. |
|
|
TUniquePtr< FSt... |
InstanceDataBuffers |
Buffers with per-instance data laid out for rendering. |
|
int32 |
InstanceEndCullDistance |
Distance from camera at which each instance completely fades out. |
|
TMap< int32, in... |
InstanceIdToInstanceIndexMap |
Used to cache a unique identifier for each instance. |
|
TArray< int32 > |
InstanceReorderTable |
Mapping from PerInstanceSMData order to instance render buffer order. |
|
int32 |
InstanceStartCullDistance |
Distance from camera at which each instance begins to fade out. |
|
InstanceUpdateCmdBuffer |
This is here because in void FScene::UpdatePrimitiveInstance(UPrimitiveComponent* Primitive) we want access to the instances updates through the primitive component in a generic way. |
|
|
int32 |
InstancingRandomSeed |
Value used to seed the random number stream that generates random numbers for each of this mesh's instances. |
|
int32 |
NumCustomDataFloats |
Defines the number of floats that will be available per instance for custom data |
|
int32 |
NumPendingLightmaps |
Number of pending lightmaps still to be calculated (Apply()'d). |
|
TArray< int32 > |
PerInstanceIds |
|
|
TArray< FMatrix... |
PerInstancePrevTransform |
TODO: KevinO cleanup. |
|
TSharedPtr< FPe... |
PerInstanceRenderData |
Render data will be initialized on PostLoad or on demand. Released on the rendering thread. |
|
TArray< float > |
PerInstanceSMCustomData |
Array of custom data for instances. |
|
PerInstanceSMData |
Array of instances, bulk serialized. |
|
|
SIZE_T |
ProxySize |
Tracks outstanding proxysize, as this is a bit hard to do with the fire-and-forget grass. |
|
SelectedInstances |
One bit per instance if the instance is selected. |
Name | Description | |
---|---|---|
|
UInstancedStaticMeshComponent ( |
|
|
UInstancedStaticMeshComponent ( |
Needs implementation in InstancedStaticMesh.cpp to compile UniquePtr for forward declared class |
Name | Description | |
---|---|---|
|
~UInstancedStaticMeshComponent() |
Name | Description | ||
---|---|---|---|
|
int32 |
AddInstance ( |
Add an instance to this component. |
|
int32 |
AddInstanceInternal ( |
Internal version of AddInstance |
|
TArray< int3... |
AddInstances ( |
Add multiple instances to this component. |
|
TArray< int3... |
AddInstancesInternal ( |
Internal implementation of AddInstances |
|
void |
ApplyComponentInstanceData |
Applies the cached component instance data to a newly blueprint constructed component. |
|
void |
ApplyLightMapping ( |
|
|
bool |
BatchUpdateInstancesData ( |
|
|
bool |
BatchUpdateInstancesTransform ( |
Update the transform for a number of instances. |
|
bool |
BatchUpdateInstancesTransforms |
TODO: KevinO cleanup. |
|
bool |
BatchUpdateInstancesTransforms ( |
This is array view version of the UFUNCTION, blueprints do not support ArrayViews at the time of adding this one |
|
bool |
BatchUpdateInstancesTransforms ( |
Update the transform for an array of instances. |
|
void |
BuildRenderData ( |
Build instance buffer for rendering from current component data. |
|
void |
ClearAllInstanceBodies() |
Terminate all body instances owned by this component. |
|
void |
ClearInstances() |
Clear all instances being rendered by this component. |
|
void |
ClearInstanceSelection() |
Deselect all instances. |
|
void |
CreateAllInstanceBodies() |
Creates body instances for all instances owned by this component. |
|
void |
CreateHitProxyData ( |
|
|
void |
FlushInstanceUpdateCommands ( |
|
|
void |
GetCullDistances ( |
Gets the fading start and culling end distances for this component. |
|
int32 |
GetInstanceCount() |
Get the number of instances in this component. |
|
bool |
GetInstancePrevTransform ( |
TODO: KevinO cleanup. |
|
void |
GetInstancesMinMaxScale ( |
|
|
TArray< int3... |
GetInstancesOverlappingBox ( |
Returns the instances with instance bounds overlapping the specified box. |
|
TArray< int3... |
GetInstancesOverlappingSphere ( |
Returns the instances with instance bounds overlapping the specified sphere. |
|
bool |
GetInstanceTransform ( |
Get the transform for the instance specified. |
|
void |
GetNavigationPerInstanceTransforms ( |
Handles request from navigation system to gather instance transforms in a specific area box. |
|
int32 |
GetNumRenderInstances() |
Number of instances in the render-side instance buffer. |
|
int32 |
GetRenderIndex ( |
Returns the render instance buffer index. |
|
FVector |
GetTranslatedInstanceSpaceOrigin() |
Get the translated space for instance transforms to be passed to the renderer. |
|
void |
InitInstanceBody ( |
Initializes the body instance for the specified instance of the static mesh. |
|
void |
InitPerInstanceRenderData ( |
Initialize the Per Instance Render Data |
|
bool |
IsInstanceSelected ( |
Check to see if an instance is selected. |
|
bool |
IsInstanceTouchingSelectionBox ( |
|
|
bool |
IsInstanceTouchingSelectionFrustum ( |
|
|
bool |
IsValidInstance ( |
Does the given index map to a valid instance in this component? |
|
void |
OnPostLoadPerInstanceData() |
Creates rendering buffer from serialized data, if any |
|
void |
PartialNavigationUpdate ( |
Request to navigation system to update only part of navmesh occupied by specified instance. |
|
void |
PreAllocateInstancesMemory ( |
Preallocated memory to include the new added instances count, to prevent reallloc during the add operation. |
|
void |
ReleasePerInstanceRenderData() |
Transfers ownership of instance render data to a render thread. |
|
bool |
RemoveInstance ( |
Remove the instance specified. Returns True on success. |
|
bool |
RemoveInstanceInternal ( |
Internal version of RemoveInstance |
|
bool |
RemoveInstances ( |
Remove the instances specified. Returns True on success. |
|
bool |
RemoveInstances ( |
Remove the instances specified. Returns True on success. |
|
void |
SelectInstance ( |
Select/deselect an instance or group of instances. |
|
void |
SerializeRenderData ( |
Serialize instance buffer that is used for rendering. Only for cooked content |
|
void |
SetCullDistances ( |
Sets the fading start and culling end distances for this component. |
|
bool |
SetCustomData ( |
Per Instance Custom Data |
|
bool |
SetCustomDataValue ( |
Update custom data for specific instance |
|
void |
SetNumCustomDataFloats ( |
Update number of custom data entries per instance. |
|
void |
SetRemoveSwap() |
Sets to use RemoveAtSwap on instance removal. |
|
bool |
SupportsPartialNavigationUpdate() |
Does this component support partial navigation updates |
|
bool |
SupportsRemoveSwap() |
Returns true if RemoveAtSwap is enabled. |
|
bool |
UpdateInstances |
Lightweight interface to add, remove and update instances. |
|
bool |
UpdateInstanceTransform ( |
Update the transform for the instance specified. |
Name | Description | ||
---|---|---|---|
|
FPrimitiveSc... |
CreateStaticMeshSceneProxy ( |
Overload this in child implementations that wish to extend Static Mesh or Nanite scene proxy implementations. |
|
void |
GetStaticLightingInfo ( |
|
|
float |
GetTextureStreamingTransformScale() |
Get the scale comming form the component, when computing StreamingTexture data. |
Name | Description | ||
---|---|---|---|
|
bool |
GetMaterialStreamingData ( |
Get material, UV density and bounds for a given material index. |
Name | Description | ||
---|---|---|---|
|
bool |
BuildTextureStreamingDataImpl ( |
Build the data to compute accuracte StreaminTexture data. |
|
bool |
CanEditSimulatePhysics() |
Determines whether or not the simulate physics setting can be edited interactively on this component |
|
void |
CollectPSOPrecacheData ( |
Precache all PSOs which can be used by the component |
|
bool |
ComponentIsTouchingSelectionBox ( |
Determines whether the supplied bounding box intersects with the component. |
|
bool |
ComponentIsTouchingSelectionFrustum ( |
Determines whether the supplied frustum intersects with the component. |
|
bool |
ComponentOverlapComponentImpl ( |
Override this method for custom behavior for ComponentOverlapComponent() |
|
bool |
ComponentOverlapMultiImpl ( |
Override this method for custom behavior for ComponentOverlapMulti() |
|
FPrimitiveSc... |
CreateSceneProxy() |
Creates a proxy to represent the primitive to the scene manager in the rendering thread. |
|
bool |
DoCustomNavigableGeometryExport ( |
Collects custom navigable geometry of component. |
|
FBodyInstanc... |
GetBodyInstance ( |
Returns BodyInstance of the component. |
|
void |
GetLightAndShadowMapMemoryUsage ( |
Returns the light and shadow map memory for this primitive in its out variables. |
|
FMatrix |
GetRenderMatrix() |
Returns the matrix that should be used to render this component. |
|
void |
GetStreamingRenderAssetInfo ( |
Get the StreaminTexture data. |
|
bool |
LineTraceComponent ( |
Trace a ray against just this component. |
|
bool |
OverlapComponent ( |
|
|
bool |
SupportsStaticLighting() |
Whether the component type supports static lighting. |
|
bool |
SweepComponent ( |
Trace a shape against just this component. |
Name | Description | ||
---|---|---|---|
|
FBoxSphereBo... |
CalcBounds ( |
Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size. |
|
void |
OnUpdateTransform ( |
Native callback when this component is moved |
|
void |
PropagateLightingScenarioChange() |
Updates any visuals after the lighting has changed |
Name | Description | ||
---|---|---|---|
|
void |
GetComponentChildElements ( |
Get the logical child elements of this component, if any. |
|
TStructOnSco... |
GetComponentInstanceData() |
Called before we throw away components during RerunConstructionScripts, to cache any data we wish to persist across that operation |
|
FBox |
GetStreamingBounds() |
|
|
bool |
IsHLODRelevant() |
Override to specify that a component is relevant to the HLOD generation. |
|
void |
OnCreatePhysicsState() |
Used to create any physics engine information for this component |
|
void |
OnDestroyPhysicsState() |
Used to shut down and physics engine 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 |
SendRenderInstanceData_Concurrent() |
Called to send instance data for this component to the rendering thread |
|
bool |
ShouldCreatePhysicsState() |
Return true if CreatePhysicsState() should be called. |
Name | Description | ||
---|---|---|---|
|
void |
BeginDestroy() |
Called before destroying the object. |
|
void |
GetResourceSizeEx ( |
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 |
PostEditChangeChainProperty ( |
This alternate version of PostEditChange is called when properties inside structs are modified. |
|
void |
PostEditUndo() |
Called after applying a transaction to the object. |
|
void |
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
void |
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
Name | Description | ||
---|---|---|---|
|
FBox |
GetNavigationBounds() |
Get bounds for navigation octree |
|
void |
GetNavigationData ( |
Prepare navigation modifiers |
|
bool |
IsNavigationRelevant() |
Are modifiers active? |
Name | Description | ||
---|---|---|---|
|
bool |
CanEditSMInstance ( |
Can the given static mesh instance be edited? |
|
bool |
CanMoveSMInstance ( |
Can the given static mesh instance be moved in the world? |
|
bool |
DeleteSMInstances ( |
Attempt to delete the given static mesh instances. |
|
bool |
DuplicateSMInstances ( |
Attempt to duplicate the given static mesh instances, retrieving the IDs of any new instances. |
|
bool |
GetSMInstanceTransform ( |
Attempt to get the transform of the given static mesh instance. |
|
void |
NotifySMInstanceMovementEnded ( |
Notify that the given static mesh instance is done being moved. |
|
void |
NotifySMInstanceMovementOngoing ( |
Notify that the given static mesh instance is currently being moved. |
|
void |
NotifySMInstanceMovementStarted ( |
Notify that the given static mesh instance is about to be moved. |
|
void |
NotifySMInstanceSelectionChanged ( |
Notify that the given static mesh instance selection state has changed. |
|
bool |
SetSMInstanceTransform ( |
Attempt to set the transform of the given static mesh instance. |
Name |
Description |
|
---|---|---|
|
EInstanceDeletionReason |
The reason why a deletion operation is currently happening. |
Name | Description | ||
---|---|---|---|
|
int32 |
AddInstanceWorldSpace ( |
Use AddInstance or AddInstances with bWorldSpace set to true. |