p.CollisionParticlesPerObjectFractionDefault

p.CollisionParticlesPerObjectFractionDefault

#Overview

name: p.CollisionParticlesPerObjectFractionDefault

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

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of p.CollisionParticlesPerObjectFractionDefault is to control the fraction of vertices used for collision detection in Geometry Collection objects within Unreal Engine 5’s Chaos physics system.

Regarding the associated variable CollisionParticlesPerObjectFractionDefault:

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/PhysicsProxy/GeometryCollectionPhysicsProxy.cpp:73

Scope: file

Source code excerpt:

float CollisionParticlesPerObjectFractionDefault = 1.0f;
FAutoConsoleVariableRef CVarCollisionParticlesPerObjectFractionDefault(
	TEXT("p.CollisionParticlesPerObjectFractionDefault"), 
	CollisionParticlesPerObjectFractionDefault, 
	TEXT("Fraction of verts"));

bool DisableGeometryCollectionGravity = false;
FAutoConsoleVariableRef CVarGeometryCollectionDisableGravity(
	TEXT("p.GeometryCollectionDisableGravity"),

#Associated Variable and Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/PhysicsProxy/GeometryCollectionPhysicsProxy.cpp:71

Scope: file

Source code excerpt:

}

float CollisionParticlesPerObjectFractionDefault = 1.0f;
FAutoConsoleVariableRef CVarCollisionParticlesPerObjectFractionDefault(
	TEXT("p.CollisionParticlesPerObjectFractionDefault"), 
	CollisionParticlesPerObjectFractionDefault, 
	TEXT("Fraction of verts"));

bool DisableGeometryCollectionGravity = false;
FAutoConsoleVariableRef CVarGeometryCollectionDisableGravity(
	TEXT("p.GeometryCollectionDisableGravity"),
	DisableGeometryCollectionGravity,

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/PhysicsProxy/GeometryCollectionPhysicsProxy.cpp:523

Scope (from outer to inner):

file
function     FGeometryCollectionPhysicsProxy::FGeometryCollectionPhysicsProxy

Source code excerpt:

	, LastSyncCountGT(MAX_uint32)
#endif
	, CollisionParticlesPerObjectFraction(CollisionParticlesPerObjectFractionDefault)
	, PhysicsThreadCollection(Parameters.RestCollection)
	, GameThreadCollection(GameThreadCollectionIn)
	, WorldTransform_External(FTransform::Identity)
	, bIsGameThreadWorldTransformDirty(false)
	, bHasBuiltGeometryOnPT(false)
	, bHasBuiltGeometryOnGT(false)

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/PhysicsProxy/GeometryCollectionPhysicsProxy.cpp:612

Scope (from outer to inner):

file
function     void FGeometryCollectionPhysicsProxy::Initialize

Source code excerpt:

	// Collision vertices down sampling validation.  
	//
	CollisionParticlesPerObjectFraction = Parameters.CollisionSampleFraction * CollisionParticlesPerObjectFractionDefault;
	if (ReportHighParticleFraction > 0)
	{
		for (const FSharedSimulationSizeSpecificData& Data : Parameters.Shared.SizeSpecificData)
		{
			if (ensure(Data.CollisionShapesData.Num()))
			{