Применение

TGA в играх и графике: где формат Targa живёт сегодня

Формату TGA больше сорока лет, а он всё ещё попадается в папках с файлами игр, в рабочих процессах студий (их называют «пайплайн») и в настройках 3D-программ. Почему индустрия не «похоронила» старичка и в каких задачах он до сих пор обыгрывает модный PNG — разбираем по полочкам.

Игровая консоль и геймпад в неоновом свете — мир игр, где до сих пор встречается формат TGA
Игры — главная среда обитания TGA: текстуры, спрайты и эффекты. Фото: Pexels

Почему игры вообще полюбили TGA

Чтобы понять привязанность игровой индустрии к TGA, вспомним, чего хочет художник по текстурам. Ему нужны три вещи: никаких потерь качества, надёжная прозрачность и предсказуемость — чтобы то, что он нарисовал, дошло до движка без сюрпризов. TGA даёт всё это и почти ничего лишнего. Формат настолько прост, что его без проблем читает любой инструмент пайплайна — от древнего плагина до современного редактора.

Добавьте сюда исторический контекст: TGA появился в 1984 году как формат профессиональных видеоплат и десятилетиями был «дефолтом» для работы с true color и альфа-каналом. К моменту, когда складывались привычки игровой разработки, TGA уже был везде. Привычки же меняются медленно — и формат остался. Если хочется освежить базу, у нас есть отдельный разбор «Что такое TGA».

Главная мысль

TGA в играх — это формат исходников, а не финальной игры. Художник работает в TGA, а движок при сборке всё равно пережимает текстуру в свой компактный GPU-формат. TGA ценен именно на этапе создания контента.

Текстуры в Unreal и Unity

Два главных игровых движка — Unreal Engine и Unity — прекрасно работают с TGA «из коробки». Логика обычно такая: 24-битный TGA используют для текстур без прозрачности (цвет поверхности, металличность, шероховатость), а 32-битный — когда нужен альфа-канал (маски, листва, сетки, стекло).

Важно понимать, что внутри игры эта текстура не останется TGA. При импорте и сборке движок конвертирует её в аппаратно-сжатый формат — например, в блочное сжатие BC/DXT, которое видеокарта декодирует на лету. Об этом «финальном» формате текстур мы рассказывали в материале «Что такое DDS». То есть цепочка обычно выглядит так: художник рисует → сохраняет в TGA → движок пережимает в GPU-формат.

Современные видеокарты — именно GPU отрисовывает текстуры, которые художники готовили в TGA
Текстуру рисуют в TGA, а на экране её показывает видеокарта — уже в сжатом виде. Фото: Pexels

Хитрость с цветом под прозрачностью

Вот техническая причина, по которой многие команды до сих пор предпочитают TGA, а не PNG для альфа-текстур. Звучит неочевидно, но это реально важно.

Когда пиксель полностью прозрачен, у него всё равно есть цвет «под» прозрачностью — просто мы его не видим. Многие инструменты при экспорте в PNG обнуляют этот скрытый цвет (делают его белым или чёрным). А движок при отрисовке сглаживает края текстуры и подмешивает соседние пиксели — и наружу вылезает та самая кайма: тёмный или белый ореол по контуру листа, волоса, верёвки.

TGA честно хранит цвет даже под нулевой альфой. Художник может заранее «закрасить» нужным цветом даже невидимые, прозрачные области (этот приём называют расширением цвета) — и тогда по краям не появится грязной каёмки. Для травы, деревьев, цепей и любых текстур со сложным контуром это решает.

PNG прячет цвет под прозрачностью — и на краях текстуры вылезает ореол. TGA цвет сохраняет, поэтому края остаются чистыми.

Спрайты, 2D и ретро-графика

В 2D-играх и пиксель-арте у TGA своя ниша. Спрайту критично важны два качества: чистая прозрачность без артефактов и точные, неискажённые пиксели. JPEG здесь не подходит в принципе (он размывает и портит резкие края), а TGA — наоборот, идеален: каждый пиксель на месте, альфа-канал чёткий.

Многие старые игровые движки и наборы инструментов разработчика исторически читали именно TGA, поэтому в проектах «под старину» и в эмуляции формат всё ещё естественен. Это не значит, что TGA — единственный выбор для 2D (PNG тут тоже отлично справляется), но как рабочий формат исходных кадров он удобен и надёжен.

Абстрактные 3D-фигуры — текстуры и материалы определяют, как выглядит поверхность объектов
Любая 3D-сцена — это геометрия плюс текстуры. Исходные текстуры нередко готовят в TGA. Фото: Pexels

Видео, VFX и секвенции кадров

За пределами игр у TGA есть вторая жизнь — в видеопроизводстве и спецэффектах. Здесь его используют не как одиночную картинку, а как секвенцию кадров: один TGA-файл на каждый кадр анимации или рендера, пронумерованные подряд (frame_0001.tga, frame_0002.tga и так далее).

Зачем так сложно, если есть готовые видеоформаты? Причин несколько:

  • Надёжность. Если многочасовой рендер прервётся, уже готовые кадры не пропадут — продолжить можно с места обрыва.
  • Каждый кадр без потерь. Никакого видеосжатия, которое мылит картинку. Для композитинга и цветокоррекции это принципиально.
  • Альфа-канал в каждом кадре. Можно накладывать элементы поверх готового видео (его называют футажом) без чёрного фона.

Именно поэтому TGA исторически прижился в системах титров и графики реального времени (например, в линейке Avid). А по части специфики альфа-канала и сжатия рекомендуем наш технический разбор «Альфа-канал и RLE».

24/32бита: без альфы / с альфой
×3–4крупнее PNG в среднем
0потерь качества

Где TGA уступает и чем его заменить

Честно о минусах. TGA не идеален, и у его привычности есть цена:

  • Размер. Файлы крупные. Для примера, крупная текстура в TGA может весить около 8 МБ против ~2,5 МБ у того же изображения в PNG — при одинаковом качестве.
  • Нет браузерной поддержки. В вебе TGA бесполезен: ни один браузер его не покажет.
  • Нет анимации и продвинутого сжатия. Для веба и публикации почти всегда лучше PNG, WebP или AVIF.

Вывод простой: TGA хорош как рабочий формат внутри пайплайна. А когда текстуру или кадр нужно опубликовать, показать в браузере или просто открыть на телефоне — его конвертируют. Подробное сравнение — в статье «TGA против PNG».

Как открыть игровой TGA

Допустим, вы распаковали ассеты любимой игры и нашли стопку .tga. Открыть их двойным кликом, скорее всего, не выйдет. Самый быстрый способ посмотреть текстуру — конвертировать TGA в PNG: PNG откроется где угодно, а альфа-канал и качество сохранятся.

Посмотрите игровую TGA-текстуру за секунды

Загрузите .tga в бесплатный конвертер FormatZ — получите PNG с прозрачностью прямо в браузере, без установки и регистрации.

Конвертировать TGA в PNG

Нужно собрать текстуру обратно в TGA для движка? Пригодится обратное преобразование PNG в TGA. Остальные конвертации — на странице всех форматов.

Главная причина — то, как TGA хранит цвет в прозрачных областях. PNG в полностью прозрачных пикселях обычно обнуляет цвет, и на краях текстуры появляется тёмная или белая кайма. TGA сохраняет цвет даже под нулевой альфой, поэтому окантовка не лезет — для альфа-текстур это решающее преимущество.
В исходных ассетах — да. Художники часто отдают текстуры в TGA, а движок при сборке всё равно пережимает их в свой GPU-формат (например, BC/DXT). То есть TGA живёт на этапе разработки, а в финальной игре превращается в сжатую текстуру.
Секвенция кадров (по одному TGA на кадр) надёжнее одного большого видеофайла: если рендер прервётся, готовые кадры не потеряются, и любой кадр можно перерисовать отдельно. При этом каждый кадр хранится без потерь и с альфа-каналом — это важно, когда кадры потом склеивают и накладывают друг на друга (это называют композитингом).
Спрайтам нужна чёткая прозрачность без артефактов и предсказуемые пиксели. TGA даёт и то, и другое, плюс простую структуру, которую легко читать любому инструменту. Для пиксель-арта и ретро-проектов это удобный рабочий формат.
Распаковали ассеты игры и нашли .tga? Чтобы его посмотреть, проще всего конвертировать TGA в PNG в онлайн-конвертере FormatZ — текстура откроется в любом просмотрщике, а альфа-канал сохранится.