TGA в играх и графике: где формат Targa живёт сегодня
Формату TGA больше сорока лет, а он всё ещё попадается в папках с файлами игр, в рабочих процессах студий (их называют «пайплайн») и в настройках 3D-программ. Почему индустрия не «похоронила» старичка и в каких задачах он до сих пор обыгрывает модный PNG — разбираем по полочкам.
Почему игры вообще полюбили 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-формат.
Хитрость с цветом под прозрачностью
Вот техническая причина, по которой многие команды до сих пор предпочитают TGA, а не PNG для альфа-текстур. Звучит неочевидно, но это реально важно.
Когда пиксель полностью прозрачен, у него всё равно есть цвет «под» прозрачностью — просто мы его не видим. Многие инструменты при экспорте в PNG обнуляют этот скрытый цвет (делают его белым или чёрным). А движок при отрисовке сглаживает края текстуры и подмешивает соседние пиксели — и наружу вылезает та самая кайма: тёмный или белый ореол по контуру листа, волоса, верёвки.
TGA честно хранит цвет даже под нулевой альфой. Художник может заранее «закрасить» нужным цветом даже невидимые, прозрачные области (этот приём называют расширением цвета) — и тогда по краям не появится грязной каёмки. Для травы, деревьев, цепей и любых текстур со сложным контуром это решает.
Спрайты, 2D и ретро-графика
В 2D-играх и пиксель-арте у TGA своя ниша. Спрайту критично важны два качества: чистая прозрачность без артефактов и точные, неискажённые пиксели. JPEG здесь не подходит в принципе (он размывает и портит резкие края), а TGA — наоборот, идеален: каждый пиксель на месте, альфа-канал чёткий.
Многие старые игровые движки и наборы инструментов разработчика исторически читали именно TGA, поэтому в проектах «под старину» и в эмуляции формат всё ещё естественен. Это не значит, что TGA — единственный выбор для 2D (PNG тут тоже отлично справляется), но как рабочий формат исходных кадров он удобен и надёжен.
Видео, VFX и секвенции кадров
За пределами игр у TGA есть вторая жизнь — в видеопроизводстве и спецэффектах. Здесь его используют не как одиночную картинку, а как секвенцию кадров: один TGA-файл на каждый кадр анимации или рендера, пронумерованные подряд (frame_0001.tga, frame_0002.tga и так далее).
Зачем так сложно, если есть готовые видеоформаты? Причин несколько:
- Надёжность. Если многочасовой рендер прервётся, уже готовые кадры не пропадут — продолжить можно с места обрыва.
- Каждый кадр без потерь. Никакого видеосжатия, которое мылит картинку. Для композитинга и цветокоррекции это принципиально.
- Альфа-канал в каждом кадре. Можно накладывать элементы поверх готового видео (его называют футажом) без чёрного фона.
Именно поэтому TGA исторически прижился в системах титров и графики реального времени (например, в линейке Avid). А по части специфики альфа-канала и сжатия рекомендуем наш технический разбор «Альфа-канал и RLE».
Где 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. Остальные конвертации — на странице всех форматов.
Частые вопросы о TGA в играх
Читайте также
Основы форматовЧто такое TGA: гид по формату Truevision Targa
История, альфа-канал и устройство формата простыми словами.
СравнениеTGA против PNG: что выбрать и почему
Размер, альфа, сжатие и совместимость — два формата без потерь лицом к лицу.
ИнструкцияКак открыть и конвертировать TGA
Чем открыть .tga и как перевести его в PNG или JPG за пару секунд.