IVSmoke 1.0
Loading...
Searching...
No Matches
UIVSmokeHoleGeneratorComponent Class Reference

Component that generates hole texture for volumetric smoke. Provides public API for penetration and explosion holes. More...

#include <IVSmokeHoleGeneratorComponent.h>

Inheritance diagram for UIVSmokeHoleGeneratorComponent:
Inheritance graph
Collaboration diagram for UIVSmokeHoleGeneratorComponent:
Collaboration graph

Public Member Functions

virtual void PostInitProperties () override
 
void Reset ()
 
void CreatePenetrationHole (const FVector3f &Origin, const FVector3f &Direction, const uint8 PresetID)
 
void CreateExplosionHole (const FVector3f &Origin, const uint8 PresetID)
 
void RegisterTrackDynamicHole (AActor *TargetActor, const uint8 PresetID)
 
float GetSyncedTime () const
 
FTextureRHIRef GetHoleTextureRHI () const
 
void SetBoxToVoxelAABB ()
 
FORCEINLINE void MarkHoleTextureDirty (const bool bIsDirty=true)
 

Public Attributes

int32 MaxHoles = 128
 
FIntVector VoxelResolution = FIntVector(64, 64, 64)
 
TArray< TEnumAsByte< EObjectTypeQuery > > ObstacleObjectTypes
 
int32 BlurStep = 2
 
FIVSmokeHoleNoiseSettings PenetrationNoise
 
FIVSmokeHoleNoiseSettings ExplosionNoise
 
FIVSmokeHoleNoiseSettings DynamicNoise
 

Protected Member Functions

virtual void BeginPlay () override
 
virtual void TickComponent (const float DeltaTime, const ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const override
 

Detailed Description

Component that generates hole texture for volumetric smoke. Provides public API for penetration and explosion holes.

Definition at line 18 of file IVSmokeHoleGeneratorComponent.h.

Constructor & Destructor Documentation

◆ UIVSmokeHoleGeneratorComponent()

UIVSmokeHoleGeneratorComponent::UIVSmokeHoleGeneratorComponent ( )

Definition at line 23 of file IVSmokeHoleGeneratorComponent.cpp.

Member Function Documentation

◆ BeginPlay()

void UIVSmokeHoleGeneratorComponent::BeginPlay ( )
overrideprotectedvirtual

Definition at line 40 of file IVSmokeHoleGeneratorComponent.cpp.

◆ CreateExplosionHole()

void UIVSmokeHoleGeneratorComponent::CreateExplosionHole ( const FVector3f &  Origin,
const uint8  PresetID 
)

Create explosion hole. Called on server via UIVSmokeHoleRequestComponent.

Definition at line 167 of file IVSmokeHoleGeneratorComponent.cpp.

◆ CreatePenetrationHole()

void UIVSmokeHoleGeneratorComponent::CreatePenetrationHole ( const FVector3f &  Origin,
const FVector3f &  Direction,
const uint8  PresetID 
)

Create penetration hole. Called on server via UIVSmokeHoleRequestComponent.

Definition at line 130 of file IVSmokeHoleGeneratorComponent.cpp.

◆ EndPlay()

void UIVSmokeHoleGeneratorComponent::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overrideprotectedvirtual

Definition at line 96 of file IVSmokeHoleGeneratorComponent.cpp.

◆ GetHoleTextureRHI()

FTextureRHIRef UIVSmokeHoleGeneratorComponent::GetHoleTextureRHI ( ) const

Get Texture as a UTextureRenderTargetVolume to write by.

Definition at line 686 of file IVSmokeHoleGeneratorComponent.cpp.

◆ GetLifetimeReplicatedProps()

void UIVSmokeHoleGeneratorComponent::GetLifetimeReplicatedProps ( TArray< FLifetimeProperty > &  OutLifetimeProps) const
overrideprotectedvirtual

Definition at line 101 of file IVSmokeHoleGeneratorComponent.cpp.

◆ GetSyncedTime()

float UIVSmokeHoleGeneratorComponent::GetSyncedTime ( ) const

Get synchronized server time.

Definition at line 652 of file IVSmokeHoleGeneratorComponent.cpp.

◆ MarkHoleTextureDirty()

FORCEINLINE void UIVSmokeHoleGeneratorComponent::MarkHoleTextureDirty ( const bool  bIsDirty = true)
inline

Set Dirty flag whether GPU updates the texure.

Definition at line 133 of file IVSmokeHoleGeneratorComponent.h.

◆ PostInitProperties()

void UIVSmokeHoleGeneratorComponent::PostInitProperties ( )
overridevirtual

Definition at line 31 of file IVSmokeHoleGeneratorComponent.cpp.

◆ RegisterTrackDynamicHole()

void UIVSmokeHoleGeneratorComponent::RegisterTrackDynamicHole ( AActor *  TargetActor,
const uint8  PresetID 
)

Register dynamic object. Called on server via UIVSmokeHoleRequestComponent.

Definition at line 206 of file IVSmokeHoleGeneratorComponent.cpp.

◆ Reset()

void UIVSmokeHoleGeneratorComponent::Reset ( )

Reset all holes and dynamic subjects to initial state.

Definition at line 110 of file IVSmokeHoleGeneratorComponent.cpp.

◆ SetBoxToVoxelAABB()

void UIVSmokeHoleGeneratorComponent::SetBoxToVoxelAABB ( )

Set BoxExtent and Component Position to VoxelAABB Center.

Definition at line 672 of file IVSmokeHoleGeneratorComponent.cpp.

◆ TickComponent()

void UIVSmokeHoleGeneratorComponent::TickComponent ( const float  DeltaTime,
const ELevelTick  TickType,
FActorComponentTickFunction *  ThisTickFunction 
)
overrideprotectedvirtual

Definition at line 59 of file IVSmokeHoleGeneratorComponent.cpp.

Member Data Documentation

◆ BlurStep

int32 UIVSmokeHoleGeneratorComponent::BlurStep = 2

Blur radius in voxels.

Definition at line 109 of file IVSmokeHoleGeneratorComponent.h.

◆ DynamicNoise

FIVSmokeHoleNoiseSettings UIVSmokeHoleGeneratorComponent::DynamicNoise

Noise settings for dynamic holes.

Definition at line 121 of file IVSmokeHoleGeneratorComponent.h.

◆ ExplosionNoise

FIVSmokeHoleNoiseSettings UIVSmokeHoleGeneratorComponent::ExplosionNoise

Noise settings for explosion holes.

Definition at line 117 of file IVSmokeHoleGeneratorComponent.h.

◆ MaxHoles

int32 UIVSmokeHoleGeneratorComponent::MaxHoles = 128

Maximum number of holes that can be activated.

Definition at line 95 of file IVSmokeHoleGeneratorComponent.h.

◆ ObstacleObjectTypes

TArray<TEnumAsByte<EObjectTypeQuery> > UIVSmokeHoleGeneratorComponent::ObstacleObjectTypes

Maximum number of holes that can be activated.

Definition at line 104 of file IVSmokeHoleGeneratorComponent.h.

◆ PenetrationNoise

FIVSmokeHoleNoiseSettings UIVSmokeHoleGeneratorComponent::PenetrationNoise

Noise settings for penetration holes.

Definition at line 113 of file IVSmokeHoleGeneratorComponent.h.

◆ VoxelResolution

FIntVector UIVSmokeHoleGeneratorComponent::VoxelResolution = FIntVector(64, 64, 64)

Hole voxel volume resolution.

Definition at line 99 of file IVSmokeHoleGeneratorComponent.h.


The documentation for this class was generated from the following files: