UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SuspensionUtility.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "CoreMinimal.h"
7#include "Logging/LogMacros.h"
8#include "Math/UnrealMath.h"
10#include "Templates/Function.h"
11
13
14
16{
17 //
18 // Setup functions
19 //
20
32
37
39 static float ComputeNaturalFrequency(float SpringRate, float SprungMass)
40 {
41 return FMath::Sqrt(SpringRate / SprungMass);
42 }
43
45 static float ComputeCriticalDamping(float SpringRate, float SprungMass)
46 {
47 // critical damping is at point when damping ratio is 1.0
48 float NaturalFrequency = FMath::Sqrt(SpringRate / SprungMass);
49 return 2.f * SprungMass * NaturalFrequency;
50 }
51
53 static float ComputeDamping(float SpringRate, float SprungMass, float DampingRatio)
54 {
55 DampingRatio = FMath::Clamp(DampingRatio, 0.f, 1.f);
56 float NaturalFrequency = FMath::Sqrt(SpringRate / SprungMass);
57 return DampingRatio * 2.f * SprungMass * NaturalFrequency;
58 }
59};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition Array.h:670
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition SuspensionUtility.h:16
static float ComputeNaturalFrequency(float SpringRate, float SprungMass)
Definition SuspensionUtility.h:39
static CHAOSVEHICLESCORE_API bool ComputeSprungMasses(const TArray< FVector > &MassSpringPositions, const float TotalMass, TArray< float > &OutSprungMasses)
Definition SuspensionUtility.cpp:7
static float ComputeCriticalDamping(float SpringRate, float SprungMass)
Definition SuspensionUtility.h:45
static float ComputeDamping(float SpringRate, float SprungMass, float DampingRatio)
Definition SuspensionUtility.h:53