Бэкенд отдаёт skin_bacon-hair как дефолт (22+ юзеров в БД с legacy R15),
которого больше нет. Теперь если скин не в MIXAMO_SKINS (80 валидных) и
не customskin: → fallback на skin_y-bot. Персонаж всегда загружается.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- перенос из студии: ladder-mode, climb_up/climb_down, climb_to_top
- предзагрузка climb-анимаций (нет дёрга 180° при входе)
- заморозка позы на месте без исчезания скина
- гистерезис выхода, толщина лестницы 0.12
- climb_to_top вылезание на площадку 4с с заморозкой физики
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- fall_off_air/fall_off_land при сходе с возвышенности без Space
- coyote-фильтр по высоте падения (<1.3 блока → walk, не jump_air)
убирает мигание анимаций при спуске по лестнице из блоков
- jump_fwd_land / jump_run_land speedRatio 0.5 (присед виден)
- land короче при движении (без скольжения), полный при остановке
- компенсация Hips drop в land-фазах (ступни не уходят под пол)
Все типы прыжка работают: in_place / forward / run / fall_off
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- jump_run_anticipate/air/land из Mixamo Running Jump
- _jumpKind=run когда Shift+WASD в момент Space
- speedRatio=0.71 для jump_run_air (синхрон 0.73с)
- три типа: in_place / forward (шаг) / run (бег)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- jump_fwd_anticipate/air/land из Mixamo Jump (прыжок с разбега)
- _jumpKind=forward когда нажата WASD в момент Space
- speedRatio=0.59 для jump_fwd_air (синхрон с физикой 0.73с, без велосипеда)
- in_place вариант остаётся для прыжка на месте
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- jump_anticipate (0.375с): присед перед прыжком, физика заблокирована,
Hips опускается визуально
- jump_air (0.975с): полёт без Hips.Y подъёма (физика управляет _modelRoot)
- jump_land (0.56с): амортизация при приземлении, Hips опускается
относительно maxY (никогда не выше bind — иначе ноги повиснут в воздухе)
- Mixamo Jumping разрезан на 3 GLB через scripts/split_clip.js
- Blender pipeline для FBX→GLB через scripts/fbx2glb_blender.py + strip_anim_channels.js
- GameLoadingScreen убран при старте плеера (по умолчанию игра открывается сразу)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>