r.MeshParticle.MinDetailModeForMotionBlur

r.MeshParticle.MinDetailModeForMotionBlur

#Overview

name: r.MeshParticle.MinDetailModeForMotionBlur

This variable is created as a Console Variable (cvar).

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of r.MeshParticle.MinDetailModeForMotionBlur is to control the minimum detail mode at which mesh particles will emit motion blur in Unreal Engine’s rendering system.

This setting variable is primarily used by the particle system within Unreal Engine’s rendering module. Specifically, it’s utilized in the mesh particle subsystem to determine when motion blur should be applied to mesh particles.

The value of this variable is set through a console variable (CVarMinDetailModeForMeshParticleMotionBlur) in the engine’s configuration system. It can be modified at runtime or set in configuration files.

The associated variable CVarMinDetailModeForMeshParticleMotionBlur directly interacts with r.MeshParticle.MinDetailModeForMotionBlur. They share the same value and purpose.

Developers must be aware that:

  1. The variable uses integer values corresponding to different detail modes (Low = 0, Med = 1, High = 2, Max = 3).
  2. Setting the value to -1 disables mesh particle motion blur entirely.
  3. The default value is -1, meaning mesh particle motion blur is disabled by default.

Best practices when using this variable include:

  1. Consider performance implications when enabling mesh particle motion blur, especially on lower-end hardware.
  2. Use this setting in conjunction with overall graphics quality settings to maintain consistent visual quality and performance.
  3. Test thoroughly at different detail levels to ensure the desired visual effect is achieved without significant performance impact.

Regarding the associated variable CVarMinDetailModeForMeshParticleMotionBlur:

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Particles/ParticleModules.cpp:3366

Scope: file

Source code excerpt:

-----------------------------------------------------------------------------*/
static TAutoConsoleVariable<int32> CVarMinDetailModeForMeshParticleMotionBlur(
	TEXT("r.MeshParticle.MinDetailModeForMotionBlur"),
	-1,
	TEXT("Sets the minimum detail mode before mesh particles emit motion blur (Low  = 0, Med = 1, High = 2, Max = 3). ")
	TEXT("Set to -1 to disable mesh particles motion blur entirely. Defaults to -1.")
	);

int32 UParticleModuleTypeDataMesh::GetCurrentDetailMode()

#Associated Variable and Callsites

This variable is associated with another variable named CVarMinDetailModeForMeshParticleMotionBlur. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Particles/ParticleModules.cpp:3365

Scope: file

Source code excerpt:

	UParticleModuleTypeDataMesh implementation.
-----------------------------------------------------------------------------*/
static TAutoConsoleVariable<int32> CVarMinDetailModeForMeshParticleMotionBlur(
	TEXT("r.MeshParticle.MinDetailModeForMotionBlur"),
	-1,
	TEXT("Sets the minimum detail mode before mesh particles emit motion blur (Low  = 0, Med = 1, High = 2, Max = 3). ")
	TEXT("Set to -1 to disable mesh particles motion blur entirely. Defaults to -1.")
	);

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Particles/ParticleModules.cpp:3379

Scope (from outer to inner):

file
function     int32 UParticleModuleTypeDataMesh::GetMeshParticleMotionBlurMinDetailMode

Source code excerpt:

int32 UParticleModuleTypeDataMesh::GetMeshParticleMotionBlurMinDetailMode()
{
	return CVarMinDetailModeForMeshParticleMotionBlur.GetValueOnAnyThread();
}

UParticleModuleTypeDataMesh::UParticleModuleTypeDataMesh(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)
{
	CastShadows = false;