feat(render): integrate Control effects and animated world scene
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s

This commit is contained in:
Valentin Popov committed 2026-10-31 17:18:47 +04:00
1 parent 4a589f42fc
commit 09fcd35023
7 files changed
+8364 -2601

No files matched your search

+19 -19
View File
@@ -5,8 +5,10 @@
интерактивную сцену выбранной карты: terrain, все доступные MSH-компоненты
объектов, материалы, динамические тени, небо, погоду, lightning FX и звуковые
события. Это просмотр карты с полной графической сценой; прохождение миссии и
игровое поведение юнитов пока не запускаются, а модели показываются в статической
позе, заданной сохранёнными настройками узлов прототипа.
игровое поведение юнитов пока не запускаются. Модели начинают с настроек узлов
прототипа, а поддерживаемые Control-анимации и эффекты обновляются по общим
часам сцены. Неподдерживаемые Control-треки остаются на сохранённой начальной
позе.
## Запуск
@@ -46,23 +48,21 @@ cargo run --release -p fparkan-game -- `
луна, flares, молнии, дождь и снег, point lights, динамические тени и связанные
звуковые события обновляются в каждом кадре.
`--frames N` ограничивает запуск числом представленных кадров для
smoke/readback-проверок;
значение `0` означает бесконечный интерактивный запуск. `--control-clock-ms N`
воспроизводит общий clock анимации MSH и материалов вместе с окружением от нуля
до `N` за `--frames` кадров и требует не менее двух кадров. Пересоздание
swapchain повторяет текущий sample времени и состояние мира; перед повторной
отправкой обновляются camera projection и viewport-зависимая геометрия. Это не
продвигает сцену или replay clock. Счётчик и replay clock переходят дальше
после представленного кадра.
`--legacy-camera-capture` читает сохранённый захват камеры и запускает
воспроизводимый режим без
free-flight управления. `--static-animation-frame <u16>` задаёт один кадр для
всех узлов. Если параметр не указан, приложение берёт сохранённые настройки
узлов из явной ссылки прототипа на `.ctl`; для узлов без такой настройки
используется кадр `0`. Статическая поза не запускает игровой Control, AI или
полное поведение юнитов.
`--static-material-phase <u16>` выбирает фиксированную фазу материала.
`--frames N` ограничивает запуск числом кадров для smoke/readback-проверок;
значение `0` означает бесконечный интерактивный запуск. `--legacy-camera-capture`
читает сохранённый захват камеры и запускает воспроизводимый режим без
free-flight управления. В обычном запуске накопленный runtime clock обновляет
MSH Control-анимацию, поддержанные Control FX и анимацию материалов.
`--control-clock-ms <u32>` вместе с `--frames N` (не меньше двух) воспроизводит
этот clock от нуля до заданного миллисекундного значения за выбранные кадры.
`--static-animation-frame <u16>` задаёт один кадр для всех MSH-узлов и
выключает выбор MSH-позы из Control clock. Без override приложение берёт
начальные настройки узлов из явных `.ctl` bindings, затем применяет
поддержанные Control-треки. Узлы без настройки остаются на кадре `0`. Это не
запускает AI, миссионные события или полное поведение юнитов.
`--static-material-phase <u16>` фиксирует фазу MSH и terrain материалов; фаза
материала Control FX остаётся частью его normalized command timeline.
`--readback-out target/frame.raw` сохраняет последний кадр GPU. `--validation`
включает Vulkan validation layers и завершает запуск с ошибкой при предупреждении
или ошибке. Readback сохраняет байты в формате surface без преобразования;