Альфа и прозрачность
Какие форматы экспорта умеют сохранять прозрачность, чем прямая альфа отличается от предумноженной, для чего нужна подложка и как проверить результат, прежде чем на него соглашаться.
У холста в Celas Studio канал альфы есть всегда, пока вы работаете. Что переживёт экспорт, целиком зависит от выбранного вами формата: одни сохраняют её в точности, другие вовсе не умеют её представить, а один сохраняет лишь жёсткую версию по принципу «всё или ничего».
Какие форматы её держат
| Формат | Альфа |
|---|---|
| PNG (кадр, последовательность, лист) | Да, без потерь |
| WebP (кадр, последовательность, лист) | Да |
| JPEG, BMP | Нет: всегда сводится |
| MOV (QuickTime) | Да, только прямая |
| WebM (VP9) | Да |
| Анимированный WebP | Да |
| MP4 (H.264 / HEVC) | Нет: элемент каналов заперт на RGB |
| Анимированный GIF | Только жёсткая вырезка, смотрите ниже, а не мягкая прозрачность |
Для кадра, последовательности или спрайтового листа фон предлагает цвет холста, чёрный, белый и прозрачность. Прозрачность появляется только для PNG и WebP, потому что JPEG и BMP её девать некуда. Возьмите любой из этих двух, и окно скажет прямо: «JPEG не может хранить прозрачность, экспорт идёт на цвете холста», и BMP показывается так же. Изображение сводится на тот цвет, на котором стоит фон, поэтому, если вам нужен прозрачный кадр, сперва переведите формат на PNG или WebP.
У видео прозрачность живёт не в фоне, а в элементе каналов: поставьте его в RGB + альфа, что доступно только для MOV, WebM и анимированного WebP. MP4 элемент гасит и принудительно ставит RGB, потому что ни H.264, ни HEVC канала альфы нести не могут вовсе. Для прозрачного движущегося изображения MP4 не вариант при любых прочих настройках.
GIF — особый случай
У GIF одна запись палитры отведена под полную прозрачность, и пиксель либо является этой записью, либо нет. Частичной альфы там нет. Мягкий край или падающая тень превращаются в жёсткую, слегка рваную вырезку. Ради чистого края выводите вместо этого MOV, WebM или анимированный WebP, а GIF держите для быстрых просмотров, где вырезка неважна.
Прямая и предумноженная
Там, где каналы стоят в RGB + альфа, появляется элемент цвета с двумя вариантами, прямым и с предумножением. Они хранят одну и ту же прозрачность, но лежащий под ней цвет держат по-разному, и выбор становится важен, как только клип собирают поверх чего-то ещё.
- Прямая держит значения RGB ровно такими, какими они написаны, независимо от канала альфы, поэтому наполовину прозрачный красный пиксель по-прежнему хранится полноценным красным, а рядом с ним лежит 50% альфы.
- Предумноженная смешивает цвет в сторону цвета подложки по мере падения альфы, поэтому наполовину прозрачный красный пиксель на чёрной подложке хранится более тёмным красным. Такой формат ждёт часть программ композитинга и воспроизведения, и он избавляет от бледной каймы вокруг мягких краёв в тех программах, что обращаются с альфой неправильно.
Прямая стоит по умолчанию. Переходите на предумноженную, только если та программа, которой вы передаёте файл, об этом просит.
Подложка
Элемент фона становится подложкой в тот миг, как вы выбираете предумноженную, и предлагает цвет холста, чёрный или белый, но никогда прозрачность, потому что предумноженной нужен настоящий цвет, чтобы вмешать его в края. Возьмите тот фон, поверх которого вы клип на самом деле собираетесь класть; чем ближе совпадение, тем чище край. Выбор прямой, наоборот, убирает элемент вовсе, ведь прямая альфа держит цвет и прозрачность порознь, и подкладывать ей нечего.
Как проверить результат
Окна видео и анимированного GIF оба играют живой предпросмотр с восьмипиксельной шахматкой за всем прозрачным, поэтому видно ровно то, что переживёт и не переживёт вывод, ещё до нажатия экспорта. Предпросмотр GIF проходит тот же проход сокращения цветов, который получает готовый файл, поэтому что вы там видите, то и получите.