small racing game im working on
downforce + make track less steep
| -rw-r--r-- | cam.gd | 1 | ||||
| -rw-r--r-- | classes/car.gd | 4 | ||||
| -rw-r--r-- | scenes/track-base.gd | 2 | ||||
| -rw-r--r-- | tracks/the fallen tramps_curve.tres | 2 | ||||
| -rw-r--r-- | ui/intro_cam.gd | 2 |
5 files changed, 9 insertions, 2 deletions
@@ -12,6 +12,7 @@ func _ready(): look_at(follow_this.global_position) last_lookat = follow_this.global_position far = 2000 + near = .2 func target() -> Vector3: var delta_v := global_position - follow_this.global_position diff --git a/classes/car.gd b/classes/car.gd index cd9a66a..8d3a23c 100644 --- a/classes/car.gd +++ b/classes/car.gd @@ -33,6 +33,9 @@ func ratio() -> float: -1: return reverse_ratio _: return gear_ratios[current_gear - 1] +func downforce(force: float): + apply_force(basis * Vector3(0,-force,0), Vector3(0,1.4,2.5)) + func is_on_ground() -> bool: return wheels.all(func(whl: VehicleWheel3D): return whl.is_in_contact() != null) @@ -98,6 +101,7 @@ func limit(delta: float) -> void: angular_damp = max(5 * (angular_velocity.length_squared() - 45), 0) if angular_velocity.length_squared() > 45 else 0.0 func _physics_process(delta: float): + downforce(5) var power_factor := power_curve.sample_baked(clampf(rpm() / max_engine_rpm, 0.0, 1.0)) if current_gear == -1: engine_force = throttle * power_factor * reverse_ratio * final_drive_ratio * MAX_ENGINE_FORCE * clutch_position diff --git a/scenes/track-base.gd b/scenes/track-base.gd index 96f9e40..228342b 100644 --- a/scenes/track-base.gd +++ b/scenes/track-base.gd @@ -51,7 +51,7 @@ func _update(): support.polygon = PackedVector2Array([ vec(-thw - 2.0, -1), vec( thw + 2.0, -1), - vec( track.lower_support_width + 0.1, -track.support_height), + vec( track.lower_support_width, -track.support_height), vec(-track.lower_support_width, -track.support_height) ]) diff --git a/tracks/the fallen tramps_curve.tres b/tracks/the fallen tramps_curve.tres index a58956a..19d7255 100644 --- a/tracks/the fallen tramps_curve.tres +++ b/tracks/the fallen tramps_curve.tres @@ -2,7 +2,7 @@ [resource] _data = { -"points": PackedVector3Array(37.391, -10.7008, -37.7107, -37.391, 10.7008, 37.7107, 330.708, 88.7112, -74.4047, 84.4839, 47.4017, -49.9644, -82.8519, -46.486, 48.9991, 111.976, 8.1174, 38.3802, 126.492, -39.8907, 104.311, -126.492, 39.8907, -104.311, -131.577, 4, 139.526, 1.75706, -40.5922, 55.4782, -1.75706, 40.5922, -55.4782, -70.4745, -12.0589, -102.896, 9.32288, 2.08416, 54.7418, 0, 0, 0, -45.7354, -31.2662, -198.668), +"points": PackedVector3Array(71.7111, -7.30142, 40.9033, -71.7111, 7.30142, -40.9033, 364.527, 34.2145, -58.2419, 80.0429, -4.87809, -46.8782, -80.0429, 4.87809, 46.8782, 111.976, 8.1174, 38.3802, 126.492, -39.8907, 104.311, -126.492, 39.8907, -104.311, -131.577, 4, 139.526, 1.75706, -40.5922, 55.4782, -1.75706, 40.5922, -55.4782, -70.4745, -12.0589, -102.896, 9.32288, 2.08416, 54.7418, 0, 0, 0, -45.7354, -31.2662, -198.668), "tilts": PackedFloat32Array(1.5708, 0, 0, 0, 0) } point_count = 5 diff --git a/ui/intro_cam.gd b/ui/intro_cam.gd index 2e8a8aa..c8371ac 100644 --- a/ui/intro_cam.gd +++ b/ui/intro_cam.gd @@ -7,6 +7,8 @@ var track: TrackResource var main_cam: Camera3D func _init(_track: TrackResource, _main_cam: Camera3D): + far = 4000 + near = .2 track = _track main_cam = _main_cam |