RealHeadMotion 1.0

I think I can detect the camera in rFactor1 with the UpdateGraphiscs function ( which is not working on rFactor2 :( )
Well, if somebody can help me? how I know if player is on cockpit cam?
 
Last edited:
magicfr, as posted over on the rF2 forum, Thank you very much for doing this for rF1, it is AWESOME!!!!!!

Could you please confirm, do I still need to edit cockpit vibration lines in the plr file? I have tried it with original plr file and also edited the plr file, and it seems to work just as well either way, is this because I have head movement turned down in the main menu?
thanks again :)
 
Last edited:
The vibration is something internal to rFactor Engine, some car will use it, some will not.
For example, it seems that open wheelers use it more.
So you should set it to 0 to not be bothered by it.
 
If someone can help me.

In rFactor2 you can check if camera is cockpit in the updateGraphics callback.

But I don't find something similar on rFactor1, somebody knows how to get it?
 
I like yor plugin so much, it's such an enrichment to the the overall driving experience on this old (rF1) horse that I really really hope that you'll get some help and find the solution to make it just perfect. At the moment I don't feel sick in the cockpit anymore rather than watching the swingman or the trackcam :)
Anyway, if you don't get it via 'updateGraphics callback', isn't it maybe a (temporary) solution to implement a hotkey for switching just RealHeadMotion?

Best regards
 
HotKey = DirectInput implementation = long hard just for this :/
I'd prefer have a solution with getting info form the plugin system.
 
@COD
Does the swingCam and trackCam are far from the car?
So maybe I can do an ugly test like this :
if( Distance( cameraPos, carPos ) > 10meters )
cameraType = cockpit.

Or maybe I can have HeadPosition somewhere?
 
I'd say, 1m or so should be enough as head-car distance, also for the cam distances. Only the TV Cam could be a problem (but in my case that wouldn't be a problem 'cause I like the effect in the TV Cam). So it's worth a try, I think...
 
What is the swingcam btw?
the thing is, head cam is not the same position than car.
car position is at center of the car.
cam position it on driver seat.
So I don't know if 1m is enough.
 
If you have a look at a cam-file of a car you'll find 'LocalCam=SWINGMAN' - that's the driving camera / position directly behind the car which is at least a meter from the center of the car. The distances are defined in the cam files (PositionOffset and Radius) and in the *cockpitinfo.ini files (Eyepoint and TVOffset). But you're right, with big cars the distance to the center could be more than a meter, so what about making this parameter configurable in the RealHeadMotion.ini?
 
I don't like the idea of making something hard coded like this.
I'll check again tonight if I can get more info without having to do specific code for each car.
 
Bad news,
I get car position in world coordinate in telemetry update
I get cam position in world coordinate in graphic update

But they are not called at the same rate, so the distance between each position cannot be computed correctly.
But because of the asynchronous call, the positions are not synchronised at the same time, so the distance computed is not good.
Normally, for a fixed camera on the car, for example, the bumper camera, the distance should not changed. But there I got value from 0.7 to 1.9, the faster the car goes the bigger is the error.

So computing the distance is not a good solution too :(
 
Oki,

I manage to find a work around.
In the CheckHW I can "know" when you hit the key for those actions

"CycleDriving"
"CycleOnboard"
"CycleSwingman"
"CycleSpectator"
"CycleTracking"

So my plug reset cam pos and stop working when you hit something else than "CycleDriving", and work again when you press "CycleDriving".

By default when going on track, my plug is activated.

So added version 1.01 on my web site.

Cheers,
Seb
 
I don't know how I missed this one in rF1 for 6 years! I little masterpiece, this is. I have long bitched silently that motion of the vehicle should not translate into motion of the environment. The vestibular system of the inner ear that causes the eyes to compensate for head movement (called the vestibulo-ocular reflex) should keep the track, scenery and horizon essentially stable (relatively speaking) and level (I do agree with Msr. Tixier's horizon adjustment for high-bank speedways though). Both rF1 and rF2 try too hard to translate movement of the car on the track to the screen by moving the environment, and that is just plain wrong. Moreover, it puts guys like me, with old eyes, at an unrealistic disadvantage. Another aspect of human vision compromised by this shaky-world method of "simulating" movement is the eyes' means of scanning from one point of focus to the next. The eye does not move smoothly when scanning or redirecting focus but jumps extremely quickly from one point to the next in movements called "saccades". When any successive point of interest to the viewer on track is constantly in motion, it becomes extremely fatiguing to try and obtain any focus. The point is that this is not a simulation but a misguided fabrication. It kind of reminds me of phony earthquakes in movies where they shake the cameras and the actors stumble around so unconvincingly as things are knocked over around them. Sébastien Tixier's plugin simulates the human experience more accurately. Love it.
 
Last edited:
I will not, it's too complicated, I would have to parse the PLR file etc... too much effort for so few people using it.
 
I wrote a method to get value of param from file. You just give file name and name of parameter as arguments. I'm using it in my LVplugin and rfAA plugin. I can send you one.
It is quite simply code, but for sure it may save some time in case you change your mind.


with regards.
 
Thanks you, but I started to work on a new version of my plug, so I think I will let this version like it is unless I received lot of complains :)
 
I've tested this plugin a bit and must say that additional feeling about acceleration is impressive.
but I found single glitch. Looks like head levelling doesn't follow the car. It is very well vissible on tracks with rapidly changing elevations (like Algarve). When car goes uphill, car pitch is changing but head doesn't follow this change immediately In real live, head with pitch up/down following a car and traditionally reacts on forces.

I found some related descriptions in config file but have no idea what to change to make it better.
Please try it on Algarve or similar track. You will get what I want to report, I'm sure.
 
MAxym : Read the explaination on my website carrefully again ;) It's normal that the head is not following the elevation exactly.
If you want to reduce this effect, increase PitchFactorNeutral value by some factor, for example multiply by 2 to start.
Cheers,
 
Thanx, I've missed main page of plugin cause link reefers to page of specific version
However I didn' find explanation why it happens. To me, If car get some pitch (by starting to go uphill), a head follows this pitch immediately (it is connected with car by a body) and is only affected by some pitch acceleration (which usually is to low to affect head direction in car coordinates).
It's possible that I'm still thinking about head/eyes position when you simulates inner ear. But still car pitch change shouldn't affect inner ear much enough to force me to watch my knees ;)

I will try given value. hope it will not affect rest of behaviour.
 
You didn't read carrefully ;)

There's a part in your head, the inner ear, that move head/eye unconsciously,it's the vesitbulo ocular reflexes. That tend to have vision stablized on driver horizon, driver horizon is based on what the dirver see in the world. That's why the head/eye are not following bumps instantly.

Anyway, in my plug it's configurable I gave you the values to change it :)

Cheers,
Seb
 
There's a part in your head, the inner ear, that move head/eye unconsciously,it's the vesitbulo ocular reflexes. That tend to have vision stabilized on driver horizon, driver horizon is based on what the dirver see in the world. That's why the head/eye are not following bumps instantly.

I understand this part and I agree with this. But when car changes direction, driver changes it too - immediately. So the behaviour I found in game doesn't match description (to me). We are not talking about bumps but hills. I know that inner ear reacts on this somehow cause it changes position in relation to gravity point, but eyes follows view of cocpit rotating (ie going up a hill).

Anyway, in my plug it's configurable I gave you the values to change it

I'll do it cause I like result of this plugin. I just afraid that changing some params there will be unneeded side effects in other situations. Also description of params are not enough to me to decide on my own which one I should change (PitchFactorNeutral is not described at all).

BTW: In settings, calculating pitch based on acceleration is disabled. What is intention of such setting?

with regards
 
I understand this part and I agree with this. But when car changes direction, driver changes it too - immediately.
Nope, neck is flexible and if you didn't have muscles, your head will wobble all other the place.
The inner ear is using those muscle to try to keep the head and eye stabilized. So in low vibration bumps, the head and eye stay still when the car leaning front left right.
For big slopes hill lean, when the brain detect that horizon has changed, the head/eye are stabilizing to the new horizon direction. But this detection is not immediate and certainly don't change like the car because it's based on what the driver is focusing, in our case, the track which is not moving at all.
The factor I told you to change is how I control the change of horizon where the inner ear is stabilizing.

I'll do it cause I like result of this plugin. I just afraid that changing some params there will be unneeded side effects in other situations. Also description of params are not enough to me to decide on my own which one I should change (PitchFactorNeutral is not described at all).
Again you must read more carrfully, the neutral params is describe at line 16 of ini file.

BTW: In settings, calculating pitch based on acceleration is disabled. What is intention of such setting?
My mistake, I may have put a test ini file in the zip file. I'll check that this evening, I'm at office right now.
 
line 16
The neutral value is to have a different speed when the head is going back to neutral

Indeed there is some information, however it wasn't clear to me that it is what I'm want looking for. Maybe language barrier. Thanx for explanation.
 
Oki ,it's you want more detail, I will gladly help you.

The stabilizer work with the focused horizon, which is not moving as fast and jerky as the car, with those 4 factor I control the horizon changing
horizon pitch:
PitchFactor = 0.001
PitchFactorNeutral = 0.005

Horizon roll
RollFactor = 0.01
RollFactorNeutral = 0.02

The value is at what speed I'm allow to change the horizon angle.
The slower the more filtering, the bigger the less filtered the more immediate .
The XXXXXneutral control the speed when the horizon tend to go to neutral or same horizon that car, the other param is to control speed when stabilizing horizon go away from car horizon.

If you want faster more immediate behavior, increase the value. but you will have less filtering.

Cheers,
Seb
 
Thanks a lot for fixing the 'cam-problem' - I reconfigured my button settings and everythings fine now :)
 
a sincere thank you for this little masterpiece! it sure makes the overall feel much much better! i hope i wont be impolite if i make a little request... i often use a game pad and it gets quite difficult to make small corrections when steering. Race07 has a function which devides the analog stick movement to both left and right directions in three sectors with different steering sensitivities (at least thats the impression i get. dont know if i describe this correctly). so in small movements of the stick the steering wheel moves less and the movement gets more intense and the steering more "hard" when the stick approches its boundaries on the pad. In the controller.ini file the description is like this:

Analog interpolate sector1="1.70000"
Analog interpolate sector2="1.90000"
Analog interpolate sector3="2.10000"

no idea if this is possible but if u could look into it, i would be really greatfull!
thx in advance for your time and effort!
 
I've tested this plugin a bit and must say that additional feeling about acceleration is impressive.
but I found single glitch. Looks like head levelling doesn't follow the car. It is very well vissible on tracks with rapidly changing elevations (like Algarve). When car goes uphill, car pitch is changing but head doesn't follow this change immediately In real live, head with pitch up/down following a car and traditionally reacts on forces.

I found some related descriptions in config file but have no idea what to change to make it better.
Please try it on Algarve or similar track. You will get what I want to report, I'm sure.

Finally someone note this. I try to explain this since the first version to rf2 but can not make the developer understand me because of my english i believe.
There is a video on this post. Looks like i´m nor using seat belt and start to floating in air on downhill for a few moments.
On Spa, at eau rouge on full speed looks like i´m trying to suck my own dick while driving.
I can´t understand the instructions, so, if you find a good setting parameters please share with me.
https://community.racesimcentral.ne...n-Plugin-0-1beta?p=41478&viewfull=1#post41478
 
Hi,
What is the relation with my plug?


hey! sorry for the misunderstanding.. no relation at all. i just saw this: "I will doing a common code platform + several game plugin ( rF1,rf2,iRacing )" and i thought to make a request for a new plugin, if i may..:) sorry for the buzz!
 
Finally I found solution by limiting pitch angle to +/- 7 degrees.
Without it my virtual head behaves like on movie bellow.
I put videos showing how it behaves in rf before and after change maybe today evening.

 

Back
Top