feat: hero batch 3 — pedestrian footbridge + viaduct station platforms
- footbridge.glb: 18m truss footbridge over the central avenue one block south of the rail line — X-pattern teal trusses, mesh railings, real stair flights at both ends. Deck and stairs are WALKABLE (box deck collider + invisible ramp colliders over the stair visuals): a third elevated crossing route between the viaduct and the plaza, and a new grapple anchor over the avenue - platform.glb: station platform strips on the viaduct deck flanking the crossing — canopy on posts, benches, line signs; dresses the deck route players actually run - Fixed a parse error from an undefined color constant caught by the capture loop (blank render -> error -> fix -> verified) Movement 11/11, smoke 0 failures; full-city aerial verified. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
18f50adb78
commit
911066875b
@@ -681,9 +681,35 @@ func _build_rail_line() -> void:
|
||||
_ad_quad(Vector3(x - 1.35, 2.0, z), Vector2(1.2, 1.8), -90.0, _poster_tex())
|
||||
i += 1
|
||||
x += PITCH
|
||||
# Kitbashed station entrance beside the central avenue crossing
|
||||
# Kitbashed station entrance beside the central avenue crossing, with a
|
||||
# platform strip (canopy + benches + signs) up on the deck above it
|
||||
_hero("station", Vector3(ROAD_W * 0.5 + 8.0, 0.02, z + 7.5), 90.0,
|
||||
Vector3(6.0, 3.6, 5.0), 1.8, "concrete")
|
||||
_hero("platform", Vector3(10.0, RAIL_TOP, z), 0.0, Vector3(14.0, 2.8, 2.4), 1.4, "metal")
|
||||
_hero("platform", Vector3(-24.0, RAIL_TOP, z), 0.0, Vector3(14.0, 2.8, 2.4), 1.4, "metal")
|
||||
|
||||
# Pedestrian footbridge over the central avenue (deck + stair colliders
|
||||
# are walkable: a third crossing route between the viaduct and plaza)
|
||||
var fb_z := z + PITCH
|
||||
var fb := StaticBody3D.new()
|
||||
fb.name = "Footbridge"
|
||||
fb.set_meta("acoustic_material", "metal")
|
||||
add_child(fb)
|
||||
fb.global_position = Vector3(0, 0, fb_z) # span runs along x, across the avenue
|
||||
var fb_shape := CollisionShape3D.new()
|
||||
var fb_box := BoxShape3D.new()
|
||||
fb_box.size = Vector3(18.0, 0.4, 3.0)
|
||||
fb_shape.shape = fb_box
|
||||
fb_shape.position = Vector3(0, 5.5, 0)
|
||||
fb.add_child(fb_shape)
|
||||
var fb_inst: Node3D = _kit_scene_at("res://assets/props/hero/footbridge.glb").instantiate()
|
||||
fb.add_child(fb_inst)
|
||||
LevelMaterials.apply_toon_recursive(fb_inst, 0.015)
|
||||
# Walkable stair ramps at both ends (over the stair visuals)
|
||||
for e in [-1.0, 1.0]:
|
||||
var ang := rad_to_deg(atan2(5.5, 6.4))
|
||||
_ramp_static(Vector3(e * (9.0 + 3.2), 2.65, fb_z), Vector3(2.8, 0.3, 8.6),
|
||||
Vector3(0, 0, -ang * e), PAVING, "FootbridgeStair_%d" % int(e), "metal").visible = false
|
||||
|
||||
# Slide ramps to the deck at the two main-avenue crossings
|
||||
for sx in [-PITCH * 0.5 - 4.0, PITCH * 0.5 + 4.0]:
|
||||
|
||||
Reference in New Issue
Block a user