# Сгенерировано Blender models/race_01/build_race.py из layout.py — не править руками extends RefCounted # Старт: 8 слотов в ряд поперёк трассы, лицом по трассе (-Z); центр капсулы const START_SLOTS := [ Vector3(-9.80, 1.25, -28.00), Vector3(-7.00, 1.25, -28.00), Vector3(-4.20, 1.25, -28.00), Vector3(-1.40, 1.25, -28.00), Vector3(1.40, 1.25, -28.00), Vector3(4.20, 1.25, -28.00), Vector3(7.00, 1.25, -28.00), Vector3(9.80, 1.25, -28.00), ] # Ворота по порядку: [центр капсулы на полу ворот, полуширина поперёк трассы (м), рыскание (град; 0 = -Z, -90 = на +X)]. Последний = ФИНИШ # На развилках ворота стоят только в общих местах (после слияния веток), поэтому между ними бывает до ~170 м. const CHECKPOINTS := [ [Vector3(0.00, 1.20, -78.00), 13.0, 0.0], # cp1 [Vector3(0.00, 5.70, -114.00), 8.0, 0.0], # cp2 [Vector3(66.00, 5.70, -195.00), 12.0, -90.0], # cp3 [Vector3(99.00, 6.20, -195.00), 13.0, -90.0], # cp4 [Vector3(150.00, 4.70, -195.00), 13.0, -90.0], # cp5 [Vector3(163.00, 0.40, -306.00), 10.0, 0.0], # cp6 [Vector3(162.00, -5.70, -362.00), 12.0, 0.0], # cp7 [Vector3(161.00, -5.70, -440.00), 28.0, 0.0], # cp8 ] # Лазеры: центр, размер, режим (0 — всегда, 1 — пульсирует), период, время включения, сдвиг const LASERS := [ [Vector3(170.50, -6.45, -385.25), Vector3(5.00, 0.90, 0.50), 0, 0.00, 0.00, 0.00], # t_floor [Vector3(170.50, -5.30, -397.25), Vector3(5.00, 0.60, 0.50), 1, 2.60, 1.30, 0.00], # t_mid ] # Ангар (для отключения дождя): x0, x1, y0(+Z), y1, пол, потолок; в координатах Godot по Z — расстояние по трассе со знаком минус const HALL_X0 := 148.0 const HALL_X1 := 173.0 const HALL_Z0 := -416.0 const HALL_Z1 := -364.0 const HALL_FLOOR := -6.9 const HALL_CEIL := 2.1 # Портал в хаб за финишем: позиция на полу площадки const PORTAL := Vector3(161.00, -6.90, -490.00) # Длина безопасного маршрута, м const TRACK_LENGTH := 632.9 # Срыв: на столько ниже последнего чекпоинта — возрождение const KILL_DEPTH := 32.0