small racing game im working on
remove railings & support in favor of walls [skip ci] [if you cant see it, it isnt there]
| -rw-r--r-- | assets/mats/rail.tres | 6 | ||||
| -rw-r--r-- | assets/mats/wall.tres (renamed from assets/mats/support.tres) | 4 | ||||
| -rw-r--r-- | assets/textures/wall.png (renamed from assets/textures/support.png) | bin | 87 -> 87 bytes | |||
| -rw-r--r-- | assets/textures/wall.png.import (renamed from assets/textures/support.png.import) | 6 | ||||
| -rw-r--r-- | classes/track.gd | 4 | ||||
| -rw-r--r-- | scenes/track-base.gd | 60 | ||||
| -rw-r--r-- | scenes/track.tscn | 38 | ||||
| -rw-r--r-- | start.tscn | 2 | ||||
| -rw-r--r-- | tracks/multilap_test.tres | 6 |
9 files changed, 45 insertions, 81 deletions
diff --git a/assets/mats/rail.tres b/assets/mats/rail.tres deleted file mode 100644 index 806a84e..0000000 --- a/assets/mats/rail.tres +++ /dev/null @@ -1,6 +0,0 @@ -[gd_resource type="StandardMaterial3D" format=3 uid="uid://dtpgjplswm6lr"] - -[resource] -albedo_color = Color(0.6, 0.6, 0.6, 1) -metallic = 0.83 -roughness = 0.22 diff --git a/assets/mats/support.tres b/assets/mats/wall.tres index 7b2c681..5074300 100644 --- a/assets/mats/support.tres +++ b/assets/mats/wall.tres @@ -1,6 +1,6 @@ -[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bk4sxd2prmmom"] +[gd_resource type="StandardMaterial3D" load_steps=2 format=3] -[ext_resource type="Texture2D" uid="uid://b1re5kwpgdg07" path="res://assets/textures/support.png" id="1_0m2od"] +[ext_resource type="Texture2D" uid="uid://b1re5kwpgdg07" path="res://assets/textures/wall.png" id="1_0m2od"] [resource] albedo_texture = ExtResource("1_0m2od") diff --git a/assets/textures/support.png b/assets/textures/wall.png Binary files differindex f1681d2..f1681d2 100644 --- a/assets/textures/support.png +++ b/assets/textures/wall.png diff --git a/assets/textures/support.png.import b/assets/textures/wall.png.import index 230e829..a931701 100644 --- a/assets/textures/support.png.import +++ b/assets/textures/wall.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b1re5kwpgdg07" -path="res://.godot/imported/support.png-302cf88a429f8c9d60f7b2b4f46840dd.ctex" +path="res://.godot/imported/wall.png-35b80c25b8f7299ed1631f28676b0e6a.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/textures/support.png" -dest_files=["res://.godot/imported/support.png-302cf88a429f8c9d60f7b2b4f46840dd.ctex"] +source_file="res://assets/textures/wall.png" +dest_files=["res://.godot/imported/wall.png-35b80c25b8f7299ed1631f28676b0e6a.ctex"] [params] diff --git a/classes/track.gd b/classes/track.gd index 4e53f3d..2e39193 100644 --- a/classes/track.gd +++ b/classes/track.gd @@ -3,8 +3,6 @@ class_name TrackResource @export_group("Road") ## Width of road @export var track_width := 40.0 -## Distance between rails and road -@export var rail_distance := 3.0 ## Support base width @export var lower_support_width := 25.0 ## Height of supports @@ -16,6 +14,8 @@ class_name TrackResource @export var left_barrier := true ## Right barrier? (does not change collisions). see also [member left_barrier] @export var right_barrier := true +## Barrier width +@export var barrier_width := 4.0 @export_group("Sun position") ## Sun x rotation @export_range(-360, 360) var sun_x := -90 diff --git a/scenes/track-base.gd b/scenes/track-base.gd index 228342b..4fab822 100644 --- a/scenes/track-base.gd +++ b/scenes/track-base.gd @@ -17,9 +17,8 @@ class_name TrackLoader call_deferred("_update") @onready var road := $Road as CSGPolygon3D -@onready var support := $Support as CSGPolygon3D -@onready var rail_l := $"Rail-L" as CSGPolygon3D -@onready var rail_r := $"Rail-R" as CSGPolygon3D +@onready var rail_l := $WallL as CSGPolygon3D +@onready var rail_r := $WallR as CSGPolygon3D @onready var collision := $CollisionShape as CSGPolygon3D @onready var sun := $Sun as DirectionalLight3D @onready var ground := $Ground as StaticBody3D @@ -47,53 +46,35 @@ func _update(): # update our track var thw := track.track_width * 0.5 # track half width - road.polygon = PackedVector2Array([vec(-thw), vec(-thw, -0.1), vec(thw, -0.1), vec(thw)]) - support.polygon = PackedVector2Array([ - vec(-thw - 2.0, -1), - vec( thw + 2.0, -1), - vec( track.lower_support_width, -track.support_height), - vec(-track.lower_support_width, -track.support_height) - ]) + road.polygon = PackedVector2Array([vec(-thw), vec(-thw), vec(thw), vec(thw)]) # update our rails - var rp := thw + track.rail_distance # rail position + var outer := thw + track.barrier_width rail_l.polygon = PackedVector2Array([ - vec(rp, 0.5), - vec(rp - 0.05, 0.47), - vec(rp - 0.05, 0.43), - vec(rp, 0.4), - vec(rp, 0.55), - vec(rp - 0.05, 0.32), - vec(rp - 0.05, 0.28), - vec(rp, 0.25), - vec(rp + 0.05, 0.25), - vec(rp + 0.05, 0.5) + vec(outer, 2), + vec(thw - .1, 2), + vec(thw - .1), + vec(outer) ]) rail_l.visible = track.left_barrier rail_r.polygon = PackedVector2Array([ - vec(-rp, 0.5), - vec(-rp + 0.05, 0.47), - vec(-rp + 0.05, 0.43), - vec(-rp, 0.4), - vec(-rp, 0.55), - vec(-rp + 0.05, 0.32), - vec(-rp + 0.05, 0.28), - vec(-rp, 0.25), - vec(-rp - 0.05, 0.25), - vec(-rp - 0.05, .5) + vec(-outer, 2), + vec(-thw + .1, 2), + vec(-thw + .1), + vec(-outer) ]) rail_r.visible = track.right_barrier # update our collision collision.polygon = PackedVector2Array([ - vec(-rp, 0.0), - vec(rp, 0.0), - vec(rp, 5.0), - vec(rp + 3.0, 5.0), - vec(rp + 3.0, -1.0), - vec(-rp - 3.0, -1.0), - vec(-rp - 3.0, 5.0), - vec(-rp, 5.0), + vec(-thw), + vec(thw), + vec(thw, 5.0), + vec(outer, 5.0), + vec(outer, -1.0), + vec(-outer, -1.0), + vec(-outer, 5.0), + vec(-thw, 5.0), ]) # objects for child in get_children(): @@ -119,7 +100,6 @@ func _update(): rail_r.path_joined = track.is_loop collision.path_joined = track.is_loop road.path_joined = track.is_loop - support.path_joined = track.is_loop # offset ground.global_position = track.offset diff --git a/scenes/track.tscn b/scenes/track.tscn index ae9dc86..6cc21aa 100644 --- a/scenes/track.tscn +++ b/scenes/track.tscn @@ -1,20 +1,23 @@ -[gd_scene load_steps=8 format=3 uid="uid://clw61td2wh84w"] +[gd_scene load_steps=9 format=3 uid="uid://ep3a5q3nkb7m"] [ext_resource type="Script" path="res://scenes/track-base.gd" id="1_ke7nx"] +[ext_resource type="Curve3D" uid="uid://u2f56xx8h2re" path="res://tracks/multilap_test_curve.tres" id="1_ktkvl"] [ext_resource type="Material" uid="uid://be8pta62kxd2j" path="res://assets/mats/road.tres" id="2_2nntu"] -[ext_resource type="Material" uid="uid://dtpgjplswm6lr" path="res://assets/mats/rail.tres" id="2_3pcob"] -[ext_resource type="Material" uid="uid://bk4sxd2prmmom" path="res://assets/mats/support.tres" id="3_4570s"] +[ext_resource type="Resource" uid="uid://dwojilpcrv8me" path="res://tracks/multilap_test.tres" id="3_uxk1w"] +[ext_resource type="Material" path="res://assets/mats/wall.tres" id="5_8gm6o"] [ext_resource type="PackedScene" uid="uid://cd4a5y0hi58ks" path="res://scenes/floor.tscn" id="7_fidh3"] [ext_resource type="Environment" uid="uid://biwshm46yl62v" path="res://default_env.tres" id="8_2nyv3"] [ext_resource type="CameraAttributesPractical" uid="uid://nhsovwj5hjip" path="res://cam.tres" id="9_6ooo5"] [node name="TrackLoader" type="Path3D"] +curve = ExtResource("1_ktkvl") script = ExtResource("1_ke7nx") +track = ExtResource("3_uxk1w") metadata/_edit_group_ = true [node name="Road" type="CSGPolygon3D" parent="."] calculate_tangents = false -polygon = PackedVector2Array(-20, 0, -20, -0.1, 20, -0.1, 20, 0) +polygon = PackedVector2Array(-12.5, 0, -12.5, 0, 12.5, 0, 12.5, 0) mode = 2 path_node = NodePath("..") path_interval_type = 0 @@ -27,9 +30,9 @@ path_u_distance = 0.0 path_joined = true material = ExtResource("2_2nntu") -[node name="Rail-L" type="CSGPolygon3D" parent="."] +[node name="WallL" type="CSGPolygon3D" parent="."] calculate_tangents = false -polygon = PackedVector2Array(23, 0.5, 22.95, 0.47, 22.95, 0.43, 23, 0.4, 23, 0.55, 22.95, 0.32, 22.95, 0.28, 23, 0.25, 23.05, 0.25, 23.05, 0.5) +polygon = PackedVector2Array(-14.5, 2, -12.4, 2, -12.4, 0, -14.5, 0) mode = 2 path_node = NodePath("..") path_interval_type = 0 @@ -40,11 +43,11 @@ path_local = false path_continuous_u = true path_u_distance = 1.0 path_joined = true -material = ExtResource("2_3pcob") +material = ExtResource("5_8gm6o") -[node name="Rail-R" type="CSGPolygon3D" parent="."] +[node name="WallR" type="CSGPolygon3D" parent="."] calculate_tangents = false -polygon = PackedVector2Array(-23, 0.5, -22.95, 0.47, -22.95, 0.43, -23, 0.4, -23, 0.55, -22.95, 0.32, -22.95, 0.28, -23, 0.25, -23.05, 0.25, -23.05, 0.5) +polygon = PackedVector2Array(14.5, 2, 12.4, 2, 12.4, 0, 14.5, 0) mode = 2 path_node = NodePath("..") path_interval_type = 0 @@ -55,20 +58,7 @@ path_local = false path_continuous_u = true path_u_distance = 1.0 path_joined = true - -[node name="Support" type="CSGPolygon3D" parent="."] -polygon = PackedVector2Array(-22, -1, 22, -1, 25, -2, -25, -2) -mode = 2 -path_node = NodePath("..") -path_interval_type = 0 -path_interval = 1.0 -path_simplify_angle = 5.0 -path_rotation = 2 -path_local = false -path_continuous_u = true -path_u_distance = 1.0 -path_joined = true -material = ExtResource("3_4570s") +material = ExtResource("5_8gm6o") [node name="Sun" type="DirectionalLight3D" parent="."] transform = Transform3D(1, 4.49013e-09, 0, -2.8862e-09, 0.642788, 0.766044, 3.43964e-09, -0.766044, 0.642788, 0, 0, 0) @@ -89,7 +79,7 @@ visible = false calculate_tangents = false use_collision = true collision_mask = 0 -polygon = PackedVector2Array(-23, 0, 23, 0, 23, 5, 26, 5, 26, -1, -26, -1, -26, 5, -23, 5) +polygon = PackedVector2Array(-12.5, 0, 12.5, 0, 12.5, 5, 14.5, 5, 14.5, -1, -14.5, -1, -14.5, 5, -12.5, 5) mode = 2 path_node = NodePath("..") path_interval_type = 0 @@ -2,7 +2,7 @@ [ext_resource type="Theme" uid="uid://cru1d7n2ftrfm" path="res://ui/theme.tres" id="1_gm0ws"] [ext_resource type="Script" path="res://ui/tracks.gd" id="2_po2ce"] -[ext_resource type="Resource" path="res://tracks/multilap_test.tres" id="3_0yjp1"] +[ext_resource type="Resource" uid="uid://dwojilpcrv8me" path="res://tracks/multilap_test.tres" id="3_0yjp1"] [ext_resource type="Resource" path="res://tracks/test.tres" id="4_3xqvr"] [ext_resource type="PackedScene" uid="uid://dhiei0g5tr74s" path="res://scenes/race_high.tscn" id="5_m5kci"] [ext_resource type="Resource" path="res://tracks/the fallen tramps.tres" id="5_qwie6"] diff --git a/tracks/multilap_test.tres b/tracks/multilap_test.tres index 1f66712..de08868 100644 --- a/tracks/multilap_test.tres +++ b/tracks/multilap_test.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="TrackResource" load_steps=6 format=3] +[gd_resource type="Resource" script_class="TrackResource" load_steps=6 format=3 uid="uid://dwojilpcrv8me"] [ext_resource type="Script" path="res://classes/track.gd" id="1_c5h3o"] [ext_resource type="PackedScene" uid="uid://d4a3e1w62m3ck" path="res://scenes/ring_checkpoint.tscn" id="1_ehf5p"] @@ -9,13 +9,13 @@ [resource] resource_local_to_scene = true script = ExtResource("1_c5h3o") -track_width = 40.0 -rail_distance = 3.0 +track_width = 25.0 lower_support_width = 25.0 support_height = 2.0 track = ExtResource("2_33qpi") left_barrier = true right_barrier = true +barrier_width = 2.0 sun_x = -50 sun_y = 0 overview_height = 250.0 |