Files
Blockline/scripts/urban_cover.gd
T

17 lines
804 B
GDScript
Raw Normal View History

2026-09-12 11:01:37 +02:00
class_name UrbanCover
extends RefCounted
static func build(pos: Vector3, size: Vector3) -> Node3D:
var root := Node3D.new()
root.position = pos
var batch := UrbanMeshBatch.new()
batch.bevel_box(Vector3.ZERO, size, "concrete", Color("d6d2c5"), 0.09)
for x in [-size.x * 0.32, size.x * 0.32]:
batch.box(Vector3(x, -size.y * 0.12, size.z * 0.501), Vector3(0.2, size.y * 0.62, 0.015), "metal", Color("4e5c5b"))
batch.box(Vector3(x, -size.y * 0.12, -size.z * 0.501), Vector3(0.2, size.y * 0.62, 0.015), "metal", Color("4e5c5b"))
for x in [-0.7, 0.7]:
batch.cylinder(Vector3(x, size.y * 0.502, 0), 0.055, 0.018, "metal", Color("545d59"))
batch.box(Vector3(0, size.y * 0.22, size.z * 0.507), Vector3(0.5, 0.09, 0.015), "paint", Color("b7a374"))
batch.finish(root, "ConcreteBarrier")
return root