UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParticleModuleLight.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
11#include "ParticleModuleLight.generated.h"
12
15class UPointLightComponent;
17
18UCLASS(editinlinenew, hidecategories=Object, MinimalAPI, meta=(DisplayName = "Light"))
20{
22
23
24 UPROPERTY(EditAnywhere, Category=Light)
25 bool bUseInverseSquaredFalloff;
26
31 UPROPERTY(EditAnywhere, Category=Light)
32 bool bAffectsTranslucency;
33
35 UPROPERTY(EditAnywhere, Category = Light, meta = (PinHiddenByDefault, InlineEditConditionToggle))
36 uint32 bOverrideInverseExposureBlend : 1;
37
42 UPROPERTY(EditAnywhere, Transient, Category=Light)
43 bool bPreviewLightRadius;
44
46 UPROPERTY(EditAnywhere, Category=Light)
47 float SpawnFraction;
48
50 UPROPERTY(EditAnywhere, Category=Light)
51 struct FRawDistributionVector ColorScaleOverLife;
52
54 UPROPERTY(EditAnywhere, Category=Light)
55 struct FRawDistributionFloat BrightnessOverLife;
56
58 UPROPERTY(EditAnywhere, Category=Light)
59 struct FRawDistributionFloat RadiusScale;
60
62 UPROPERTY(EditAnywhere, Category=Light)
63 struct FRawDistributionFloat LightExponent;
64
70 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Light, AdvancedDisplay, meta = (UIMin = "0.0", UIMax = "1.0", EditCondition = "bOverrideInverseExposureBlend"))
71 float InverseExposureBlend = 0.0f;
72
78 UPROPERTY(EditAnywhere, AdvancedDisplay, BlueprintReadOnly, Category = Light)
79 FLightingChannels LightingChannels;
80
82 UPROPERTY(BlueprintReadOnly, interp, Category=Light, meta=(UIMin = "0.25", UIMax = "4.0"))
83 float VolumetricScatteringIntensity;
84
86 UPROPERTY(EditAnywhere, Category = Light)
87 bool bHighQualityLights;
88
93 UPROPERTY(EditAnywhere, Category = Light)
94 bool bShadowCastingLights;
95
97 void InitializeDefaults();
98
99 //~ Begin UObject Interface
100#if WITH_EDITOR
101 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
102#endif // WITH_EDITOR
103 virtual void PostInitProperties() override;
104 //~ End UObject Interface
105
106
107 //Begin UParticleModule Interface
108 virtual void Spawn(const FSpawnContext& Context) override;
109 virtual void Update(const FUpdateContext& Context) override;
110 virtual uint32 RequiredBytes(UParticleModuleTypeDataBase* TypeData) override;
111 virtual void SetToSensibleDefaults(UParticleEmitter* Owner) override;
112 virtual EModuleType GetModuleType() const override { return EPMT_Light; }
113 virtual void Render3DPreview(const FPreviewContext& Context) override;
114 //End UParticleModule Interface
115
116 void SpawnEx(const FSpawnContext& Context, struct FRandomStream* InRandomStream);
117
118 virtual bool CanTickInAnyThread() override;
119
120private:
121
122 uint64 SpawnHQLight(const FLightParticlePayload& Payload, const FBaseParticle& Particle, FParticleEmitterInstance* Owner);
123 void UpdateHQLight(UPointLightComponent* PointLightComponent, const FLightParticlePayload& Payload, const FBaseParticle& Particle, int32 ScreenAlignment, FVector ComponentScale, bool bLocalSpace, FSceneInterface* OwnerScene, bool bDoRTUpdate);
124};
125
126
127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
EModuleType
Definition ParticleModule.h:31
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition SceneInterface.h:106
Definition ParticleEmitter.h:98
Definition ParticleModuleLightBase.h:13
Definition ParticleModuleLight.h:20
Definition ParticleModuleTypeDataBase.h:18
Definition ParticleHelper.h:181
Definition ParticleHelper.h:597
Definition EngineTypes.h:562
Definition ParticleEmitterInstances.h:226
float SpawnFraction
Definition ParticleEmitterInstances.h:313
Definition UnrealType.h:6865
Definition RandomStream.h:20
Definition DistributionFloat.h:28
Definition DistributionVector.h:59