Navigation
API > API/Plugins > API/Plugins/MeshPartitionEditor
Variant of the MeshPartition::UPatchModifier which supports multiple instances of the same parameter with different instance locations, to be used with PCG. Instanced patches are approximately as fast to compute as non-instanced patches, but it is substantially faster to add/remove individual instances.
| Name | UInstancedPatchModifier |
| Type | class |
| Header File | /Engine/Plugins/Experimental/MeshPartition/Source/MeshPartitionEditor/Public/Modifiers/MeshPartitionInstancedPatchModifier.h |
| Include Path | #include "Modifiers/MeshPartitionInstancedPatchModifier.h" |
Syntax
UCLASS (MinimalAPI, prioritizeCategories=("Modifier", "Patch"), Meta=(MegaMeshClassVersion="1"))
class UInstancedPatchModifier :
public UE::MeshPartition::UPatchModifier ,
public UE::MeshPartition::ICodeReusableModifier
Inheritance Hierarchy
- FRenderAssetOwnerStreamingState → UPrimitiveComponent → UModifierComponent → UPatchModifier → UInstancedPatchModifier
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPrimitiveComponent → UModifierComponent → UPatchModifier → UInstancedPatchModifier
Implements Interfaces
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IInterface_AsyncCompilation
- INavRelevantInterface
- IPhysicsBodyInstanceOwner
- IPhysicsBodyInstanceOwnerResolver
- IPhysicsComponent
- IModifierBlueprintInterface
- ICodeReusableModifier
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInstancedPatchModifier() |
Modifiers/MeshPartitionInstancedPatchModifier.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDisabledByCode | bool | See ICodeReusableModifier::SetDisabledByCode. | Modifiers/MeshPartitionInstancedPatchModifier.h | |
| Instances | TArray< FVector > | Instance positions in this component's local space | Modifiers/MeshPartitionInstancedPatchModifier.h | |
| InstancesForBackgroundOp | TSharedPtr< const TArray< FVector > > | Cached to avoid copying array on each CreateBackgroundOp when instances have not actually changed. | Modifiers/MeshPartitionInstancedPatchModifier.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddInstances
(
const TArray< FVector >& InNewInstances |
Modifiers/MeshPartitionInstancedPatchModifier.h | ||
void ClearInstances() |
Modifiers/MeshPartitionInstancedPatchModifier.h | ||
int32 NumInstances() |
Modifiers/MeshPartitionInstancedPatchModifier.h |
Public Virtual
Overridden from UModifierComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< FBox > ComputeBounds() |
Begin MeshPartition::UModifierComponent Implementation. | Modifiers/MeshPartitionInstancedPatchModifier.h | |
virtual TSharedPtr< const MeshPartition::IModifierBackgroundOp > CreateBackgroundOp
(
const MeshPartition::EBuildType InBuildType |
Called to prepare for applying the modifier. | Modifiers/MeshPartitionInstancedPatchModifier.h | |
virtual FGuid GetCodeVersionKey() |
Modifiers/MeshPartitionInstancedPatchModifier.h | ||
virtual bool IsTemporarilyDisabledInEditor () |
Returns true if the modifier is temporarily disabled from being processed in any MegaMesh builds. | Modifiers/MeshPartitionInstancedPatchModifier.h |
Overridden from ICodeReusableModifier
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsUsed() |
Can be called to determine whether this reusable modifier ended up actually being used, so that it can be cleaned up by its managing system if not. | Modifiers/MeshPartitionInstancedPatchModifier.h | |
virtual void ResetForReuse() |
Called to prep the modifier for reinitializing with entirely different data. | Modifiers/MeshPartitionInstancedPatchModifier.h | |
virtual void SetDisabledByCode
(
bool bDisabledByCode |
ICodeReusableModifier. | Modifiers/MeshPartitionInstancedPatchModifier.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FBox GetInstanceWorldspaceBounds
(
int InInstanceID |
Modifiers/MeshPartitionInstancedPatchModifier.h | ||
FVector GetInstanceWorldspaceLocation
(
int InInstanceID |
Modifiers/MeshPartitionInstancedPatchModifier.h |
Protected Virtual
Overridden from UModifierComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GatherDependencies
(
MeshPartition::IDependencyInterface& Dependencies |
Gather Dependencies for this modifier, including asset and class dependencies and other relevant data (for example local settings) that affect the modifier apply behavior. | Modifiers/MeshPartitionInstancedPatchModifier.h |