Расширение границ после эффектов, что это такое
Обновлено: 21.11.2024
After Effects представляет изображения с помощью PF_EffectWorlds, также называемого PF_LayerDefs.
Структура PF_EffectWorld¶
Товар
Описание
PF_WorldFlag_DEEP – устанавливается, если в мире используется 16 бит/канал.
PF_WorldFlag_WRITEABLE — указывает, что вам разрешено изменять данные изображения мира.
Обычно эффекты не могут изменять входные данные изображения; только вывод.
Указатель на данные изображения, сохраненные как PF_PixelPtr . Не обращайтесь напрямую; используйте макросы доступа PF_PixelPtr .
Данные изображения в After Effects всегда организованы в виде последовательных слов, каждое из которых содержит альфа-канал, красный, зеленый и синий цвета, начиная с младшего байта и заканчивая старшим байтом.
Длина (в байтах) каждой строки блока пикселей изображения. Блок пикселей содержит строки высоты, каждая из которых содержит пиксели ширины, за которыми следует несколько байтов заполнения. Пиксели ширины (умноженные на четыре, потому что каждый пиксель имеет длину четыре байта) плюс необязательный дополнительный отступ составляют байты rowbytes. Используйте это значение для обхода данных изображения.
Заполнение в конце строк в зависимости от платформы делает нецелесообразным обход всего буфера. Вместо этого найдите начало каждой строки, используя высоту и байты строки.
ПРИМЕЧАНИЕ. Это значение не зависит от того, включена ли визуализация поля.
ПРИМЕЧАНИЕ. Входной и выходной миры с одинаковыми размерами могут использовать разные значения rowbytes.
Ширина и высота пиксельного буфера.
Наименьший прямоугольник, охватывающий все непрозрачные (ненулевые альфа-каналы) пиксели в слое. Это определяет область, которая должна быть выведена.
Если ваш внешний модуль меняется в зависимости от экстента (например, диффузный дизеринг), игнорируйте это и каждый раз визуализируйте полный кадр.
Соотношение сторон пикселя, выраженное как PF_Rational .
ПРИМЕЧАНИЕ. Эффекты могут использовать это значение для извлеченных слоев, но должны использовать PF_InData.pixel_aspect_ratio для слоя, к которому они применяются. Извините.
Больше не используется в CS5.
Справочная информация для конкретной платформы. В Windows содержит непрозрачное значение. В macOS PF_GET_PLATFORM_REFS предоставляет CGrafPtr и GDeviceHandle из PF_EffectWorld .
ПРИМЕЧАНИЕ. Вы не можете получить ссылку на платформу во время PF_Cmd_GLOBAL_SETUP, так как еще нет выходного контекста. Терпение, мой питомец.
Только для параметров слоя.
Либо PF_LayerDefault_MYSELF, либо PF_LayerDefault_NONE .
Новое в версии 16.0¶
Во время PF_Cmd_SMART_RENDER_GPU PF_LayerDef будет заполнен так же, как и для обычного рендеринга ЦП, но PF_LayerDef.data будет нулевым; все остальные поля будут действительными.
Рядом в PF_EffectWorlds¶
Не думайте, что вы можете перейти к следующей строке сканирования PF_EffectWorld, используя (width * sizeof(current_pixel_type)) + 4 или что-то еще; вместо этого используйте rowbytes PF_EffectWorld.
Никогда не пишите за пределами указанной области PF_EffectWorld; это может повредить кешированные буферы изображений, которые вам не принадлежат.
Чтобы проверить, учитывают ли ваши эффекты PF_EffectWorld>rowbytes , примените эффект Grow Bounds после вашего эффекта.
В выходном буфере будет больше строк в байтах, чем во входном (хотя логический размер останется таким же).
Выравнивание по байтам¶
Выравнивание пикселей в PF_EffectWorld не гарантируется по 16 байтам. Эффект может получить подобласть большего PF_EffectWorld. Пользователи примера кода Apple для оптимизации обработки пикселей, вы предупреждены.
Эффекты никогда не будут получать входные и выходные миры с разной разрядностью, а также не будут получать миры с большей разрядностью, чем заявлено для обработки.
Макросы доступа для непрозрачных (тип данных) пикселей¶
Используйте следующие макросы для доступа к данным внутри (непрозрачных) PF_PixelPtrs.
Кроме того, не просто приводить указатели одного типа к другому! Для того, чтобы это работало, требуется приведение, и ничто не мешает вам приводить его неправильно. Мы можем изменить его реализацию позднее (и тогда вы поблагодарите нас за принудительный переход на этот уровень абстракции).
Макросы доступа PF_PixelPtr¶
Макрос
Цель
Получить указатель на 16-битный пиксель в указанном мире.
Возвращенный указатель пикселя будет NULL, если мир не имеет разрядность 16 бит на канал.
Второй параметр является необязательным; если он не равен NULL, возвращаемый пиксель будет интерпретацией значений переданного пикселя, как если бы он находился в указанном PF_EffectWorld.
Второй параметр является необязательным; если он не равен NULL, возвращаемый пиксель будет интерпретацией значений переданного пикселя, как если бы он находился в указанном PF_EffectWorld.
Думайте о PF_GET_PIXEL_DATA16 и PF_GET_PIXEL_DATA8 как о безопасных (гм) процедурах преобразования.
Код, необходимый для получения PF_Pixel16* из вывода PF_EffectWorld, на самом деле очень прост:
Это возвращает значение deep_pixelP как NULL, если в мире нет глубоких пикселей.
Второй параметр используется не так часто и должен передаваться как NULL; передать PF_PixelPtr, который не содержится в PF_EffectWorld, чтобы привести его к глубине этого PF_EffectWorld).
© Adobe, редакция 3ec7cc1e, 1992–2021.
Последние версии Загрузки pdf On Read the Docs Project Home Сборки Бесплатный хостинг документов, предоставляемый Read the Docs.
26 полезных трюков в After Effects, о которых вы могли не знать – часть 4 из 5
01. 00:26 CC Композит
02. 02:43 Слои последовательности
03. 04:49 Отображение слоя в Explorer/Finder
04. 05:18 Импорт файлов на временную шкалу из Explorer/Finder
05. 05:37 Инструмент для создания масок
06. 06:36 Инструмент «Растушевка маски»
07. 07:55 Непрозрачность маски
08. 08:27 Переключение видимости масок и контуров фигур
09. 09:26 Снимки
10. 11:15 Анимация текста вдоль контура
11. 12:28 Новая композиция из подборки
12. 13:12 Подгонка компа к рабочей области
13. 13:40 Циклический проект Глубина цвета
14. 14:05 Сопоставление урожая с интересующей областью
15. 14:31 Виньетка CC
16. 15:38 Детали, сохраняющие высокое качество
17. 17:06 Пиксельное размытие в движении
18. 17:59 Показать наложения и элементы управления слоями в предварительном просмотре Ram
19. 18:48 Увеличение или уменьшение трансформации выбранных слоев
20. 20:26 Добавить или удалить ключевой кадр в текущее время.
21. 21:40 Изменение нескольких ключевых кадров
22. 23:26 Показать только группу свойств «Параметры материала»
23. 24:17 Зацикленная анимация
24. 25:52 Преобразование аудио в ключевые кадры
25. 27:46 Уменьшение твердых частиц
26. 29:38 Сохранить при запуске очереди рендеринга
17 полезных приемов в After Effects, о которых вы могли не знать — часть 5 из 5
01. 00:13 Новый шаблон проекта
02. 01:38 Стоп на последнем кадре
03. 02:19 Растягивание времени
04. 04:04 Автотрассировка
05. 06:27 Alpha From Lightness (Unmult)
06. 07:36 Расширение тела
07. 08:45 Маска Округлости
08. 10:19 Ориентироваться по пути
09. 10:50 Пространственная интерполяция
10. 12:04 Расширить границы
11. 13:33 Автоматически открывающиеся панели
12. 14:07 Разблокировать панель
13. 14:34 Текстовый шаблон для Premiere Pro
14. 15:48 Жетоны даты и времени
15. 17:13 Отдельные измерения
16. 17:42 Изменение свойств с шагом 10 или 1/10 по умолчанию
17. 18:33 Продолжительность маркера
Некоторые из наших шаблонов используют сторонние плагины для достижения определенного стиля и внешнего вида. Эти сторонние подключаемые модули не поставляются с самим программным обеспечением After Effects и, как правило, требуют отдельной покупки у поставщиков подключаемых модулей.
Мы не продаем эти плагины. Однако вы можете просмотреть распространенные подключаемые модули, которые продают наши партнеры, на сайте After Effects Plugins.
Шаблоны, для которых требуются такие подключаемые модули, отмечены символом ниже на странице сведений о шаблоне в MotionElements.
Шаблоны, требующие сторонних подключаемых модулей, будут отмечены этим значком на странице сведений
При открытии шаблона, в котором используется сторонний подключаемый модуль, которым вы не владеете, вы увидите слово "Отсутствует" рядом с названием эффекта. Конечно, визуальный эффект, созданный плагином, также не будет отображаться.
Пример скриншота файла проекта с отсутствующим эффектом
Чтобы полностью добиться вида, задуманного нашим дизайнером шаблона, рекомендуется приобрести необходимые подключаемые модули.
После покупки и установки подключаемых модулей не забудьте закрыть файл проекта без сохранения и выйти из After Effects. При повторном открытии программы After Effects выполнит сканирование подключаемых модулей, и файл вашего проекта также будет загружен вместе с подключаемым модулем.
Чтобы просмотреть или приобрести дополнительные подключаемые модули, вы можете проверить подключаемые модули After Effects на сайте MotionElements.
Видеоруководство по поддержке Adobe
На странице обучения и поддержки Adobe After Effects есть видеоруководство, в котором также показано, как легко находить отсутствующие кадры, шрифты и эффекты. Нажмите на ссылку ниже, чтобы просмотреть руководство.
Читайте также: