p.Chaos.Joint.MultiDimension

p.Chaos.Joint.MultiDimension

#Overview

name: p.Chaos.Joint.MultiDimension

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.Chaos.Joint.MultiDimension is to control the behavior of joint constraints in the Chaos physics system, specifically related to multi-dimensional joint solving.

This setting variable is primarily used in the Chaos physics system, which is part of Unreal Engine’s experimental physics simulation module. It is referenced in the JointSolverConstraints.cpp file, indicating its relevance to the joint solver constraints subsystem within Chaos.

The value of this variable is set using an FAutoConsoleVariableRef, which means it can be modified at runtime through console commands. Its default value is set to true (1).

The associated variable bChaos_Joint_MultiDimension directly interacts with p.Chaos.Joint.MultiDimension. They share the same value, with bChaos_Joint_MultiDimension being the actual boolean used in the code logic.

Developers must be aware that this variable affects the behavior of joint constraints in the Chaos physics system. When enabled (set to true), it modifies the number of rows in the joint solver constraint data, potentially changing how multi-dimensional joint constraints are solved.

Best practices when using this variable include:

  1. Understanding the implications of enabling or disabling multi-dimensional joint solving in your specific use case.
  2. Testing your physics simulations with both enabled and disabled states to ensure desired behavior.
  3. Being cautious when modifying this variable at runtime, as it may have immediate effects on ongoing physics simulations.

Regarding the associated variable bChaos_Joint_MultiDimension:

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/Joint/JointSolverConstraints.cpp:12

Scope: file

Source code excerpt:


int32 bChaos_Joint_MultiDimension = true;
FAutoConsoleVariableRef CVarChaosJointMultiDimension(TEXT("p.Chaos.Joint.MultiDimension"), bChaos_Joint_MultiDimension, TEXT(""));

namespace Chaos
{

	//
	//////////////////////////////////////////////////////////////////////////

#Associated Variable and Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/Joint/JointSolverConstraints.cpp:11

Scope: file

Source code excerpt:

//PRAGMA_DISABLE_OPTIMIZATION

int32 bChaos_Joint_MultiDimension = true;
FAutoConsoleVariableRef CVarChaosJointMultiDimension(TEXT("p.Chaos.Joint.MultiDimension"), bChaos_Joint_MultiDimension, TEXT(""));

namespace Chaos
{

	//
	//////////////////////////////////////////////////////////////////////////

#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/Joint/JointSolverConstraints.cpp:423

Scope (from outer to inner):

file
namespace    Chaos
function     void FJointSolverConstraints::AddPointPositionConstraint

Source code excerpt:

		}

		if (bChaos_Joint_MultiDimension)
		{
			RowDatas.Last(2).NumRows = 3;
			RowDatas.Last(1).NumRows = 0;
			RowDatas.Last(0).NumRows = 0;
		}
	}