From 737e429cb109446ec008c4dcf91d4f04faccd64a Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 18 Oct 2026 08:55:47 +0400 Subject: feat(fx): evaluate native Op7 particle pools --- docs/reference/environment-effects.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'docs/reference/environment-effects.md') diff --git a/docs/reference/environment-effects.md b/docs/reference/environment-effects.md index 60a900d..078a222 100644 --- a/docs/reference/environment-effects.md +++ b/docs/reference/environment-effects.md @@ -265,6 +265,26 @@ D110-порядок. Все три evaluator-а принимают уже соб `context + 0x60 < 8`, а API этих evaluator-ов не выбирает другой context. Evaluator типа 2 принимает индекс context явно и учитывает этот gate в `active`. +## Частицы Op7 + +`fparkan-fx::op7` вычисляет фиксированный набор частиц Op7 по body команды, +фазе эффекта, матрице владельца, позиции камеры и render context. После +инициализации состояние команды сохраняет случайно изменённые треки позиции +и масштаба. Body задаёт время групп, opacity, фазу материала и вертикальное +ускорение; последнее масштабируется переданным world scalar и применяется к +копии матрицы владельца каждой активной группы. Текущий preview +`fparkan-game` передаёт `world_scalar = 10.0`; чтение действующей настройки +мира пока не подключено. + +Часы активной группы обновляются до применения detail cutoff отдельной +частицы. Cutoff сравнивает ordinal render context с постоянным порогом слота. +`Effect.dll` `0x1300` использует тот же порядок, поэтому скрытие слота не +останавливает часы его активной группы. Поток частиц последовательно задаёт +случайные изменения позиции и масштаба; для порогов видимости используется +отдельный поток. Шаг LFSR совпадает с нативным переходом двух половин, однако +семена отдельных экземпляров лишь детерминированно заменяют process-global +состояние и не воспроизводят общий порядок вызовов. + ## Что остаётся за владельцем `EnvironmentSystem` не извлекает камеру из renderer, не разрешает материалы -- cgit v1.2.3