p.GeometryCollection.TransformTolerance

p.GeometryCollection.TransformTolerance

#Overview

name: p.GeometryCollection.TransformTolerance

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 p.GeometryCollection.TransformTolerance is to set a tolerance value for detecting changes in transforms within the Geometry Collection system of Unreal Engine 5. This setting is primarily used in the physics simulation and rendering of Geometry Collections.

Regarding the associated variable GeometryCollectionTransformTolerance:

#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:122

Scope: file

Source code excerpt:

float GeometryCollectionTransformTolerance = 0.001f;
FAutoConsoleVariableRef CVarGeometryCollectionTransformTolerance(
	TEXT("p.GeometryCollection.TransformTolerance"),
	GeometryCollectionTransformTolerance,
	TEXT("Tolerance to detect if a transform has changed"));

float GeometryCollectionPositionUpdateTolerance = UE_KINDA_SMALL_NUMBER;
FAutoConsoleVariableRef CVarGeometryCollectionPositionUpdateTolerance(
	TEXT("p.GeometryCollection.PositionUpdateTolerance"),

#Associated Variable and Callsites

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

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

Scope: file

Source code excerpt:

	TEXT("When true, force diagonal inertia for GCs in their local space by simply dropping off-diagonal terms"));

float GeometryCollectionTransformTolerance = 0.001f;
FAutoConsoleVariableRef CVarGeometryCollectionTransformTolerance(
	TEXT("p.GeometryCollection.TransformTolerance"),
	GeometryCollectionTransformTolerance,
	TEXT("Tolerance to detect if a transform has changed"));

float GeometryCollectionPositionUpdateTolerance = UE_KINDA_SMALL_NUMBER;
FAutoConsoleVariableRef CVarGeometryCollectionPositionUpdateTolerance(
	TEXT("p.GeometryCollection.PositionUpdateTolerance"),
	GeometryCollectionPositionUpdateTolerance,

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

Scope (from outer to inner):

file
function     bool FGeometryCollectionPhysicsProxy::RebaseParticleGameThreadCollectionTransformOnNewWorldTransform_External

Source code excerpt:

		NewTransform = ParticleMassToLocal.Inverse() * ComponentScaleTransform * ParticleMassToLocal * NewTransform;
	}
	if (!NewTransform.Equals(FTransform(GameThreadCollection.GetTransform(TransformIndex)), GeometryCollectionTransformTolerance))
	{
		bHasDifferentTransforms = true;
		GameThreadCollection.SetTransform(TransformIndex, FTransform3f(NewTransform));
	}
	return bHasDifferentTransforms;
}