Resource icon

AC Head Physics 2.2.3

Login or Register an account to download this content
Donate
Buy me a coffee via Paypal

Please support this modder with a small donation.

INTRODUCTION
Your head, neck, body, inner ear, brain, and eyes together provide phenomenal vibration isolation and image stabilization. This is the one thing I have felt was missing from Assetto since day 1, especially in VR. I was thrilled to learn that CSP v0.2.0 provides full control over the head motion in Assetto Corsa, allowing me to finally create this. :)

AC Head Physics is a scratch-written physics engine that transfers g-forces and torques from the car to your head through a spring-like "neck", including all 6 degrees of freedom (3 displacement and 3 rotation axes). Each axis is characterized by an adjustable stiffness (i.e., how strong your neck is) and damping (how fast head movement slows down), and can be enabled or disabled. Rotations include optional additional "eye-like" stabilization to somewhat compensate for the lack of inner ear feedback from the game (we aren't in the matrix yet). Everything works identically with flat screens and VR.

For me, this enhances immersion, conveys acceleration, and reduces nausea (especially in VR), but it also allows my eyes to better follow the track so I can identify apices like a mf tryhard nerd. Compared to default behavior, the car will feel like it's "floating and rattling underneath you", not unlike the sensation in a real car (try watching with your periphery next time you're driving :)).

Note the default settings are tuned to something like a GT3 car. For something more intense, you may want to increase the stiffness, e.g., by increasing the global stiffness modifier. If you mouse over each parameter, you will see documentation in Content Manager.

FULL FEATURE LIST
  • Head physics: All six degrees of freedom (three rotational, three displacement) independently simulated with RK4 solver written and extensively tested by a physics professor (who specializes in acoustics, vibration isolation, and feedback stabilization :thumbsup:). Each can be enabled or disabled, and each has independent parameters to tweak to your liking.
  • Additional visual stabilization: Option to further stabilize the rotational degrees of freedom, to somewhat simulate the tracking provided by your eyes.
  • Horizon lock: Option to lock (or partially lock) your head's pitch (nod) and roll (tilt) axes to the horizon.
  • Look-ahead: Option to look toward the drift angle, track (apex), and/or steering wheel direction.
  • Gear-kick: Optional effect (not physics) to give your head an impulse when changing gears. This is not in the AC physics engine, but some F1 heads like "immersion", so... :)
  • Optimized code: Reasonable efforts and approximations were made to minimize CPU overhead. Each frame takes ~35 microseconds to simulate on a 12th gen i5. This will not limit your framerate. ;)
  • Documentation: Hovering over each setting in Content Manager provides a pop-up with basic information. Let me know if something is confusing!
  • Works the same in VR and flat screen

INSTALLATION (NOT STANDARD!)
  • This physics engine requires CSP v0.2.0 or later.
  • You cannot just drag this zip file onto Content Manager.
Instead:
  1. Extract the "ac-head-physics" folder into ...\assettocorsa\extension\lua\cockpit-camera so that the "ac-head-physics" folder is sitting next to the "default" folder.
  2. Enable it in Content Manager by navigating to: Settings -> Custom Shaders Patch -> NeckFX, activating "Replace original CSP behavior", then selecting the script "ac-head-physics" at the end.
  3. If you want access to all the settings within Content Manager (note you can adjust these while the game is running!), you may need to get the latest untested Content Manager version by enabling Settings -> Content Manager -> Testing access. Usually this causes no problems, but 2 people have reported issues with the untested Content Manager (see below).
Sorry it's complicated! This is just the state of affairs right now.

REPORTED CONTENT MANAGER ISSUES
Content Manager is amazing but let's face it: it lacks "attention to detail" and has a lot of bugs.
  • At least one person reported that updating to the untested version of Content Manager messed with their settings. The solution is likely to do some combination of saving, resetting, and / or loading saved settings. Hopefully the ability to see NeckFX script settings gets pushed to a "stable" version soon, though the "stable" version has been randomly / surprisingly trashing my settings for years, though (usually right before a race :cry:).
  • Another user found that, though all the AC Head Physics script settings appeared to be defaults, something was corrupted in Content Manager behind the scenes. The (tedious) solution was to right click all the settings and select "reset" and / or adjust them, which likely overwrites the behind-the-scenes values.
ROADMAP
At this point I only plan to make small tweaks. Let me know if there is something you want to try. Note I am a physicist with two kids and no time. If you have coding skills, feel free to check out the git respository (I would check it out directly into the appropriate Assetto folder), add a feature, test it thoroughly, and submit a pull request. I can help out through the LoPeN discord server as well.

NOTE
Please don't review bomb to try and get what you want. I made this for me but thought others might benefit from it. If something is confusing, you find a bug, or want to discuss ideas, the best way to get in the discussion is to join https://discord.me/LoPeN and navigate to #dev-corner. You can also use the discussion tab of this website (though I check that less frequently).

CREDITS
Jack:
Physics nurd. Code nurd. Punching bag at the League of Perpetual Novices.
Jordash: Wrote the original VR stabilization script that got my foot in the door. He also gave all kinds of technical help and troubleshooting with AC (and video editing! :)).
Rowin & his distinctive Duca shoes: Extremely fast driver with real-life track experience, gave lots of useful feedback about what default settings feel the most realistic (on a flat screen).
Damgam: Uncanny ability to break the physics engine. Provided valuable testing, videos and feedback that helped solve the drift-look artifacts.
DAZD: Feedback, testing and help with drifting look-ahead. And a beer.
The League of Perpetual Novices: Lots of testing and feedback. Lots of laughs and good times (now for more than 20 years!). Join https://discord.me/LoPeN for fun-focused, inclusive racing and more. Newbies and fasties welcome!

CHANGE LOG
v2.2.3: Smoothing and more

  • Added "Smoothing Time" option to look-ahead. This filters the look-ahead effects to smooth out any jitters associated with things like framerate / framedrops, bad AI lines, and more.
  • Added "Threshold" and "Full Effect" speeds to global settings to let you control how all the effects smoothly turn on (and off).
  • Added "Max Frequency" to global settings (0 / disabled by default) that allows you to specify above what frequency the head physics can no longer keep up with the car bumps. This will allow you to transfer some of the faster vibrations to your vision, for a little more realism.
v2.1.8: Significantly less puke when switching to VR
  • Added the ability to automatically disable look-ahead features when switching to VR.
  • Other minor tweaks you won't notice.
v2.1.3b: The other features
  • Added drift, steering, and track (apex) following.
  • Added optional horizon lock about pitch and roll axes.
  • Added optional artificial gear kick effect that shakes your head when changing gears.
  • Code optimization and improvements.
v1.3.4b: Low-FPS stabilization
  • Spring-inertia physics now uses RK4 solver. This is more accurate than the original method, and is more stable at low frame rate.
  • Coded a hard ceiling on the damping of 1 (i.e., critically damped, no oscillations) for all 6 DOF. This will be imposed even if you set the damping higher in Content Manager.
  • Adjusted the "soft" limits in Content Manager sliders.
  • Added advanced option to limit the per-frame step size.
  • Minor code clarity improvements.
v1.3b: Initial release

Latest updates

  1. v2.2.3 - smoothing, fast bumps, and low speeds

    This update most notably adds a "Smoothing Time" filter to the look-ahead section, which can...
  2. AC Head Physics v2.1.8

    Minor tweaks most of you won't notice. The big thing is the ability to disable look-ahead in VR...
  3. AC Head Physics v2.1.3b

    Now includes look-ahead, horizon lock, and (artificial) gear kicks. Enjoy!

Latest reviews

Drift setting on 0.5 causes the screen to jitter when driving normally other than that its perfect.
G
gurkesaft
Added an optional "Smoothing Time" that filters out jitters. Jitters are unfortunately an unavoidable consequence of the game engine and framerate (and ai lines, for track following).

Let me know if the smoothing fixes the issue for you, and I'd love to work on it at https://discord.me/LoPeN if it doesn't!
🔥🔥🔥
Game changer
Still processing this, for some reason it went off my radar. I've been doing neckfx settings for months now, one for each car i've been driving.

It seems utterly intuitive and probably got everything i need. Now, to translate my hundreds of old manual settings to the script is going to be another journey, but erf... In the end it's probably for the best. If you have a spare day to spend explaining the whole thing to the oldschool Neckfx tweakers i'm grabbing the class XD.
G
gurkesaft
Join lopen and I'll talk your ear off in VC while doing laps for the sunday race ;)
best neckfx addon
First person drifting were never this much enjoyable. This is a game changer actually
G
gurkesaft
Awesome! I didn't design this specifically for drifting but we had some drifters help me tune it up. :)
works great, my only issue is it vibrates really bad at slow speeds.
G
gurkesaft
Hey can you join https://discord.me/LoPeN and start a discussion in #dev-corner? I haven't seen anything like this and maybe we can either discuss settings or I can try to fix something.
Best Neckfx settings ever! Thank you!
G
gurkesaft
Settings? I wrote a new physics engine from scratch xD cheers!
The only neckfx you need
Wouldnt race without it.
Love this!!
This is GOLD!! amazing app! Another best mod that makes AC alive and even better! Thank you for this! I thought I am finally moving, thrown, pulled in all directions inside the cockpit at least visually! :) Could experiment on few more adjustments is a plus! Great addition to that feeling of immersion anyone might be looking for.
G
gurkesaft
Hey thanks dusty, appreciated :)
Premium
It's perfect! I'm using it on a screen. Works out of the box for me. I've only activated "look ahead".
G
gurkesaft
Thanks! You must not be driving F1 ;). The default stiffness is aimed to simulate "wimpy" GT3 driver necks. xD
Used to a 9 degrees of freedom professional dynamic sim, this app is a MUST! increase the immersivity a lot! Huge work!
G
gurkesaft
9? How many dimensions do you live in? xD
Awesome, love it. It adds that little bit of realism to VR experience. Car feels lively, like I'm actually pushing a car around a track. There were one or two turns where it felt off, but I think if I turn up general stiffness it might be perfect. Absolutely love this, can't wait to mess with it some more.
G
gurkesaft
Glad you like it! If you send me a message or join the lopen discord I can offer some advice to make it feel how you want. Cheers!
Thanks very much for this fantastic app. The head motion definitely feels more natural than what you get with CSP's Neck FX options. I thought they were good, but this is even better!
G
gurkesaft
Hah, yeah I recall trying to get those things working and getting some pretty crazy bobblehead results. Glad it works for you!
I've spent a lot of time (waaaaay too much!) in the past trying to decipher NeckFX's unfathomable settings, trying to find meaning in the completely meaningless descriptions of what each adjustment actually does. More through luck than judgment I managed to arrive at settings I was happy with, ones that work in VR but also add head inertia that complements the sustained g-forces from my G-Seat/G-Belt combo. The missing part from my settings was simulating the natural image stabilisation that our eyes and inner ear do so well in the real world. This app achieves that as well as the original Real Head Motion ever did, which is praise indeed.
I've already deleted all of my other NeckFX settings and will be using these ones from now on.
Thanks very much for sharing this @gurkesaft, you've obviously found NeckFX's Rosetta Stone. You've made my driving experience in AC much, much better.
G
gurkesaft
Awesome, yeah it fixed a lot of issues for me and I'm glad it's helping others!
You managed to make the head move a lot, smooth the bumps and never feel like the reaction for the track angle change is delayed. Absolute master work.

The only complaint I have, when the game stutters, the calculations go wild and the camera makes some sharp twitchy movement. Not a big deal, i don't get much stutters, but a problem that i did not have with any other NeckFX script so far.
G
gurkesaft
Thanks for your extensive testing and help! Seems we fixed this issue! :D
This neckfx script is just what I needed. Just the right amount of movement in the cockpit to convey useful feedback. Great job. I'm looking forward to the other functions, especially the "look into the turn" one. It helps a ton with vintage cars.
Again, amazing work
G
gurkesaft
Hi Giulliano,

Thanks for the review! I have the look-ahead functionality working but I don't use it so I need someone who does to test it and give some feedback about the behavior you want.

Would you be willing to pester @Jack at https://discord.me/LoPeN in the #dev-corner?

Thanks,
Jack
Must have, exactly what i was looking fo!
G
gurkesaft
Thanks! :)

Latest News

Author
gurkesaft
Downloads
6,249
File size
62.3 KB
Views
27,508
First release
Last update
User rating
4.90 star(s) 30 ratings

More mods from gurkesaft

Shifting method

  • I use whatever the car has in real life*

  • I always use paddleshift

  • I always use sequential

  • I always use H-shifter

  • Something else, please explain


Results are only viewable after voting.
Back
Top