Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Components
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UActorComponent
- USceneComponent
- UPrimitiveComponent
- UMeshComponent
- UStaticMeshComponent
- UInstancedStaticMeshComponent
- UHierarchicalInstancedStaticMeshComponent
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Components/HierarchicalInstancedStaticMeshComponent.h |
Include | #include "Components/HierarchicalInstancedStaticMeshComponent.h" |
Syntax
UCLASS (ClassGroup=Rendering, Meta=(BlueprintSpawnableComponent), MinimalAPI)
class UHierarchicalInstancedStaticMeshComponent : public UInstancedStaticMeshComponent
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FBox | AccumulatedNavigationDirtyArea | |
![]() |
TArray< FBox > | AccumulatedNavigationDirtyAreas | |
![]() |
bool: 1 | bAutoRebuildTreeOnInstanceChanges | |
![]() |
bool: 1 | bCanEnableDensityScaling | In Editor mode we might disable the density scaling for edition |
![]() |
bool: 1 | bConcurrentChanges | |
![]() ![]() |
uint32: 1 | bEnableDensityScaling | Enable for detail meshes that don't really affect the game. |
![]() |
bool: 1 | bIsAsyncBuilding | |
![]() |
bool: 1 | bIsOutOfDate | |
![]() |
FGraphEventArray | BuildTreeAsyncTasks | |
![]() ![]() |
FBox | BuiltInstanceBounds | Bounding box of any built instances (cached from the ClusterTree) |
![]() ![]() |
uint32: 1 | bUseTranslatedInstanceSpace | If true then we allow a translated space when building the cluster tree. |
![]() ![]() |
FBoxSphereBounds | CacheMeshExtendedBounds | The last mesh bounds that was cache. |
![]() |
TSharedPtr< TArray< FClusterNode >, ESPMode::ThreadSafe > | ClusterTreePtr | |
![]() |
float | CurrentDensityScaling | Current value of density scaling applied to this component. |
![]() |
friend | FClusterBuilder | |
![]() |
friend | FInstancedLightMap2D | |
![]() |
friend | FInstancedShadowMap2D | |
![]() |
friend | FStaticLightingTextureMapping_InstancedStaticMesh | |
![]() ![]() |
int32 | InstanceCountToRender | Instances to render (including removed one until the build is complete) |
![]() ![]() |
int32 | NumBuiltInstances | The number of instances in the ClusterTree. Subsequent instances will always be rendered. |
![]() |
int32 | NumBuiltRenderInstances | Normally equal to NumBuiltInstances, but can be lower if density scaling is in effect. |
![]() ![]() |
int32 | OcclusionLayerNumNodes | The number of nodes in the occlusion layer. |
![]() ![]() |
TArray< int32 > | SortedInstances | Table for remapping instances from cluster tree to PerInstanceSMData order. |
![]() ![]() |
FVector | TranslatedInstanceSpaceOrigin | Origin of the translated space used when building the cluster tree. |
![]() ![]() |
FBox | UnbuiltInstanceBounds | Bounding box of any unbuilt instances. |
![]() ![]() |
TArray< FBox > | UnbuiltInstanceBoundsList | Bounds of each individual unbuilt instance, used for LOD calculation. |
![]() |
EHISMViewRelevanceType | ViewRelevanceType |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UHierarchicalInstancedStaticMeshComponent
(
const FObjectInitializer& ObjectInitializer |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
float | Average number of instances per leaf | |
![]() |
void | ApplyBuildTree
(
FClusterBuilder& Builder, |
|
![]() |
void | ApplyBuildTreeAsync
(
ENamedThreads::Type CurrentThread, |
Apply the results of the async build. |
![]() |
void | ApplyEmpty () |
|
![]() |
void | BuildTree () |
|
![]() |
void | ||
![]() |
bool | BuildTreeIfOutdated
(
bool Async, |
|
![]() ![]() |
FVector | ||
![]() |
int32 | Heuristic for the number of leaves in the tree | |
![]() |
void | ||
![]() ![]() |
FVector | ||
![]() ![]() |
FBox | GetClusterTreeBounds
(
TArray< FClusterNode > const& InClusterTree, |
|
![]() ![]() |
void | GetInstanceTransforms
(
TArray< FMatrix >& InstanceTransforms, |
|
![]() ![]() |
int32 | GetOverlappingBoxCount
(
const FBox& Box |
Get the number of instances that overlap a given box |
![]() ![]() |
void | GetOverlappingBoxTransforms
(
const FBox& Box, |
Get the transforms of instances inside the provided box |
![]() ![]() |
int32 | GetOverlappingSphereCount
(
const FSphere& Sphere |
Get the number of instances that overlap a given sphere |
![]() ![]() |
void | GetTree
(
TArray< FClusterNode >& OutClusterTree |
|
![]() |
int32 | GetVertsForLOD
(
int32 LODIndex |
Gets and approximate number of verts for each LOD to generate heuristics |
![]() ![]() |
EHISMViewRelevanceType | ||
![]() |
void | ||
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() |
void | For testing, prints some stats after any kind of build | |
![]() |
void | RemoveInstancesInternal
(
TConstArrayView< int32 > InstanceIndices |
Removes specified instances |
![]() |
void | SetPerInstanceLightMapAndEditorData
(
FStaticMeshInstanceData& PerInstanceData, |
|
![]() |
void | Will apply current density scaling, if enabled |
Overridden from UInstancedStaticMeshComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
int32 | AddInstance
(
const FTransform& InstanceTransform, |
Add an instance to this component. |
![]() ![]() |
TArray< int32 > | AddInstances
(
const TArray< FTransform >& InstanceTransforms, |
Add multiple instances to this component. |
![]() ![]() |
void | ApplyComponentInstanceData
(
FInstancedStaticMeshComponentInstanceData* ComponentInstanceData |
Applies the cached component instance data to a newly blueprint constructed component. |
![]() ![]() |
bool | BatchUpdateInstancesData
(
int32 StartInstanceIndex, |
|
![]() ![]() |
bool | BatchUpdateInstancesTransform
(
int32 StartInstanceIndex, |
Update the transform for a number of instances. |
![]() ![]() |
bool | BatchUpdateInstancesTransforms
(
int32 StartInstanceIndex, |
This is array view version of the UFUNCTION, blueprints do not support ArrayViews at the time of adding this one |
![]() ![]() |
bool | BatchUpdateInstancesTransforms
(
int32 StartInstanceIndex, |
Update the transform for an array of instances. |
![]() ![]() |
void | BuildComponentInstanceData
(
ERHIFeatureLevel::Type FeatureLevel, |
|
![]() ![]() |
void | Clear all instances being rendered by this component. | |
![]() ![]() ![]() |
TArray< int32 > | GetInstancesOverlappingBox
(
const FBox& Box, |
Returns the instances with instance bounds overlapping the specified box. |
![]() ![]() ![]() |
TArray< int32 > | GetInstancesOverlappingSphere
(
const FVector& Center, |
Returns the instances with instance bounds overlapping the specified sphere. |
![]() ![]() ![]() |
void | GetNavigationPerInstanceTransforms
(
const FBox& AreaBox, |
Handles request from navigation system to gather instance transforms in a specific area box. |
![]() ![]() ![]() |
int32 | Number of instances in the render-side instance buffer. | |
![]() ![]() ![]() |
FVector | Get the translated space for instance transforms to be passed to the renderer. | |
![]() ![]() |
void | Creates rendering buffer from serialized data, if any | |
![]() ![]() |
void | PartialNavigationUpdate
(
int32 InstanceIdx |
Request to navigation system to update only part of navmesh occupied by specified instance. |
![]() ![]() |
void | PreAllocateInstancesMemory
(
int32 AddedInstanceCount |
Preallocated memory to include the new added instances count, to prevent reallloc during the add operation. |
![]() ![]() |
bool | RemoveInstance
(
int32 InstanceIndex |
Remove the instance specified. Returns True on success. |
![]() ![]() |
bool | RemoveInstances
(
const TArray< int32 >& InstancesToRemove |
Remove the instances specified. Returns True on success. |
![]() ![]() |
bool | RemoveInstances
(
const TArray< int32 >& InstancesToRemove, |
Remove the instances specified. Returns True on success. |
![]() ![]() |
bool | SetCustomData
(
int32 InstanceIndex, |
Per Instance Custom Data |
![]() ![]() |
bool | SetCustomDataValue
(
int32 InstanceIndex, |
Update custom data for specific instance |
![]() ![]() ![]() |
bool | Does this component support partial navigation updates | |
![]() ![]() ![]() |
bool | Returns true if RemoveAtSwap is enabled. | |
![]() ![]() |
bool | UpdateInstanceTransform
(
int32 InstanceIndex, |
Update the transform for the instance specified. |
Overridden from UStaticMeshComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FPrimitiveSceneProxy * | CreateStaticMeshSceneProxy
(
Nanite::FMaterialAudit& NaniteMaterials, |
Overload this in child implementations that wish to extend Static Mesh or Nanite scene proxy implementations. |
![]() ![]() |
void |
Overridden from UPrimitiveComponent
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FPrimitiveSceneProxy * | Creates a proxy to represent the primitive to the scene manager in the rendering thread. |
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. |
![]() ![]() |
void | Updates any visuals after the lighting has changed |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
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 | PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
This alternate version of PostEditChange is called when properties inside structs are modified. |
![]() ![]() |
void | Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization | |
![]() ![]() |
void | PostEditUndo () |
Called after applying a transaction to the object. |
![]() ![]() |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
![]() ![]() |
void | Handles reading, writing, and reference collecting using FArchive. |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FClusterBuilder | ||
![]() |
FClusterTree |