Initial commit: Vertical Partition Streaming plugin (UE 5.7)
Bounded vertical route partition / streaming for handcrafted spiral climb maps (Only Up / Only Climb). Not World Partition, not Level Instances as core arch. - Z-cell segmentation + optional XY subcells, editor builder + commandlet - NonDestructive visibility backend + streaming-level backend - Offline HLOD proxies: MergedMesh / SimplifiedProxy (ProxyLOD) - Universal Level Instance + Packed Level Actor + HISM support (flatten+merge) - Vertical-aware runtime streamer (full/preload/HLOD/unload, hysteresis, velocity prediction, fall-risk), WP-style debug viz + vp.* console - Safe-by-default: only static decor streams; sky/lights/gameplay stay persistent Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
109
USAGE_RU.md
Normal file
109
USAGE_RU.md
Normal file
@ -0,0 +1,109 @@
|
||||
# Vertical Partition — практическая инструкция
|
||||
|
||||
> Пошаговое «что нажимать». Архитектура и детали — в [README.md](README.md).
|
||||
|
||||
Плагин берёт **готовую** вертикальную карту (Only Up / Only Climb), режет её на
|
||||
**Z-ячейки**, печёт офлайн **HLOD-прокси** и в рантайме грузит ближние ячейки целиком,
|
||||
дальние показывает как прокси, совсем дальние выгружает.
|
||||
|
||||
---
|
||||
|
||||
## 0. Один раз: включить плагин
|
||||
Плагин `EnabledByDefault` — подхватывается сам. Если нет: `Edit → Plugins → Vertical
|
||||
Partition → Enabled`, перезапустить редактор. После C++-правок нужна полная пересборка
|
||||
(новые модули в редактор «на лету» не подгружаются).
|
||||
|
||||
---
|
||||
|
||||
## 1. Поставить том вокруг трассы
|
||||
1. В уровне: **Place Actors → ищи `Vertical Partition Volume`** → перетащи на сцену.
|
||||
2. Масштабируй **Box** так, чтобы он охватил **всю** играбельную спираль (низ → верх).
|
||||
Бокс рисуется голубым; коллизии у него нет.
|
||||
|
||||
## 2. Настроить (в деталях тома, секция `Vertical Partition → Settings`)
|
||||
Минимум, что нужно тронуть:
|
||||
- **Cell Height** — высота одной ячейки (см). Ориентир: 1–2 «этажа» трассы. Например `5000`.
|
||||
- **Full/HLOD/Unload ranges** (категория `Streaming`) — сколько ячеек вокруг игрока держать:
|
||||
- `Full Load Cells Below/Above` — целиком (обычно 1/1).
|
||||
- `HLOD Load Cells Below/Above` — прокси (например 4/5).
|
||||
- `Unload Cells Below/Above` — дальше выгрузка.
|
||||
- Остальное можно оставить по умолчанию.
|
||||
|
||||
> **Важно про LI:** если трасса собрана из **Level Instance** — они должны быть
|
||||
> **ЗАГРУЖЕНЫ** в редакторе (не свёрнуты) перед сборкой. Незагруженный LI пропустится
|
||||
> с варнингом «load it and rebuild».
|
||||
|
||||
## 3. Анализ (без записи)
|
||||
Кнопка **`1 - Analyze → Analyze Current Level`**.
|
||||
Смотри лог (Output Log, фильтр `LogVerticalPartition`): сколько акторов внутри тома,
|
||||
сколько ячеек, сколько ушло в persistent, варнинги. Ничего не меняется на диске.
|
||||
|
||||
## 4. Сборка
|
||||
Кнопка **`2 - Build → Build Vertical Partition`**.
|
||||
Что произойдёт:
|
||||
- бэкап карты в `Saved/VerticalPartition/Backups/`;
|
||||
- генерится дескриптор `/Game/VPGenerated/<Карта>/VPD_<Карта>`;
|
||||
- пекутся HLOD-прокси в `…/Proxies/`;
|
||||
- в уровень добавляется актор-менеджер (`Vertical Partition Manager`);
|
||||
- том получает ссылку на дескриптор.
|
||||
|
||||
## 5. Проверить HLOD во вьюпорте (без запуска игры)
|
||||
- **`3 - Validate → Preview Chunks`** — цветные боксы ячеек:
|
||||
- 🟢 **зелёный** = у ячейки есть HLOD-прокси;
|
||||
- 🟠 **оранжевый** = стримится, но прокси нет (просто прячется вдали);
|
||||
- ⚪ **серый** = пусто / persistent.
|
||||
- **`3 - Validate → Spawn HLOD Preview`** — спавнит сами прокси-меши поверх оригинала.
|
||||
Спрячь реальный декор (или посмотри издалека), чтобы оценить силуэт.
|
||||
- **`3 - Validate → Clear Preview`** — убрать боксы и превью-акторы.
|
||||
|
||||
## 6. Запустить и проверить стриминг
|
||||
**Play**. Включи отладку в консоли (`~`):
|
||||
```
|
||||
vp.Debug 1
|
||||
vp.DebugDraw 1 ; цветные боксы ячеек в 3D
|
||||
vp.DebugOverlay 1 ; статистика на экране
|
||||
```
|
||||
Цвета: 🟢 Full · 🔵 HLOD · 🟡 грузится · 🔴 ошибка · ⚪ выгружено · 🟣 forced.
|
||||
Полезные команды: `vp.DumpCells`, `vp.TeleportToCell 12`, `vp.ForceCellHLOD 8`,
|
||||
`vp.SetFullRange 2 2`, `vp.ProfileStreaming`.
|
||||
|
||||
---
|
||||
|
||||
## Что стримится, а что НЕТ (запомни)
|
||||
Стримится (прячется/заменяется прокси) **только чистый статик-декор**.
|
||||
**Никогда не трогаются** (всегда persistent, всегда видны):
|
||||
- свет, **Ultra Dynamic Sky**, Sky Atmosphere, SkyLight, туман, post-process;
|
||||
- аудио, частицы/Niagara, reflection capture, декали;
|
||||
- физика, реплицируемые, Movable-акторы;
|
||||
- свет/геймплей **внутри** Level Instance.
|
||||
|
||||
→ Поэтому небо и рабочие акторы **не пропадают**. Управляется флагом
|
||||
`Settings → bStreamOnlyStaticDecor` (вкл по умолчанию — не выключай без причины).
|
||||
|
||||
---
|
||||
|
||||
## Если что-то «пропало» / нужно откатить
|
||||
NonDestructive-режим **ничего не удаляет с диска** — прячет только в игре (PIE).
|
||||
- Полный сброс: удали актор `Vertical Partition Manager` из уровня + папку
|
||||
`/Game/VPGenerated/`, затем `Build` заново. Или кнопка **`5 - Maintenance → Clear Generated Data`**.
|
||||
- Восстановить карту из бэкапа: **`4 - Commit → Restore From Backup`**.
|
||||
|
||||
---
|
||||
|
||||
## Частые проблемы
|
||||
| Симптом | Причина / решение |
|
||||
|---|---|
|
||||
| Небо погасло / акторы исчезли в Play | Старый дескриптор до фикса. **Build заново** (теперь свет/небо/LI остаются persistent). |
|
||||
| Level Instance не попал в чанки | LI был свёрнут. Загрузи его в редакторе → `Build`. |
|
||||
| Ячейки все оранжевые (нет HLOD) | В ячейке нет статик-геометрии, либо `bGenerateHLODProxies` выключен. |
|
||||
| `SimplifiedProxy` ничего не печёт | Нужен включённый **ProxyLODPlugin**. Без него авто-откат на `MergedMesh` (это ок). |
|
||||
| Прокси смещён | Не должно — пекутся с пивотом в (0,0,0). Если видишь смещение — пересобери HLOD. |
|
||||
| Хочу перепечь только прокси | **`2 - Build → Rebuild HLOD`**. |
|
||||
|
||||
---
|
||||
|
||||
## Офлайн-сборка (CI / без открытия редактора)
|
||||
```
|
||||
UnrealEditor-Cmd.exe IHY.uproject -run=VerticalPartition -Map=/Game/Maps/MyClimbMap
|
||||
```
|
||||
Отчёт пишется в `Saved/VerticalPartition/<Карта>_Report.txt`.
|
||||
Reference in New Issue
Block a user