12#include "InstancedSkinnedMeshComponent.generated.h"
27 UPROPERTY(EditAnywhere, Category=Instances)
54UE_EXPERIMENTAL(5.6,
"This class is currently extremely experimental and should not be used at this time.")
64 UPROPERTY(EditAnywhere, SkipSerialization, DisplayName="Instances", Category=Instances, meta=(MakeEditWidget=
true, EditFixedOrder))
68 UPROPERTY(EditAnywhere, Category=Instances, AdvancedDisplay)
69 int32 NumCustomDataFloats = 0;
75 UPROPERTY(EditAnywhere, EditFixedSize, SkipSerialization, DisplayName="
Custom Data", Category=Instances, AdvancedDisplay, meta=(EditFixedOrder))
76 TArray<
float> InstanceCustomData;
82 float AnimationMinScreenSize = 0.0f;
85 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Culling)
86 int32 InstanceMinDrawDistance;
89 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Culling)
90 int32 InstanceStartCullDistance;
93 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Culling)
94 int32 InstanceEndCullDistance;
98 uint8 bInheritPerInstanceData : 1;
101 FBox PrimitiveBoundsOverride;
104 bool bIsInstanceDataGPUOnly =
false;
107 int32 NumInstancesGPUOnly = 0;
112 virtual ~UInstancedSkinnedMeshComponent();
127 virtual void OnRegister()
override;
128 virtual void SendRenderInstanceData_Concurrent()
override;
130 virtual bool IsHLODRelevant()
const override;
135 virtual void DestroyRenderState_Concurrent()
override;
167 UFUNCTION(BlueprintCallable, Category =
"Components|InstancedSkinnedMesh")
224 int32 GetNumCustomDataFloats()
const {
return NumCustomDataFloats; }
230 int32 GetMinDrawDistance()
const {
return InstanceMinDrawDistance; }
248 bool bIsInstanceDataApplyCompleted =
true;
261 void ApplyInheritedPerInstanceData(
const UInstancedSkinnedMeshComponent*
InArchetype);
262 bool ShouldInheritPerInstanceData(
const UInstancedSkinnedMeshComponent*
InArchetype)
const;
263 bool ShouldInheritPerInstanceData()
const;
333 Super::AddReferencedObjects(Collector);
334 Collector.AddReferencedObject(SkinnedAsset);
347 bool bHasPerInstanceHitProxies =
false;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
EUpdateTransformFlags
Definition ActorComponent.h:95
ECacheApplyPhase
Definition ComponentInstanceDataCache.h:18
@ BeginCacheForCookedPlatformData
@ IsCachedCookedPlatformDataLoaded
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define UE_EXPERIMENTAL(Version, Message)
Definition CoreMiscDefines.h:369
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELevelTick
Definition EngineBaseTypes.h:70
ETeleportType
Definition EngineTypes.h:2401
return true
Definition ExternalRpcRegistry.cpp:601
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition Archive.h:1208
Definition InstanceDataManager.h:68
Definition InstancedSkinnedMeshComponentHelper.h:13
Definition InstancedSkinnedMeshSceneProxy.h:87
Definition PrimitiveSceneProxy.h:296
Definition UObjectGlobals.h:2492
Definition ActorComponent.h:47
Definition SkeletalRenderPublic.h:85
Definition SkeletalMeshRenderData.h:17
Definition ObjectMacros.h:180
Definition ArrayView.h:139
Definition RefCounting.h:454
Definition SharedPointer.h:692
Definition StructOnScope.h:142
Definition ActorComponent.h:152
Definition AnimBank.h:178
Definition MaterialInterface.h:296
Definition SkinnedAsset.h:47
Definition SkinnedMeshComponent.h:258
Definition Texture.h:1219
Type
Definition RHIFeatureLevel.h:20
ENGINE_API FBox CalcBounds(const FVector &P0, const FVector &P1, const FVector &P2, const FVector &P3)
Definition BezierUtilities.cpp:26
@ false
Definition radaudio_common.h:23
Definition EngineBaseTypes.h:571
Definition AnimBank.h:560
Definition InstanceDataManager.h:20
Definition InstancedSkinnedMeshComponent.h:301
FInstancedSkinnedMeshComponentInstanceData()=default
virtual bool ContainsData() const override
Definition InstancedSkinnedMeshComponent.h:318
virtual void ApplyToComponent(UActorComponent *Component, const ECacheApplyPhase CacheApplyPhase) override
Definition InstancedSkinnedMeshComponent.h:323
virtual ~FInstancedSkinnedMeshComponentInstanceData()=default
virtual void AddReferencedObjects(FReferenceCollector &Collector) override
Definition InstancedSkinnedMeshComponent.h:331
FInstancedSkinnedMeshComponentInstanceData(const UInstancedSkinnedMeshComponent *InComponent)
Definition InstancedSkinnedMeshComponent.h:307
Definition InstancedSkinnedMeshSceneProxyDesc.h:11
Definition InstanceDataTypes.h:19
Definition PrimitiveSceneDesc.h:26
Definition PrimitiveSceneProxyDesc.h:12
Definition UnrealType.h:7001
Definition SceneComponent.h:1743
Definition AnimBank.h:356
bool bIsInstanceDataGPUOnly
Definition AnimBank.h:433
FBox PrimitiveBoundsOverride
Definition AnimBank.h:430
int32 NumInstancesGPUOnly
Definition AnimBank.h:436
Definition InstancedSkinnedMeshComponent.h:24
FSkinnedMeshInstanceData(const FTransform3f &InTransform, uint32 InAnimationIndex)
Definition InstancedSkinnedMeshComponent.h:39
friend FArchive & operator<<(FArchive &Ar, FSkinnedMeshInstanceData &InstanceData)
Definition InstancedSkinnedMeshComponent.h:45
Definition NaniteResources.h:410
Definition ObjectPtr.h:488
Definition BoxSphereBounds.h:25