magicfr
Registered
What this Apps is doing
Biological facts
The feel of equilibrium, acceleration, gravity, and so bumps are not feel by the eye but with the inner ear. Which is made of liquid and crystals in circular tunnels.
When the inner hear feels bumps and head motion, it instinctly moves your eyes to soften/filter/remove those bumps.
2 experiences to demonstrate that.
1) when put somebody on a chair, in complete dark, you film his eyes with an infrared caemras, you turn the chair, is eyes will roll too, even if he see nothing
2) this one you can do it yourself, looks at in front of you, at your screen, now shake your head, the vision will not move.
When there is conflicting information from inner hear and eye, you feel strange, it's difficult to focus on the road, and you can have nausea.
What happens in a car
When you are driving, you are looking the road, and all the bumps are filter/corrected by your inner ear, so the viewing of the track is smooth and it's the car cockpit that moving around you.
What happens in a Sim
Because you are sitting on a standing chair/seat, your head is not moving at all, so the inner ear is not working, the eye don't correct the bumps.
That's make 2 issues :
1) you can't focus on the road, the road is shaking and not smooth, it's difficult to drive
2) you can get nausea because you have conflicting information from eyes and inner ear.
How it should be in a Sim
The camera should stayed focus on the track and not locked to car cockpit,that's what my App is doing by filtering bumps and slopes.
Download
RealHeadMotionRFactor2_1.0.zip to download on my website. File is on bottom, it's a google site, so don't click the file but the down arrow on the right.
Instaltion
64bit
Just unzip archive file, then copy RealHeadMotionRFactor2_x64.dll and RealHeadMotionRFactor2.XML to rFactor2\bin64\plugins
32bit
Just unzip archive file, then copy RealHeadMotionRFactor2.dll and RealHeadMotionRFactor2.XML to rFactor2\bin32\plugins
Edition JSON file
in rFactor 2 player.JSON
Put all vibration MultX to 0
Configuration
Just edit RealHeadMotionRFactor2.xml
For both head/eye angle Pitch and Roll, that will be filtered, you can choose between 4 types
LockToCockpit : no filtering, the head will follow cockpit
LockToWorldHorizon : the Head angle is lock to world horizon, so if , for example, you set this type for RollFilter, the head will never roll in world coordinate, the head will stay straight
Inertia : Inertia filtering ( default ), Choose a filter Val between 0.0 and 1.0, It's my preferate choice. If you set to 0 it will be like LockToCockpit ( no filtering ) ,if you set to max 1.0 it will be like LockToWorldHorizon ( maximum filtering )
LinearRegression : another filtering, give different result. Val filter can be above 1.0
Min : if car angle is inferior than Min value, then the filter act like a LockToWorldHorizon.
Val : the filter value
Glance: the max angle glance value put same value than player.JSON ( those are default value ).
Offset : a fixed offset
the XML is read everytime you enter the track, so you can edit while in PIT.
Version
1.0.3: - DLL now load settings from same location than DLL file.
1.0.2 : - runtime library linked as static, should not need vc_redist anymore
1.0.1 : - added fixed offset param
1.0 : -rebooted version, recoded from scratch because main PC is on support, I don't have access to my main source code
- add support for 64bit version

Biological facts
The feel of equilibrium, acceleration, gravity, and so bumps are not feel by the eye but with the inner ear. Which is made of liquid and crystals in circular tunnels.
When the inner hear feels bumps and head motion, it instinctly moves your eyes to soften/filter/remove those bumps.
2 experiences to demonstrate that.
1) when put somebody on a chair, in complete dark, you film his eyes with an infrared caemras, you turn the chair, is eyes will roll too, even if he see nothing
2) this one you can do it yourself, looks at in front of you, at your screen, now shake your head, the vision will not move.
When there is conflicting information from inner hear and eye, you feel strange, it's difficult to focus on the road, and you can have nausea.
What happens in a car
When you are driving, you are looking the road, and all the bumps are filter/corrected by your inner ear, so the viewing of the track is smooth and it's the car cockpit that moving around you.
What happens in a Sim
Because you are sitting on a standing chair/seat, your head is not moving at all, so the inner ear is not working, the eye don't correct the bumps.
That's make 2 issues :
1) you can't focus on the road, the road is shaking and not smooth, it's difficult to drive
2) you can get nausea because you have conflicting information from eyes and inner ear.
How it should be in a Sim
The camera should stayed focus on the track and not locked to car cockpit,that's what my App is doing by filtering bumps and slopes.
Download
RealHeadMotionRFactor2_1.0.zip to download on my website. File is on bottom, it's a google site, so don't click the file but the down arrow on the right.
Instaltion
64bit
Just unzip archive file, then copy RealHeadMotionRFactor2_x64.dll and RealHeadMotionRFactor2.XML to rFactor2\bin64\plugins
32bit
Just unzip archive file, then copy RealHeadMotionRFactor2.dll and RealHeadMotionRFactor2.XML to rFactor2\bin32\plugins
Edition JSON file
in rFactor 2 player.JSON
Code:
"Car Vibration Mult1":0,
"Car Vibration Mult1#":"Primary engine vibration multiplier affects position of cameras attached directly to the car",
"Car Vibration Mult2":0,
"Car Vibration Mult2#":"Secondary engine vibration multiplier affects orientation of cameras attached directly to the car",
"Center Mirror Horiz":0,
"Center Mirror Horiz#":"use Ctrl+Alt+Seat* controls to save by vehicle",
"Center Mirror Size":1,
"Center Mirror Vert":0,
"Cockpit Vibration Freq1":31,
"Cockpit Vibration Freq1#":"Primary rate of vibration affects eyepoint position (higher framerates allow higher rates)",
"Cockpit Vibration Freq2":37,
"Cockpit Vibration Freq2#":"Secondary rate of vibration affects eyepoint orientation",
"Cockpit Vibration Mult1":0,
"Cockpit Vibration Mult1#":"Primary aerodynamic vibration multiplier affects eyepoint position (base magnitude is in VEH or cockpit file)",
"Cockpit Vibration Mult2":0,
"Cockpit Vibration Mult2#":"Secondary aerodynamic vibration multiplier affects eyepoint orientation (base magnitude is in VEH or cockpit file)",
Configuration
Just edit RealHeadMotionRFactor2.xml
Code:
<RealHeadMotion><!-- Type = Inertia / LinearRegression / LockToWorldHorizon / LockToCockpit -->
<Filter Name="PitchFilter" Type="Inertia" Min="0" Val="0.99" Glance="0.4" Offset="-2" />
<Filter Name="RollFilter" Type="Inertia" Min="10" Val="0.90" Glance="0.75" Offset="0" />
</RealHeadMotion>
For both head/eye angle Pitch and Roll, that will be filtered, you can choose between 4 types
LockToCockpit : no filtering, the head will follow cockpit
LockToWorldHorizon : the Head angle is lock to world horizon, so if , for example, you set this type for RollFilter, the head will never roll in world coordinate, the head will stay straight
Inertia : Inertia filtering ( default ), Choose a filter Val between 0.0 and 1.0, It's my preferate choice. If you set to 0 it will be like LockToCockpit ( no filtering ) ,if you set to max 1.0 it will be like LockToWorldHorizon ( maximum filtering )
LinearRegression : another filtering, give different result. Val filter can be above 1.0
Min : if car angle is inferior than Min value, then the filter act like a LockToWorldHorizon.
Val : the filter value
Glance: the max angle glance value put same value than player.JSON ( those are default value ).
Offset : a fixed offset
the XML is read everytime you enter the track, so you can edit while in PIT.
Version
1.0.3: - DLL now load settings from same location than DLL file.
1.0.2 : - runtime library linked as static, should not need vc_redist anymore
1.0.1 : - added fixed offset param
1.0 : -rebooted version, recoded from scratch because main PC is on support, I don't have access to my main source code
- add support for 64bit version

Last edited by a moderator: