Карта Parkour: мрачный подъём по мегабашне, портал в хабе

- Новая карта maps/parkour: ~700 м, 9 чекпоинтов (светящиеся ворота), секции под
  мувсет: крыши, каньон из стен для бега, башня из уступов (двойной прыжок +
  подтягивание), лазерный зал (подкат, прыжок, тайминг), пропасть из контейнеров
  (зазоры 16–24 м), спираль вокруг ядра, вершина с порталом в хаб
- Атмосфера: антиутопия — дождь, дымный туман, мокрый бетон с отражением неба,
  натриевый/красный свет, надписи-приказы, шум дождя и гул; освещение запечено
  в цвета вершин (Blender, Cycles), шейдер baked.gdshader без динамического света
- Модель, раскладка и скрипты сборки лежат в «Blender models/parkour_02»
  (layout, build_parkour, bake, build_sky); parkour_data.gd генерируется
- Пресет экспорта Parkour и строка в export_all.sh; карта исключена из основного пакета
- Портал PARKOUR в хабе; README: карта, пересборка, замеры мувсета

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WxZo3ekR5m1af437Qzqwc1
This commit is contained in:
2026-10-28 14:49:18 +05:00
co-authored by Claude Sonnet 5.5
parent 73e2d69ec6
commit 1438e5a04b
15 changed files with 582 additions and 4 deletions
+36
View File
@@ -0,0 +1,36 @@
# Сгенерировано Blender models/parkour_02/build_parkour.py из layout.py — не править руками
extends RefCounted
const START := Vector3(0.00, 1.25, 6.00)
const PORTAL := Vector3(-20.14, 79.00, -676.46)
# Зал (для отключения дождя): Y трассы -> -Z, поэтому HALL_Y0/HALL_Y1 — расстояния по трассе
const HALL_Y0 := 354.0
const HALL_Y1 := 444.0
const HALL_Z := 44.0
# Чекпоинты: центр капсулы игрока
const CHECKPOINTS := [
Vector3(0.00, 11.00, -193.00), # cp1
Vector3(0.00, 10.20, -302.00), # cp2
Vector3(4.20, 27.70, -319.00), # cp2b
Vector3(0.00, 45.20, -338.00), # cp3
Vector3(0.00, 45.20, -454.00), # cp4
Vector3(2.00, 49.20, -544.00), # cp5
Vector3(0.00, 53.20, -648.00), # cp6
Vector3(28.25, 65.20, -720.71), # cp7
Vector3(-20.14, 80.20, -668.46), # cp8
]
# Лазеры: центр, размер, режим (0 — всегда, 1 — пульсирует), период, время включения, сдвиг
const LASERS := [
[Vector3(0.00, 45.60, -366.25), Vector3(16.00, 0.60, 0.50), 0, 0.00, 0.00, 0.00], # g1_low
[Vector3(0.00, 44.45, -378.25), Vector3(16.00, 0.90, 0.50), 0, 0.00, 0.00, 0.00], # g2_floor
[Vector3(0.00, 44.45, -392.25), Vector3(16.00, 0.90, 0.50), 1, 2.40, 1.20, 0.00], # g3_a
[Vector3(0.00, 45.60, -392.25), Vector3(16.00, 0.60, 0.50), 1, 2.40, 1.20, 1.20], # g3_b
[Vector3(0.00, 45.60, -406.25), Vector3(16.00, 0.60, 0.50), 0, 0.00, 0.00, 0.00], # g4_a
[Vector3(0.00, 45.60, -411.25), Vector3(16.00, 0.60, 0.50), 0, 0.00, 0.00, 0.00], # g4_b
[Vector3(0.00, 45.60, -416.25), Vector3(16.00, 0.60, 0.50), 0, 0.00, 0.00, 0.00], # g4_c
[Vector3(0.00, 50.00, -426.25), Vector3(16.00, 12.00, 0.50), 1, 3.00, 2.00, 0.00], # g5_wall
[Vector3(-4.50, 44.45, -436.25), Vector3(7.00, 0.90, 0.50), 0, 0.00, 0.00, 0.00], # g6_low
[Vector3(4.50, 45.60, -436.25), Vector3(7.00, 0.60, 0.50), 0, 0.00, 0.00, 0.00], # g6_mid
]