fix infinite drift
This commit is contained in:
parent
eb9374ad10
commit
a96bd954bb
@ -31,8 +31,8 @@ function wrapper:load(_args)
|
|||||||
{
|
{
|
||||||
assemblage = racer.assemble,
|
assemblage = racer.assemble,
|
||||||
data = {
|
data = {
|
||||||
accel = 20.0,
|
accel = 200.0,
|
||||||
brake = 10.0,
|
brake = 100.0,
|
||||||
grip = 1.0,
|
grip = 1.0,
|
||||||
max_speed = 50.0,
|
max_speed = 50.0,
|
||||||
steer = 5.0,
|
steer = 5.0,
|
||||||
|
|||||||
@ -238,7 +238,8 @@ local magic_n = {
|
|||||||
scale_y = 1000.0,
|
scale_y = 1000.0,
|
||||||
centrifugal_r = 1.0,
|
centrifugal_r = 1.0,
|
||||||
magic_slowdown = 10.0,
|
magic_slowdown = 10.0,
|
||||||
magic_boost = 1000.0
|
magic_boost = 10000.0,
|
||||||
|
magic_slow_drift = 10.0
|
||||||
}
|
}
|
||||||
|
|
||||||
function system:update(dt)
|
function system:update(dt)
|
||||||
@ -285,6 +286,20 @@ function system:update(dt)
|
|||||||
local centrifugal = racing_phy.centrifugal_force(dt, mass, new_velocity * magic_n.centrifugal_r, max_speed)
|
local centrifugal = racing_phy.centrifugal_force(dt, mass, new_velocity * magic_n.centrifugal_r, max_speed)
|
||||||
f_lateral = add_centrifugal(f_lateral, centrifugal)
|
f_lateral = add_centrifugal(f_lateral, centrifugal)
|
||||||
|
|
||||||
|
if (not left and not right) then
|
||||||
|
if (not (left) and f_lateral > 0) then
|
||||||
|
f_lateral = f_lateral - (magic_n.magic_slow_drift)
|
||||||
|
if (f_lateral < 0) then
|
||||||
|
f_lateral = 0
|
||||||
|
end
|
||||||
|
elseif (not right and f_lateral < 0) then
|
||||||
|
f_lateral = f_lateral + (magic_n.magic_slow_drift)
|
||||||
|
if (f_lateral > 0) then
|
||||||
|
f_lateral = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
e[race.dict.inertia].data = {f_forward * dt, f_lateral * dt}
|
e[race.dict.inertia].data = {f_forward * dt, f_lateral * dt}
|
||||||
|
|
||||||
local new_angle = e["race.angle"].data + f_lateral * dt/mass
|
local new_angle = e["race.angle"].data + f_lateral * dt/mass
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user