feat: Render roads WIP

This commit is contained in:
Dusk 2026-03-02 20:19:38 +01:00
parent 2e552cc4fc
commit 780f55633b
3 changed files with 83 additions and 7 deletions

View File

@ -1,7 +1,7 @@
extends Node3D extends Node3D
var exits: Array = [false, false, false, false] var exits: Array = [false, true, true, false]
func _ready() -> void: func _ready() -> void:
@ -17,7 +17,7 @@ func _ready() -> void:
func update() -> void: func update() -> void:
var i = 0 var i = 0
print(exits) exits = [true, false, true, false]
for exit in exits: for exit in exits:
if not exit: if not exit:
i += 1 i += 1
@ -25,15 +25,87 @@ func update() -> void:
if i == 0: #n if i == 0: #n
$n.position.y = 1 $n.position.y = 1
#$n.get_surface_override_material(0).albedo_color = Color.GREEN
var vertices = PackedVector3Array()
vertices.push_back(Vector3(-5, 1, -50))
vertices.push_back(Vector3(5, 1, -50))
vertices.push_back(Vector3(-5, 1, 0))
vertices.push_back(Vector3(5, 1, -50))
vertices.push_back(Vector3(5, 1, 0))
vertices.push_back(Vector3(-5, 1, 0))
# Initialize the ArrayMesh.
var arr_mesh = ArrayMesh.new()
var arrays = []
arrays.resize(Mesh.ARRAY_MAX)
arrays[Mesh.ARRAY_VERTEX] = vertices
# Create the Mesh.
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
var m = MeshInstance3D.new()
m.mesh = arr_mesh
add_child(m)
if i == 1: #s if i == 1: #s
$s.position.y = 1 $s.position.y = 1
#$s.get_surface_override_material(0).albedo_color = Color.GREEN
var vertices = PackedVector3Array()
vertices.push_back(Vector3(-5, 1, 0))
vertices.push_back(Vector3(5, 1, 0))
vertices.push_back(Vector3(-5, 1, 50))
vertices.push_back(Vector3(5, 1, 0))
vertices.push_back(Vector3(5, 1, 50))
vertices.push_back(Vector3(-5, 1, 50))
# Initialize the ArrayMesh.
var arr_mesh = ArrayMesh.new()
var arrays = []
arrays.resize(Mesh.ARRAY_MAX)
arrays[Mesh.ARRAY_VERTEX] = vertices
# Create the Mesh.
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
var m = MeshInstance3D.new()
m.mesh = arr_mesh
add_child(m)
if i == 2: #w if i == 2: #w
$w.position.y = 1 $w.position.y = 1
#$w.get_surface_override_material(0).albedo_color = Color.GREEN
var vertices = PackedVector3Array()
vertices.push_back(Vector3(-50, 1, -5))
vertices.push_back(Vector3(0, 1, -5))
vertices.push_back(Vector3(-50, 1, 5))
vertices.push_back(Vector3(0, 1, -5))
vertices.push_back(Vector3(0, 1, 5))
vertices.push_back(Vector3(-50, 1, 5))
# Initialize the ArrayMesh.
var arr_mesh = ArrayMesh.new()
var arrays = []
arrays.resize(Mesh.ARRAY_MAX)
arrays[Mesh.ARRAY_VERTEX] = vertices
# Create the Mesh.
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
var m = MeshInstance3D.new()
m.mesh = arr_mesh
add_child(m)
if i == 3: #e if i == 3: #e
$e.position.y = 1 $e.position.y = 1
#$e.get_surface_override_material(0).albedo_color = Color.GREEN
var vertices = PackedVector3Array()
vertices.push_back(Vector3(0, 1, -5))
vertices.push_back(Vector3(50, 1, -5))
vertices.push_back(Vector3(0, 1, 5))
vertices.push_back(Vector3(50, 1, -5))
vertices.push_back(Vector3(50, 1, 5))
vertices.push_back(Vector3(0, 1, 5))
# Initialize the ArrayMesh.
var arr_mesh = ArrayMesh.new()
var arrays = []
arrays.resize(Mesh.ARRAY_MAX)
arrays[Mesh.ARRAY_VERTEX] = vertices
# Create the Mesh.
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
var m = MeshInstance3D.new()
m.mesh = arr_mesh
add_child(m)
i += 1 i += 1

View File

@ -5,6 +5,9 @@
[sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"] [sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"]
size = Vector2(100, 100) size = Vector2(100, 100)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eoxb4"]
albedo_color = Color(0.47398567, 0.32202998, 0.25116646, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kdh3y"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kdh3y"]
albedo_color = Color(0, 0, 1, 1) albedo_color = Color(0, 0, 1, 1)
@ -29,6 +32,7 @@ script = ExtResource("1_kdh3y")
[node name="Mesh" type="MeshInstance3D" parent="." unique_id=651037282] [node name="Mesh" type="MeshInstance3D" parent="." unique_id=651037282]
mesh = SubResource("PlaneMesh_kdh3y") mesh = SubResource("PlaneMesh_kdh3y")
surface_material_override/0 = SubResource("StandardMaterial3D_eoxb4")
[node name="n" type="MeshInstance3D" parent="." unique_id=1732708017] [node name="n" type="MeshInstance3D" parent="." unique_id=1732708017]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -45.583553) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -45.583553)

View File

@ -35,7 +35,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.031, 3.5, -11.78)
mesh = SubResource("BoxMesh_oi3di") mesh = SubResource("BoxMesh_oi3di")
[node name="Camera3D" type="Camera3D" parent="." unique_id=2083164402] [node name="Camera3D" type="Camera3D" parent="." unique_id=2083164402]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 551.1044, 0) transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 154.20062, 0)
current = true current = true
fov = 55.0 fov = 55.0
script = ExtResource("2_vonw3") script = ExtResource("2_vonw3")