← 戻る

The Steep Uphill Problem and the Invisible Wall

2026-10-04 · 15 閲覧 · ★ 5

The Steep Uphill Problem and the Invisible Wall

An analysis of the invisible wall problem that occurs on steep uphill sections.

There is a problem in the physics engine where slopes of around 30 degrees or more can cause an error in the surface normal calculation.

The original physics engine has a behavior that can turn a steep transition in the road surface into a vertical collision plane. A small Vy is also required for the problem to occur directly on the slope. A value of -0.3 m/s is already enough, so this value was used for the calculations.

There is also a false wall response during track boundary checks.

The conditions under which the problem occurs can be seen in the graphs below:

Conditions that trigger the problem

The 3D graph shows the percentage of speed lost depending on the slope angle. As you can see, after about 30 degrees the speed loss becomes quite significant and remains at roughly the same level across different angles and speeds.

Next to it is a separate graph for a 30-degree slope.

A speed of around 22 m/s is already enough to trigger the problem.

pete9516 brought this problem to my attention.

He has a temporary workaround patch:

https://www.nfsaddons.com/downloads/nfshs/tools/11480/dynamic-uphill-crash-fix-crash-logger.html

The patch zeroes out the three front sampling points used for collision calculations.

It doesn't actually solve the underlying problem. It simply pushes the point where the problem occurs to higher speeds, while also introducing additional collision issues:

pete9516-uphill-patch

I tried to make a less destructive fix in uphill_fix.n4p.

Without going into a long technical explanation, the basic idea is simple: all sampling points are preserved, and only the false height-based boundary condition is removed.

I don't yet know what else this change might affect. Judging by the code, it shouldn't introduce regressions in the actual physics in other situations, but additional testing is definitely needed.

Comparison of the original physics, pete9516-uphill-patch, and uphill_fix.n4p:

Comparison

3D graph for uphill_fix.n4p:

3D

In the video below, I recorded the problem itself and showed that after applying the physics fix, the exact same replay runs without hitting the invisible wall.

https://youtu.be/WrqSq-CH8ks

uphill_fix.n4p is part of my work on moving patches away from directly modifying the EXE and into separate modules.

The list of patches is still quite small at the moment. My plan is to first move all the changes I've already made directly to the EXE into the new system, and then continue fixing issues and adding new functionality.

Before that, however, I'll make a small preliminary release with a few patches. This should be much faster than trying to bring all of the existing EXE modifications to a release-ready state first.

The following modules are currently available:

Patch list

race_again.n4p adds a "Race Again" button to Career races.

replay_trace.n4p is a debugging module for tracing the game while a replay is being played.

telemetry.n4p collects telemetry during a race.

uphill_fix.n4p fixes the steep uphill problem.

© 2026 nfs4.com. 書面による許可のない資料の転載・コピーは禁止されています。

引用と利用に関する規則

コメント

★ 5 · 0 件のコメント

まだコメントはありません。

コメント・評価にはログインが必要です。 ログイン