fix: make TestLevel load on 4.6.3; build geometry from GDScript

- test_level.tscn: minimal Node3D root (zero SubResource references)
- debug/test_level_builder.gd: runtime floor/walls/lighting/camera/UI
  shapes/meshes created from BoxShape3D/BoxMesh — no .tscn subresources
- project.godot: revert features to 4.6 (installed build is 4.6.3)
This commit is contained in:
2026-06-02 23:49:33 -04:00
parent f2bcbb6ac2
commit 5a45f3e9bb
3 changed files with 93 additions and 80 deletions
+1 -79
View File
@@ -1,81 +1,3 @@
[gd_scene load_steps=5 format=3]
[gd_scene format=3]
[node name="TestLevel" type="Node3D"]
[node name="StaticFloor" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.1, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticFloor"]
shape = SubResource(1)
[node name="FloorMesh" type="MeshInstance3D" parent="StaticFloor"]
mesh = BoxMesh.new()
[node name="WallN" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -15)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallN"]
shape = SubResource(2)
[node name="WallEMesh" type="MeshInstance3D" parent="WallE"]
mesh = BoxMesh.new()
[node name="WallE" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 3, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallE"]
shape = SubResource(3)
[node name="WallEMesh" type="MeshInstance3D" parent="WallE"]
mesh = BoxMesh.new()
[node name="WallW" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 3, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallW"]
shape = SubResource(4)
[node name="WallWMesh" type="MeshInstance3D" parent="WallW"]
mesh = BoxMesh.new()
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 8, 0)
light_color = Color(1, 0.95, 0.85, 1)
light_energy = 1.0
shadow_enabled = true
[node name="PlayerSpawn" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 8)
[node name="UI" type="CanvasLayer" parent="."]
[node name="SpeedLabel" type="Label" parent="UI"]
offset_left = 16.0
offset_top = 16.0
offset_right = 480.0
offset_bottom = 48.0
text = "Speed: 0.0 m/s | State: --- | Chain: +0%"
[node name="HelpLabel" type="Label" parent="UI"]
offset_left = 16.0
offset_top = 52.0
offset_right = 620.0
offset_bottom = 108.0
text = "WASD Move | Sprint=Shift | Slide=Ctrl+S | Double-Jump=Space twice | Dash=LShift | Wall-Jump=Jump at wall"
[node name="FpsCamera" type="Camera3D" parent="."]
current = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0)
fov = 90.0
[sub_resource type="BoxShape3D" id="1"]
size = Vector3(30, 0.4, 30)
[sub_resource type="BoxShape3D" id="2"]
size = Vector3(30, 6, 0.4)
[sub_resource type="BoxShape3D" id="3"]
size = Vector3(30, 6, 0.4)
[sub_resource type="BoxShape3D" id="4"]
size = Vector3(30, 6, 0.4)