feat: Show buildings in chunk properly
This commit is contained in:
parent
4d1dbe2195
commit
3620a95b8b
|
|
@ -7,17 +7,27 @@ script/source = "extends Node3D
|
||||||
|
|
||||||
const COLORS = [
|
const COLORS = [
|
||||||
Color.DARK_KHAKI,
|
Color.DARK_KHAKI,
|
||||||
Color.ANTIQUE_WHITE,
|
|
||||||
Color.CADET_BLUE,
|
Color.CADET_BLUE,
|
||||||
Color.FOREST_GREEN,
|
Color.FOREST_GREEN,
|
||||||
Color.GRAY,
|
Color.WHITE,
|
||||||
|
Color.CHOCOLATE
|
||||||
]
|
]
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var mat = $\"8/Mesh\".get_surface_override_material(0)
|
var orig_mat = $\"8/Mesh\".get_surface_override_material(0)
|
||||||
var rand_color = COLORS.pick_random()
|
var rand_color = COLORS.pick_random()
|
||||||
mat.albedo_color = rand_color
|
var new_mat = orig_mat.duplicate()
|
||||||
|
new_mat.albedo_color = rand_color
|
||||||
|
|
||||||
|
# Set color
|
||||||
|
for floor_node: Node3D in get_children():
|
||||||
|
for mesh: MeshInstance3D in floor_node.get_children():
|
||||||
|
if orig_mat != mesh.get_surface_override_material(0):
|
||||||
|
continue
|
||||||
|
|
||||||
|
mesh.set_surface_override_material(0, new_mat)
|
||||||
|
|
||||||
|
# Set height
|
||||||
var last_floor = str(randi_range(3, 8))
|
var last_floor = str(randi_range(3, 8))
|
||||||
for floor_node: Node3D in get_children():
|
for floor_node: Node3D in get_children():
|
||||||
if floor_node.name == last_floor:
|
if floor_node.name == last_floor:
|
||||||
|
|
|
||||||
5
chunk.gd
5
chunk.gd
|
|
@ -6,6 +6,7 @@ var exits: Array = [false, false, false, false]
|
||||||
const STREET_WIDTH: float = 40
|
const STREET_WIDTH: float = 40
|
||||||
@onready var exit_area = $BuildingAreas/B_area_E/Collision
|
@onready var exit_area = $BuildingAreas/B_area_E/Collision
|
||||||
@onready var building_area = $BuildingAreas/B_area/Collision
|
@onready var building_area = $BuildingAreas/B_area/Collision
|
||||||
|
var building_scn = preload("res://building.tscn")
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$Mesh.mesh.size.x = Global.chunk_size
|
$Mesh.mesh.size.x = Global.chunk_size
|
||||||
|
|
@ -56,6 +57,7 @@ func update() -> void:
|
||||||
m.mesh = arr_mesh
|
m.mesh = arr_mesh
|
||||||
add_child(m)
|
add_child(m)
|
||||||
$BuildingAreas/B_area_N/Collision.disabled = true
|
$BuildingAreas/B_area_N/Collision.disabled = true
|
||||||
|
$BuildingAreas/B_area_N.visible = false
|
||||||
if i == 1: #s
|
if i == 1: #s
|
||||||
var vertices = PackedVector3Array()
|
var vertices = PackedVector3Array()
|
||||||
vertices.push_back(Vector3(-STREET_WIDTH/2, 0.5, 0))
|
vertices.push_back(Vector3(-STREET_WIDTH/2, 0.5, 0))
|
||||||
|
|
@ -76,6 +78,7 @@ func update() -> void:
|
||||||
m.mesh = arr_mesh
|
m.mesh = arr_mesh
|
||||||
add_child(m)
|
add_child(m)
|
||||||
$BuildingAreas/B_area_S/Collision.disabled = true
|
$BuildingAreas/B_area_S/Collision.disabled = true
|
||||||
|
$BuildingAreas/B_area_S.visible = false
|
||||||
if i == 2: #w
|
if i == 2: #w
|
||||||
var vertices = PackedVector3Array()
|
var vertices = PackedVector3Array()
|
||||||
vertices.push_back(Vector3(-Global.chunk_size/2, 0.5, -STREET_WIDTH/2))
|
vertices.push_back(Vector3(-Global.chunk_size/2, 0.5, -STREET_WIDTH/2))
|
||||||
|
|
@ -96,6 +99,7 @@ func update() -> void:
|
||||||
m.mesh = arr_mesh
|
m.mesh = arr_mesh
|
||||||
add_child(m)
|
add_child(m)
|
||||||
$BuildingAreas/B_area_W/Collision.disabled = true
|
$BuildingAreas/B_area_W/Collision.disabled = true
|
||||||
|
$BuildingAreas/B_area_W.visible = false
|
||||||
if i == 3: #e
|
if i == 3: #e
|
||||||
var vertices = PackedVector3Array()
|
var vertices = PackedVector3Array()
|
||||||
vertices.push_back(Vector3(0, 0.5, -STREET_WIDTH/2))
|
vertices.push_back(Vector3(0, 0.5, -STREET_WIDTH/2))
|
||||||
|
|
@ -116,6 +120,7 @@ func update() -> void:
|
||||||
m.mesh = arr_mesh
|
m.mesh = arr_mesh
|
||||||
add_child(m)
|
add_child(m)
|
||||||
$BuildingAreas/B_area_E/Collision.disabled = true
|
$BuildingAreas/B_area_E/Collision.disabled = true
|
||||||
|
$BuildingAreas/B_area_E.visible = false
|
||||||
|
|
||||||
var center_mesh = MeshInstance3D.new()
|
var center_mesh = MeshInstance3D.new()
|
||||||
center_mesh.position = Vector3(0,0.6,0)
|
center_mesh.position = Vector3(0,0.6,0)
|
||||||
|
|
|
||||||
16
chunk.tscn
16
chunk.tscn
|
|
@ -1,6 +1,7 @@
|
||||||
[gd_scene format=3 uid="uid://cqbu5r5pmnhc"]
|
[gd_scene format=3 uid="uid://cqbu5r5pmnhc"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ndadug5eerju" path="res://chunk.gd" id="1_kdh3y"]
|
[ext_resource type="Script" uid="uid://ndadug5eerju" path="res://chunk.gd" id="1_kdh3y"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://da60ofnpg72ua" path="res://building.tscn" id="2_eat54"]
|
||||||
|
|
||||||
[sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"]
|
[sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"]
|
||||||
size = Vector2(150, 150)
|
size = Vector2(150, 150)
|
||||||
|
|
@ -74,12 +75,18 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 47.5)
|
||||||
shape = SubResource("BoxShape3D_kdh3y")
|
shape = SubResource("BoxShape3D_kdh3y")
|
||||||
debug_color = Color(0.7365185, 0.46945518, 0, 0.41960785)
|
debug_color = Color(0.7365185, 0.46945518, 0, 0.41960785)
|
||||||
|
|
||||||
|
[node name="Building" parent="BuildingAreas/B_area" unique_id=228050854 instance=ExtResource("2_eat54")]
|
||||||
|
transform = Transform3D(1.0948861, 0, 0, 0, 1.0948861, 0, 0, 0, 1.0948861, 47.70289, 2.3668175, 47.375614)
|
||||||
|
|
||||||
[node name="B_area_E" type="StaticBody3D" parent="BuildingAreas" unique_id=164651542]
|
[node name="B_area_E" type="StaticBody3D" parent="BuildingAreas" unique_id=164651542]
|
||||||
|
|
||||||
[node name="Collision" type="CollisionShape3D" parent="BuildingAreas/B_area_E" unique_id=2080946797]
|
[node name="Collision" type="CollisionShape3D" parent="BuildingAreas/B_area_E" unique_id=2080946797]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
||||||
shape = SubResource("BoxShape3D_a0kup")
|
shape = SubResource("BoxShape3D_a0kup")
|
||||||
|
|
||||||
|
[node name="Building" parent="BuildingAreas/B_area_E" unique_id=496327803 instance=ExtResource("2_eat54")]
|
||||||
|
transform = Transform3D(1.1296118, 0, 0, 0, 1.0989345, 0, 0, 0, 0.8093087, 47.032215, 2.198969, 0)
|
||||||
|
|
||||||
[node name="B_area_W" type="StaticBody3D" parent="BuildingAreas" unique_id=1412614477]
|
[node name="B_area_W" type="StaticBody3D" parent="BuildingAreas" unique_id=1412614477]
|
||||||
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0, 0)
|
||||||
|
|
||||||
|
|
@ -87,6 +94,9 @@ transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
||||||
shape = SubResource("BoxShape3D_a0kup")
|
shape = SubResource("BoxShape3D_a0kup")
|
||||||
|
|
||||||
|
[node name="Building" parent="BuildingAreas/B_area_W" unique_id=1691268780 instance=ExtResource("2_eat54")]
|
||||||
|
transform = Transform3D(1.1296118, 0, 0, 0, 1.0989345, 0, 0, 0, 0.8093087, 47.032215, 2.198969, 0)
|
||||||
|
|
||||||
[node name="B_area_S" type="StaticBody3D" parent="BuildingAreas" unique_id=1192841263]
|
[node name="B_area_S" type="StaticBody3D" parent="BuildingAreas" unique_id=1192841263]
|
||||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 0)
|
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 0)
|
||||||
|
|
||||||
|
|
@ -94,9 +104,15 @@ transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
||||||
shape = SubResource("BoxShape3D_a0kup")
|
shape = SubResource("BoxShape3D_a0kup")
|
||||||
|
|
||||||
|
[node name="Building" parent="BuildingAreas/B_area_S" unique_id=819634987 instance=ExtResource("2_eat54")]
|
||||||
|
transform = Transform3D(1.1296118, 0, 0, 0, 1.0989345, 0, 0, 0, 0.8093087, 47.032215, 2.198969, 0)
|
||||||
|
|
||||||
[node name="B_area_N" type="StaticBody3D" parent="BuildingAreas" unique_id=1360962540]
|
[node name="B_area_N" type="StaticBody3D" parent="BuildingAreas" unique_id=1360962540]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||||
|
|
||||||
[node name="Collision" type="CollisionShape3D" parent="BuildingAreas/B_area_N" unique_id=1952010205]
|
[node name="Collision" type="CollisionShape3D" parent="BuildingAreas/B_area_N" unique_id=1952010205]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 47.5, 0, 0)
|
||||||
shape = SubResource("BoxShape3D_a0kup")
|
shape = SubResource("BoxShape3D_a0kup")
|
||||||
|
|
||||||
|
[node name="Building" parent="BuildingAreas/B_area_N" unique_id=737365486 instance=ExtResource("2_eat54")]
|
||||||
|
transform = Transform3D(1.1296118, 0, 0, 0, 1.0989345, 0, 0, 0, 0.8093087, 47.032215, 2.198969, 0)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
[gd_scene format=3 uid="uid://m45422rsfnmh"]
|
[gd_scene format=3 uid="uid://m45422rsfnmh"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dixivehd47h0o" path="res://spawn.gd" id="1_3a72r"]
|
[ext_resource type="Script" uid="uid://dixivehd47h0o" path="res://spawn.gd" id="1_3a72r"]
|
||||||
[ext_resource type="PackedScene" uid="uid://da60ofnpg72ua" path="res://building.tscn" id="2_yqulk"]
|
|
||||||
|
|
||||||
[sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"]
|
[sub_resource type="PlaneMesh" id="PlaneMesh_kdh3y"]
|
||||||
size = Vector2(150, 150)
|
size = Vector2(150, 150)
|
||||||
|
|
@ -15,6 +14,3 @@ script = ExtResource("1_3a72r")
|
||||||
[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")
|
surface_material_override/0 = SubResource("StandardMaterial3D_eoxb4")
|
||||||
|
|
||||||
[node name="Building" parent="." unique_id=228050854 instance=ExtResource("2_yqulk")]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46.942894, 1.6992264, -36.10958)
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue