feat(cockpit): replace procedural cockpit with twelve scripted models
Quality Gate / Quality Gate (pull_request) Successful in 9m4s
Quality Gate / Quality Gate (pull_request) Successful in 9m4s
Instance twelve Blender-scripted glTF models in the cockpit scene and rebuild the cabin around them: gauge panel, sonar, switch panel, alert box, speaker, porthole, hull wall, caged lamps, gas bottle, handrails and side consoles. Presentation only; no domain, application or world rule changes beyond enabling glow in the test environment. - Needles, alert lamps and sonar screen are driven by the existing snapshots; the alert box now carries SYS/ATTN/ALRM. - Depth dial reads percent of certified depth. - Sonar display restyled as a turquoise holographic relief with a shader grid and height scale; SubViewport matches the glass (960x604). - Cabin lighting retuned: warm pooled lamp light, cool porthole rim, lamp shadows, dial backlight. - Procedural stand-ins removed (bulkhead, tanks, consoles, levers, indicator columns, placeholder pipe run, dial face PNGs). - Tests adapted where nodes disappeared; one assertion removed (pipe_segment_count) until the pipe kit is placed. - Model .glb files are committed without LFS; textures Godot extracts next to them at import are ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
912123087f
commit
2f9b7c0894
45 files changed
+1353
-1603
No files matched your search
@@ -0,0 +1,26 @@
|
||||
class_name CockpitSwitchPanel
|
||||
extends Node3D
|
||||
|
||||
## Imported switch panel. Decorative in this slice: every control stays in its
|
||||
## exported rest pose and no input reaches it.
|
||||
|
||||
const CONTROL_PREFIXES: Array[String] = ["Toggle_", "Rocker_", "Cover_", "Lever_"]
|
||||
|
||||
var _controls: Array[Node3D] = []
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
for prefix: String in CONTROL_PREFIXES:
|
||||
for control: Node in find_children("%s*" % prefix, "Node3D", true, false):
|
||||
_controls.append(control as Node3D)
|
||||
|
||||
|
||||
func control_count() -> int:
|
||||
return _controls.size()
|
||||
|
||||
|
||||
func controls_are_at_rest() -> bool:
|
||||
for control: Node3D in _controls:
|
||||
if not control.rotation.is_zero_approx():
|
||||
return false
|
||||
return true
|
||||
Reference in new issue
Block a user