Files
aego/modules/render2d/res/docs/postprocess.ru.md
sanspie 5eb1832907
ci-platforms / darwin amd64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 15m28s
ci / release (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
ci-platforms / darwin arm64 smoke (push) Skipped
ci / checks (push) Successful in 7m47s
Complete Stage 12 for v0.12.0
2026-11-05 11:46:53 +03:00

5.4 KiB
Raw Permalink Blame History

id, title
id title
render2d.PostProcess Постобработка камеры

Постобработка камеры

Запустите пример, переведите фокус в Game View и нажимайте пробел. Последовательно включаются Bloom, Color Grading, Vignette, Chromatic Aberration, Pixelate, CRT, пользовательский фильтр и исходное изображение. В примере есть линейная identity LUT и собственный материал. Изменённая насыщенность позволяет увидеть Color Grading даже с нейтральной LUT.

Ореол вокруг лампы

Откройте основную сцену examples/platformer, выберите Camera и раскройте Post Process. У Bloom заданы Threshold 0,75, Intensity 0,22 и Radius 6. Понизьте порог, чтобы ореол появился вокруг большего числа ярких поверхностей. Увеличьте радиус, чтобы он стал шире. Сравните лампу и искры при включённом и выключенном стеке. Откройте настройки игры и проверьте чёткость текста. Для освещения соседних поверхностей у лампы есть Light2D.

Стек выполняется один раз после отрисовки мира всеми камерами одного выхода. Включите компонент на одной из них. Группа SceneLinear получает цвет до экспозиции и тональной компрессии. Группа DisplayLinear работает после них, до кодирования для вывода. Переставляйте эффекты внутри совместимой группы. Линейный offscreen-выход сохраняет значения сцены. Bloom и разделение цветовых каналов рассчитаны на непрозрачное изображение.

Пользовательский фильтр

Добавьте Custom Material, выберите материал с шейдером #pragma postfx и включите эффект. Готовый пример лежит в examples/platformer/assets/postfx/cold.aemat. Шейдер читает предыдущий результат через aego_sample(aego_uv). Сохраните материал, шейдер и сцену, затем проверьте результат в экспортированной игре. На камере есть и выключенный Color Grading с LUT. Подходят отдельные линейные data-текстуры 256×16 или 1024×32.

Для Animation и Tween параметр задаётся через ID экземпляра. Например, на камере платформера путь render2d.PostProcess.ef120d00000000000000000000000002:Intensity ведёт к интенсивности Bloom. При перестановке цель сохраняется. У копии эффекта появляется собственный ID. Undo восстанавливает удалённый экземпляр вместе с его ID.

Материалы в примерах игр

В examples/platformer/assets/materials/character_flash_lit.aeshader показано сочетание освещения, нормали текущего спрайта и параметра Flash. Клип Hurt анимирует параметр Flash в компоненте переопределения материала игрока. У соседей с общим материалом сохраняются их собственные значения. Для контура выделения сохраните текущий материал спрайта, назначьте встроенный Outline и верните прежний материал при снятии выделения. В examples/topdown фонарь Torch поворачивается вместе с прицелом меча. Его свет получают пол и стены.

Инспекция проходов и команды

В секции Lighting профайлера включите просмотр проходов и выберите логический выход. У Bloom видны выделение ярких областей, два направления размытия и композиция. Выключите стек и сравните следующий кадр. Время прохода появляется после получения достоверной выборки от драйвера. У окна показан размер области вывода, у текстуры также указан формат.

Команда aego postfx get scenes/main.aescene Camera выводит ID экземпляров. В платформере aego postfx set scenes/main.aescene Camera ef120d00000000000000000000000002 Intensity 0.35 меняет интенсивность существующего Bloom. Эти команды доступны по MCP. При привязке к редактору изменение попадает в открытый документ и его историю Undo.