Что за единая чёткость текстур (Texel Density) — объясняем простыми словами + калькулятор
Этот мини-гайд рассчитан на начинающих разработчиков, хотя и не исключено, что более опытные представители индустрии найдут что-то полезное.
TL;DR
- Texel Density (TD) — это «сколько пикселей текстуры приходится на метр модели» (px/м). Когда TD согласован, сцена выглядит ровно.
- Начните с трёх категорий: герой (1024–2048 px/м), проп у камеры (512–1024), фон (256–512). Для мобайла — на ступень ниже.
- Возьмите площадь поверхности модели → в калькуляторе получите рекомендованный размер текстуры. Округляйте до степеней 2 (512/1024/2048).
- Проверяйте выборочно в редакторе: у крупного — чётко, у фона — ровно и без «мыла».
Калькулятор (Excel): скачать
Что это такое и почему важно
Texel Density — сколько пикселей текстуры приходится на метр поверхности модели. (px/m)
Когда в одной сцене на кубике рядом с камерой 2K текстуры, а на руке героя — 512 px, глаз цепляется за разницу. Единый TD решает сразу три проблемы:
Ровная картинка: нет такого, что одна текстура словно из 2000 года, а вторая — 4K SUPER ULTRA MEGA DRIVE.
Предсказуемый вес: вы примерно знаете, сколько VRAM уйдёт на сцену.
Меньше спорных правок: есть понятные нормы по категориям.
Базовые ориентиры
Герой, крупный план: 1024–2048 px/м
Пропы рядом с камерой: 512–1024 px/м
Фон/декор: 256–512 px/м
В мобилках берите на ступень ниже того же назначения
Это не закон, а отправная точка. Адаптацию под стиль\проект никто не отменял.
Пошагово: как применить TD к любой модели
Шаг 1. Узнать площадь поверхности модели
Нет необходимости считать каждый пиксель, приблизительных значений достаточно.
Для Блендер:
- Edit → Preferences → Add-ons → включите 3D Print Toolbox.
- В 3D Viewport → Sidebar (N) → 3D-Print нажмите Area — увидите площадь в м².
- Убедитесь, что единицы сцены — Metric.
UE:
- Откройте меш в Static Mesh Editor.
- В правой панели/статистике ищите Approximate Surface Area (если недоступно — возьмите оценку из DCC или посчитайте по частям).
Unity:
Прямой метрики нет. Возьмите площадь из DCC (Blender/Maya) — это нормально. В Unity важно проверить масштаб (чтобы метр в сцене был метром).
Если точную площадь быстро не получить — оцените крупно (например, «ящик 1×0.5×0.5 ≈ 2.5 м²»). Калькулятор выдерживает погрешности.
Шаг 2. Выбрать целевой TD
Определите категорию ассета (герой / рядом / фон / мобайл) и возьмите TD из ориентиров выше. Для начала вообще можно взять какое-нибудь среднее из диапазонов.
Шаг 3. Получить размер текстуры
Откройте скачанный Excel (если не скачали, то вот урл): лист TD_Calc. Заполните три колонки:
- A (м²): площадь поверхности
- TD (px/м): целевое значение
- Коэф. упаковки: насколько плотно вы укладываете UV в текстуру/атлас (обычно 0.75–0.9)
Калькулятор выдаст:
- Рекомендованный размер (пиксели по большой стороне)
- Ближайшую степень двойки (512/1024/2048 и т. д.)
Для не-квадратных текстур ориентируйтесь на большую сторону и не забывайте про mipmaps.
Шаг 4. Округлить и экспортировать карты
Округлите размер до ближайшей степени 2. Экспортируйте карты в нужном формате под вашу платформу (для ПК — семейство BC, для iOS — ASTC и т. п.). Если собираете атласы, учитывайте, что общий коэф упаковки уменьшает полезную площадь.
Обратная проверка
Для ревью будет полезно следующее:
В excel есть лист TD_Reverse:
Введите текущий размер текстуры, площадь модели и упаковку — получите фактический TD. Если фактический TD гуляет сильнее нормы между похожими ассетами, выровняйте (увеличьте или уменьшите текстуру/плотность UV).
Как этот TD живёт с разными техниками
Tiling-материалы (повторяемые текстуры): Отличный вариант для стен, земли, скал. TD контролируете через масштаб тайлинга на материале. Крупные детали можно подклеить декалями.
Trim-sheets: Отлично подходят для архитектуры и модульных наборов. TD определяется самим листом. Важно сохранить «мастер-шифр» значений, чтобы все элементы одного семейства были чёткими и согласованными.
UDIMы: Удобно для крупных персонажей/механизмов. TD по «плиткам» должен быть согласован, иначе тело будет «пестрить».
Атласы: Помните, что упаковка никогда не 100% (поэтому в калькуляторе есть коэффициент). Если не влазит — либо снижайте TD младших элементов, либо поднимайте размер атласа ступенью выше.
Как это проверить в редакторе
Blender
В UV Editor включите отображение Texel Density (через аддоны/скрипты) или визуальный грид. Смотрите, чтобы элементы одной семьи имели похожую плотность.
Unity
Проверяйте визуально на эталонной сцене: один ассет рядом с другим. Для UI — убедитесь, что спрайты в атласах не слишком сжаты. Для 3D — держите одинаковую «чёткость» у соседних объектов.
UE
В Material/Texture настройках используйте корректные LODBias/MaxInGame и подходящие Texture Group. Сцена для проверки должна быть с реальной дистанцией камеры.
Всплывающие вопросы
Нужна ли точная площадь поверхности?
Нет, не нужна. Достаточно примерной оценки, так мы сможем получить согласованность меж ассетов.
Что с мобилками и VR?
Снижайте TD на одну ступень для той же категории. Здесь гонимся за фактическим изображением на устройстве.
Почему у меня не влазит в атлас?
Учтите упаковку в пределах 0.75–0.9; либо снизьте TD младших элементов, либо поднимите атлас на ступень.
Вкратце напоследок
TD — это не про цифры ради цифр, скорее про чёткую картинку и предсказуемость. Как только заданы базовые значения — и мыло уходит, и споры прекращаются (если есть с кем спорить).
На этом фундаменте дальше спокойно настраиваются атласы, шейдеры и LOD.
Если было интересно, ставьте реакции.
Есть что предложить или сказать? Ждём в комментах.
Всем добра.