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

#include <IVSmokeSettings.h>

Inheritance diagram for UIVSmokeSettings:
Inheritance graph
Collaboration diagram for UIVSmokeSettings:
Collaboration graph

Public Member Functions

virtual FName GetCategoryName () const override
 
virtual FName GetSectionName () const override
 
UIVSmokeVisualMaterialPresetGetVisualMaterialPreset () const
 
virtual void PostInitProperties () override
 
void SetVisualMaterialPreset (FSoftObjectPath VisualMaterialPresetPath)
 
int32 GetEffectiveMaxSteps () const
 
float GetEffectiveMinStepSize () const
 
bool IsSelfShadowingEnabled () const
 
int32 GetEffectiveLightMarchingSteps () const
 
bool IsExternalShadowingEnabled () const
 
int32 GetEffectiveNumCascades () const
 
int32 GetEffectiveCascadeResolution () const
 
float GetEffectiveShadowMaxDistance () const
 

Static Public Member Functions

static const UIVSmokeSettingsGet ()
 

Public Attributes

bool bEnableSmokeRendering = true
 
bool bShowAdvancedOptions = false
 
EIVSmokeGlobalQuality GlobalQuality = EIVSmokeGlobalQuality::Medium
 
EIVSmokeRayMarchQuality RayMarchQuality = EIVSmokeRayMarchQuality::Medium
 
int32 CustomMaxSteps = 256
 
float CustomMinStepSize = 25.0f
 
EIVSmokeSelfShadowQuality SelfShadowQuality = EIVSmokeSelfShadowQuality::Medium
 
int32 CustomLightMarchingSteps = 6
 
EIVSmokeExternalShadowQuality ExternalShadowQuality = EIVSmokeExternalShadowQuality::Medium
 
int32 CustomNumCascades = 4
 
int32 CustomCascadeResolution = 512
 
float CustomShadowMaxDistance = 50000.0f
 
float SmokeDensityFalloff = 0.2f
 
float SmokeSize = 256.0f
 
FVector WindDirection = FVector(0.00f, 0.00f, 0.1f)
 
float VolumeRangeOffset = 0.1
 
float VolumeEdgeNoiseFadeOffset = 0.1f
 
float VolumeEdgeFadeSharpness = 3.0f
 
bool bEnableScattering = true
 
float ScatterScale = 0.5f
 
float ScatteringAnisotropy = 0.5f
 
bool bOverrideLightDirection = false
 
FVector LightDirectionOverride = FVector(0.0f, 0.0f, 1.0f)
 
bool bOverrideLightColor = false
 
FLinearColor LightColorOverride = FLinearColor::White
 
float ShadowAmbient = 0.2f
 
float LightMarchingDistance = 0.0f
 
float LightMarchingExpFactor = 2.0f
 
float ExternalShadowAmbient = 0.3f
 
bool bEnableVSM = true
 
int32 VSMBlurRadius = 2
 
float ShadowDepthBias = 1.0f
 
bool bCaptureSkeletalMeshes = false
 
float CascadeLogLinearBlend = 0.85f
 
float CascadeBlendRange = 0.1f
 
float VSMMinVariance = 1.0f
 
float VSMLightBleedingReduction = 0.2f
 
bool bEnablePriorityUpdate = false
 
int32 NearCascadeUpdateInterval = 1
 
int32 FarCascadeUpdateInterval = 4
 
float FXAASpanMax = 4.0f
 
float FXAARange = 1.2f
 
float FXAASharpness = 1.7f
 
FSoftObjectPath SmokeVisualMaterialPreset
 
bool bEnableDepthWrite = true
 
float DepthWriteBias = 50.0f
 
float DepthWriteAlphaThreshold = 0.99f
 
bool bShowDebugVolumes = false
 

Detailed Description

Global settings for IVSmoke plugin. Accessible via Project Settings > Plugins > IVSmoke.

These settings affect ALL smoke volumes globally. For per-volume appearance (color, density), use UIVSmokeSmokePreset.

Definition at line 104 of file IVSmokeSettings.h.

Constructor & Destructor Documentation

◆ UIVSmokeSettings()

UIVSmokeSettings::UIVSmokeSettings ( )

Definition at line 10 of file IVSmokeSettings.cpp.

Member Function Documentation

◆ Get()

const UIVSmokeSettings * UIVSmokeSettings::Get ( )
static

Get the singleton settings instance.

Definition at line 15 of file IVSmokeSettings.cpp.

◆ GetCategoryName()

virtual FName UIVSmokeSettings::GetCategoryName ( ) const
inlineoverridevirtual

Definition at line 117 of file IVSmokeSettings.h.

◆ GetEffectiveCascadeResolution()

int32 UIVSmokeSettings::GetEffectiveCascadeResolution ( ) const

Get effective cascade resolution based on quality settings.

Definition at line 125 of file IVSmokeSettings.cpp.

◆ GetEffectiveLightMarchingSteps()

int32 UIVSmokeSettings::GetEffectiveLightMarchingSteps ( ) const

Get effective light marching steps based on quality settings.

Definition at line 84 of file IVSmokeSettings.cpp.

◆ GetEffectiveMaxSteps()

int32 UIVSmokeSettings::GetEffectiveMaxSteps ( ) const

Get effective MaxSteps based on quality settings.

Definition at line 45 of file IVSmokeSettings.cpp.

◆ GetEffectiveMinStepSize()

float UIVSmokeSettings::GetEffectiveMinStepSize ( ) const

Get effective MinStepSize based on quality settings.

Definition at line 58 of file IVSmokeSettings.cpp.

◆ GetEffectiveNumCascades()

int32 UIVSmokeSettings::GetEffectiveNumCascades ( ) const

Get effective number of shadow cascades based on quality settings.

Definition at line 111 of file IVSmokeSettings.cpp.

◆ GetEffectiveShadowMaxDistance()

float UIVSmokeSettings::GetEffectiveShadowMaxDistance ( ) const

Get effective shadow max distance based on quality settings.

Definition at line 139 of file IVSmokeSettings.cpp.

◆ GetSectionName()

virtual FName UIVSmokeSettings::GetSectionName ( ) const
inlineoverridevirtual

Definition at line 118 of file IVSmokeSettings.h.

◆ GetVisualMaterialPreset()

UIVSmokeVisualMaterialPreset * UIVSmokeSettings::GetVisualMaterialPreset ( ) const

Definition at line 152 of file IVSmokeSettings.cpp.

◆ IsExternalShadowingEnabled()

bool UIVSmokeSettings::IsExternalShadowingEnabled ( ) const

Check if external shadowing is enabled based on quality settings.

Definition at line 101 of file IVSmokeSettings.cpp.

◆ IsSelfShadowingEnabled()

bool UIVSmokeSettings::IsSelfShadowingEnabled ( ) const

Check if self-shadowing is enabled based on quality settings.

Definition at line 74 of file IVSmokeSettings.cpp.

◆ PostInitProperties()

void UIVSmokeSettings::PostInitProperties ( )
overridevirtual

Definition at line 177 of file IVSmokeSettings.cpp.

◆ SetVisualMaterialPreset()

void UIVSmokeSettings::SetVisualMaterialPreset ( FSoftObjectPath  VisualMaterialPresetPath)

Change visual material preset data asset.

Definition at line 160 of file IVSmokeSettings.cpp.

Member Data Documentation

◆ bCaptureSkeletalMeshes

bool UIVSmokeSettings::bCaptureSkeletalMeshes = false

Include skeletal meshes (characters) in shadow capture.

Definition at line 327 of file IVSmokeSettings.h.

◆ bEnableDepthWrite

bool UIVSmokeSettings::bEnableDepthWrite = true

Write smoke depth to scene depth buffer for correct translucent sorting. When enabled, particles behind opaque smoke regions are correctly occluded.

Definition at line 384 of file IVSmokeSettings.h.

◆ bEnablePriorityUpdate

bool UIVSmokeSettings::bEnablePriorityUpdate = false

Definition at line 350 of file IVSmokeSettings.h.

◆ bEnableScattering

bool UIVSmokeSettings::bEnableScattering = true

Enable Rayleigh scattering for atmospheric light effects.

Definition at line 264 of file IVSmokeSettings.h.

◆ bEnableSmokeRendering

bool UIVSmokeSettings::bEnableSmokeRendering = true

Enable smoke rendering globally.

Definition at line 138 of file IVSmokeSettings.h.

◆ bEnableVSM

bool UIVSmokeSettings::bEnableVSM = true

Enable Variance Shadow Maps for soft shadows.

Definition at line 315 of file IVSmokeSettings.h.

◆ bOverrideLightColor

bool UIVSmokeSettings::bOverrideLightColor = false

Override light color instead of using scene directional light.

Definition at line 285 of file IVSmokeSettings.h.

◆ bOverrideLightDirection

bool UIVSmokeSettings::bOverrideLightDirection = false

Override light direction instead of using scene directional light.

Definition at line 277 of file IVSmokeSettings.h.

◆ bShowAdvancedOptions

bool UIVSmokeSettings::bShowAdvancedOptions = false

Show advanced options in all categories.

Definition at line 142 of file IVSmokeSettings.h.

◆ bShowDebugVolumes

bool UIVSmokeSettings::bShowDebugVolumes = false

Show debug visualization for smoke volumes.

Definition at line 402 of file IVSmokeSettings.h.

◆ CascadeBlendRange

float UIVSmokeSettings::CascadeBlendRange = 0.1f

Blend region at cascade boundaries (0-0.3).

Definition at line 335 of file IVSmokeSettings.h.

◆ CascadeLogLinearBlend

float UIVSmokeSettings::CascadeLogLinearBlend = 0.85f

Log/Linear cascade split blend (0=linear, 1=logarithmic).

Definition at line 331 of file IVSmokeSettings.h.

◆ CustomCascadeResolution

int32 UIVSmokeSettings::CustomCascadeResolution = 512

Custom: Shadow map resolution per cascade (256-2048).

Definition at line 196 of file IVSmokeSettings.h.

◆ CustomLightMarchingSteps

int32 UIVSmokeSettings::CustomLightMarchingSteps = 6

Custom: Number of light marching steps (1-16).

Definition at line 177 of file IVSmokeSettings.h.

◆ CustomMaxSteps

int32 UIVSmokeSettings::CustomMaxSteps = 256

Custom: Maximum ray marching steps (32-1024).

Definition at line 158 of file IVSmokeSettings.h.

◆ CustomMinStepSize

float UIVSmokeSettings::CustomMinStepSize = 25.0f

Custom: Minimum step size in world units (5-100).

Definition at line 165 of file IVSmokeSettings.h.

◆ CustomNumCascades

int32 UIVSmokeSettings::CustomNumCascades = 4

Custom: Number of shadow cascades (1-6).

Definition at line 189 of file IVSmokeSettings.h.

◆ CustomShadowMaxDistance

float UIVSmokeSettings::CustomShadowMaxDistance = 50000.0f

Custom: Maximum shadow distance in centimeters (1000-100000).

Definition at line 203 of file IVSmokeSettings.h.

◆ DepthWriteAlphaThreshold

float UIVSmokeSettings::DepthWriteAlphaThreshold = 0.99f

Alpha threshold for depth write. Only pixels with alpha >= this value write to depth buffer. Lower values include more semi-transparent areas, higher values only include nearly opaque areas.

Definition at line 395 of file IVSmokeSettings.h.

◆ DepthWriteBias

float UIVSmokeSettings::DepthWriteBias = 50.0f

Depth bias in centimeters. Positive values push depth further from camera.

Definition at line 389 of file IVSmokeSettings.h.

◆ ExternalShadowAmbient

float UIVSmokeSettings::ExternalShadowAmbient = 0.3f

Minimum brightness in externally shadowed areas (0=dark, 1=no shadow).

Definition at line 311 of file IVSmokeSettings.h.

◆ ExternalShadowQuality

EIVSmokeExternalShadowQuality UIVSmokeSettings::ExternalShadowQuality = EIVSmokeExternalShadowQuality::Medium

External shadow quality level.

Definition at line 182 of file IVSmokeSettings.h.

◆ FarCascadeUpdateInterval

int32 UIVSmokeSettings::FarCascadeUpdateInterval = 4

Definition at line 356 of file IVSmokeSettings.h.

◆ FXAARange

float UIVSmokeSettings::FXAARange = 1.2f

FXAA edge detection threshold range.

Definition at line 367 of file IVSmokeSettings.h.

◆ FXAASharpness

float UIVSmokeSettings::FXAASharpness = 1.7f

FXAA sharpness factor.

Definition at line 371 of file IVSmokeSettings.h.

◆ FXAASpanMax

float UIVSmokeSettings::FXAASpanMax = 4.0f

FXAA maximum edge search distance.

Definition at line 363 of file IVSmokeSettings.h.

◆ GlobalQuality

EIVSmokeGlobalQuality UIVSmokeSettings::GlobalQuality = EIVSmokeGlobalQuality::Medium

Global quality preset. Sets all section quality levels at once.

Definition at line 146 of file IVSmokeSettings.h.

◆ LightColorOverride

FLinearColor UIVSmokeSettings::LightColorOverride = FLinearColor::White

Custom light color. Used when bOverrideLightColor is true.

Definition at line 289 of file IVSmokeSettings.h.

◆ LightDirectionOverride

FVector UIVSmokeSettings::LightDirectionOverride = FVector(0.0f, 0.0f, 1.0f)

Custom light direction (normalized). Used when bOverrideLightDirection is true.

Definition at line 281 of file IVSmokeSettings.h.

◆ LightMarchingDistance

float UIVSmokeSettings::LightMarchingDistance = 0.0f

Maximum distance to march toward light (0=no limit).

Definition at line 300 of file IVSmokeSettings.h.

◆ LightMarchingExpFactor

float UIVSmokeSettings::LightMarchingExpFactor = 2.0f

Exponential distribution factor for light marching steps (1=uniform, 2-3=recommended).

Definition at line 304 of file IVSmokeSettings.h.

◆ NearCascadeUpdateInterval

int32 UIVSmokeSettings::NearCascadeUpdateInterval = 1

Definition at line 353 of file IVSmokeSettings.h.

◆ RayMarchQuality

EIVSmokeRayMarchQuality UIVSmokeSettings::RayMarchQuality = EIVSmokeRayMarchQuality::Medium

Ray marching quality level.

Definition at line 151 of file IVSmokeSettings.h.

◆ ScatteringAnisotropy

float UIVSmokeSettings::ScatteringAnisotropy = 0.5f

Anisotropy parameter for Henyey-Greenstein phase function. 0 = isotropic, positive = forward scattering, negative = backward scattering

Definition at line 273 of file IVSmokeSettings.h.

◆ ScatterScale

float UIVSmokeSettings::ScatterScale = 0.5f

Scattering intensity multiplier. Higher = more light scattered through smoke.

Definition at line 268 of file IVSmokeSettings.h.

◆ SelfShadowQuality

EIVSmokeSelfShadowQuality UIVSmokeSettings::SelfShadowQuality = EIVSmokeSelfShadowQuality::Medium

Self-shadow quality level.

Definition at line 170 of file IVSmokeSettings.h.

◆ ShadowAmbient

float UIVSmokeSettings::ShadowAmbient = 0.2f

Minimum brightness in fully shadowed areas (0=dark, 1=no shadow).

Definition at line 296 of file IVSmokeSettings.h.

◆ ShadowDepthBias

float UIVSmokeSettings::ShadowDepthBias = 1.0f

Shadow depth bias to prevent shadow acne.

Definition at line 323 of file IVSmokeSettings.h.

◆ SmokeDensityFalloff

float UIVSmokeSettings::SmokeDensityFalloff = 0.2f

Controls edge softness. Lower = softer edges.

Definition at line 237 of file IVSmokeSettings.h.

◆ SmokeSize

float UIVSmokeSettings::SmokeSize = 256.0f

Scale for noise sampling. Affects smoke detail size.

Definition at line 241 of file IVSmokeSettings.h.

◆ SmokeVisualMaterialPreset

FSoftObjectPath UIVSmokeSettings::SmokeVisualMaterialPreset

Smoke visual material data asset.

Definition at line 378 of file IVSmokeSettings.h.

◆ VolumeEdgeFadeSharpness

float UIVSmokeSettings::VolumeEdgeFadeSharpness = 3.0f

Edge fade sharpness factor.

Definition at line 257 of file IVSmokeSettings.h.

◆ VolumeEdgeNoiseFadeOffset

float UIVSmokeSettings::VolumeEdgeNoiseFadeOffset = 0.1f

Noise-based edge fade offset.

Definition at line 253 of file IVSmokeSettings.h.

◆ VolumeRangeOffset

float UIVSmokeSettings::VolumeRangeOffset = 0.1

Volume edge range offset for density falloff.

Definition at line 249 of file IVSmokeSettings.h.

◆ VSMBlurRadius

int32 UIVSmokeSettings::VSMBlurRadius = 2

VSM blur kernel radius (0=no blur). Higher = softer shadows.

Definition at line 319 of file IVSmokeSettings.h.

◆ VSMLightBleedingReduction

float UIVSmokeSettings::VSMLightBleedingReduction = 0.2f

VSM light bleeding reduction (0=none).

Definition at line 343 of file IVSmokeSettings.h.

◆ VSMMinVariance

float UIVSmokeSettings::VSMMinVariance = 1.0f

Minimum variance for VSM to prevent artifacts.

Definition at line 339 of file IVSmokeSettings.h.

◆ WindDirection

FVector UIVSmokeSettings::WindDirection = FVector(0.00f, 0.00f, 0.1f)

Wind direction and speed for smoke animation.

Definition at line 245 of file IVSmokeSettings.h.


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