back

ShakeIt Formulae JavaScript

Variations on these are reused among ShakeIt profiles

AbsAcc
applied to AccelerationSway and AccelerationSurge for ProxyL

high-pass IIR
Generate low-pass IIR values, but return differences between
new samples and previous low-pass values.

low-pass IIR
Discrete IIR is basically a modified rolling average,
where part of that value is each time replaced by
some fraction of the difference between a new sample and previous value.

proxyL
In new SimHub, inline code to estimate wheel load
from AccelerationSway and AccelerationSurge using AbsAcc()

Loaded wheel slip
Applies proxyL to proxyS

noisy
Applies Gamma 0.50 to noise() applied to ProxyS/grip

proxyS
SimHub WHEELS SLIP effect with specific Gain and Threshold:
... exported as a property: 

tire haptic
Scales noisy, which gets modulated by Loaded wheel slip

AC proxyL
tweak unportable GameRawData.Physics.WheelLoad
 
AC proxyS
tweak unportable GameRawData.Physics.WheelSlip
 
AC proxy_G
tweak unportable GameRawData.Physics.AccG
 
proxy_G from OrientationYaw and SpeedKmh
applys low-pass IIR to yaw and speed changes.
This is the original proxy for accelerations,
before SimHub added (AC-specific) acceleration properties,
then eventually AccelerationSurge and AccelerationSway e.g. for harness tensioners.
 
proxyG from AccelerationSurge and AccelerationSway
portable acceleration properties in recend SimHub versions
 
proxyL from proxy_G or AC property
estimate each corner wheel load from all 4 proxy_G values
By default, each wheel is supposed to have 25% load.
For 100% (braking) deceleration, each front wheel would have 50% load
and rear wheels would be fully unloaded. For some peak braking while turning,
one front wheel could have 100% load.
 
proxyL from AbsAcc
estimate proxyL from AbsAcc, AccelerationSurge, AccelerationSway properties
 
Loaded WheelSlip
apply proxyL to proxyS or GameRawData.Physics.WheelSlip property
 
Unloaded rear WheelSlip (trailing oversteer)
apply (- rear proxyL) to rear proxyS properties
 
Unloaded WheelSlip (trailing oversteer) from proxy_G
apply (front - rear proxy_G) to rear proxyS properties
 
Loaded over, understeer from proxyLS
correlated front corner proxyLS, rear corner proxyLS properties
 
gated under, oversteer
uses proxyS and AbsAcc, sorting acceleration from deceleration
 
under, oversteer
uses proxyS and AbsAcc, but neglects to recover sign to sort acceleration from deceleration
 
mix slips and oversteer
mixes proxyS, UnderOversteer and LoadedSlip
 
joystick
uses InputStatus.JoystickPlugin.SideWinder_Precision_2_Joystick_B07
and JoystickPlugin.SideWinder_Precision_2_Joystick_Slider0
from Controls and events plugin, which enables HID device events as properties.
 
Brake pedal tactile: rotor runout and road noise
rotor runout for low pedal effort,
road noise for higher pedal effort.
 

property portability

A year ago, SimHub lacked properties for lateral accelerations.
Consequently those were derived from changes in the OrientationYaw property.
SimHub subsequently made GameRawData.Physics.Acc available in AC but not elsewhere.
The profile version currently on GitHub uses those unportable properties.
SimHub now has GameData.Accelerations that seeemingly are available for most games.
Here is a comparison of the original formulae:

.. and SimHub's properties, rescaled:

.. where Front right is deceleration, Rear right is acceleration,
Front left is right G and Rear left is left G.
While agreement between these implementations is acceptable,
neither acceleration and deceleration
  nor left and right G should ever be simultaneously positive.
Whether observed violations are plotting artifacts
  or actual property implementation bugs is unknown.

telemetry proxies

Some telemetry which can be helpful for generating driving aid effects
is unavailable from some games.
Profile proliferation was driven by ad hoc experiments for improving that telemetry.
proxyG
lateral acceleration can be derived from changes in yaw.
This proxy is liable to jitter distortion if time between yaws samples varies.
After accounting for jitter, various derivations of proxyG are acceptably comparable.
proxyL
Wheel loads can be roughly estimated from accelerations if otherwise unavailable.
Here are simultaneous plots, first from Assetto Corsa GameRawData.Physics.WheelLoad0[1-4]:


... then a proxy for loads estimated from accelerations:

proxyS
Wheel slips can be calculated from vehicle and wheel speeds, if available.
iRacing wheel slip is estimated from relative changes between engine and vehicle speeds,
so relevant only for driven wheels.

 

 

 

 

 

 

 

 

 

 

 
maintained by blekenbleu