5.4 KiB
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.