Коротко: плотность текселей — это сколько пикселей текстуры покрывают реальную единицу поверхности, и сохранять её постоянной есть разница между окружением, которое читается как один связный мир, и таким, что выглядит как ассеты из пяти разных игр, склеенные вместе. Эта статья определяет её просто, даёт значения пикселей-на-метр, которые реально используют выпущенные игры, показывает, как измерять её шахматной текстурой, объясняет те немногие места, где правило следует нарушать, и излагает, как внедрить единый стандарт по команде, не контролируя каждый UV вручную.
Кирпичная стена — это урок плотности текселей в камне: каждый кирпич несёт одинаковое количество деталей на сантиметр. Когда один ассет в вашей сцене имеет удвоенную плотность текселей соседа, игроки чувствуют неправильность, даже если не могут её назвать.
Что такое плотность текселей на самом деле
Плотность текселей означает разрешение текстуры на единицу поверхности, обычно пиксели на метр или на сантиметр. Текстура в 1024 пикселя на стене 4 метра даёт 256 px/m; та же текстура на стене 2 метра даёт 512 px/m, вдвое чётче.
«Тексель» — это пиксель текстуры. Плотность текселей измеряет, сколько их приходится на данное количество поверхности в мире. Это мост между вашим разрешением текстуры (свойством изображения) и масштабом вашей модели (свойством мира), и поскольку она зависит от обоих, два ассета с идентичными 2K-текстурами могут выглядеть дико по-разному, если один наложен на поверхность вдвое большего размера, чем другой. Это несоответствие ловит ваш глаз: чёткая дверь рядом с размытой стеной, или острейший ящик на фоне кашеобразного пола. Постоянство, а не максимальное разрешение, продаёт единый вид.
Значения, которые используют выпущенные игры
Распространённый стандарт: 512 px/m (≈5,12 px/cm) для общих поверхностей окружения, падающий до 256 для большого дальнего рельефа и растущий до 1024+ для геройских пропов, к которым камера приближается. Выбирайте базу по тому, насколько близко подходит игрок.
Универсального числа нет: оно задаётся вашей целевой платформой, дистанцией камеры и бюджетом памяти, но рабочие диапазоны хорошо установлены:
- Большой рельеф / дальняя архитектура: ~256 px/m: игрок никогда не подходит близко, так что деталь там просто впустую потраченная память
- Общее играбельное окружение (стены, полы, средние пропы): ~512 px/m, распространённая, комфортная база
- Геройские ассеты, к которым камера придвигается (ключевой проп, деталь на высоте лица): 1024 px/m или выше
- Руки / оружие от первого лица: самая высокая из всех, потому что они всегда в сантиметрах от камеры
Принцип за числами: плотность текселей должна масштабироваться с тем, насколько близко подходит игрок. Задайте базу из вашей самой тесной обычной дистанции камеры, затем понижайте на ступень для того, что всегда далеко. Студия выбирает одно базовое число, пишет его в арт-библию и держит на нём каждый общий ассет.
Как её измерять
Наложите шахматную текстуру с известным значением пикселей-на-квадрат на вашу модель в её финальном масштабе. Если квадраты выглядят одного размера на каждом ассете сцены, ваша плотность текселей постоянна. Несовпадающие размеры квадратов раскрывают проблему мгновенно.
Шахматная (или «UV-сетка») текстура — самый полезный отдельный инструмент здесь. Это тайловый узор цветных квадратов; когда вы назначаете её ассетам в финальном мировом масштабе, каждый квадрат представляет фиксированное число текселей. Постоянная плотность значит, что квадраты одного физического размера по каждой поверхности. Стена, чьи квадраты вдвое больше квадратов пола, недотекстурирована относительно пола, теперь вы можете видеть несоответствие плотности, а не гадать. У большинства DCC-инструментов и движков есть проверщик плотности текселей или скрипт, сообщающий px/m напрямую; так или иначе, шахматная текстура остаётся быстрой визуальной проверкой на чутьё, которую каждый художник должен держать в одном нажатии клавиши.
Реальное строительство держит каждый элемент в общих допусках, чтобы части сходились. Стандарт плотности текселей выражает ту же идею для поверхностей: общая спецификация, заставляющая независимо построенные ассеты читаться как одна структура.
Когда нарушать правило
Поднимайте плотность на геройских ассетах, на которых камера задерживается, и понижайте её на том, что всегда далеко или крошечно на экране. Одинаковая плотность везде тратит память на дальнее и морит голодом ближнее. Постоянство значит постоянное ДЛЯ ЕГО ДИСТАНЦИИ КАМЕРЫ, а не идентичное везде.
«Постоянная плотность текселей» не значит одно число для всей игры, а значит намеренную плотность, подходящую роли каждого ассета, без случайных несоответствий между соседями. Геройская статуя, к которой игрок подходит, заслуживает 1024+; силуэт горы в двух километрах в порядке при 128. Мастерство в том, что понижения намеренны и задокументированы, а не случайный результат того, кто что смоделировал. Полезная ментальная модель: бюджетируйте память текстур, как бюджетируете полигоны: тратьте её там, где камера проводит время, и морите голодом места, которые она никогда не посещает.
Внедрение по команде
Стандарт, который никто не может проверить, — это стандарт, которому никто не следует. Сделайте его внедряемым: общая шахматная текстура, скрипт отчёта плотности на шаге импорта, и однострочная спецификация в арт-библии, чтобы конвенционные ассеты были путём наименьшего сопротивления.
Здесь плотность текселей перестаёт быть сольным ремесленным навыком и становится проблемой пайплайна. В команде плотность дрейфует в тот момент, когда зависит от того, помнит ли каждый художник число, потому что люди моделируют в разных масштабах, импортируют с разными настройками и оценивают на глаз по-разному. Что держит линию — это инструментарий:
- Общая шахматная текстура, которую все назначают одинаково, чтобы несоответствия были видны в каждом ревью.
- Проверка плотности при импорте: скрипт, сообщающий px/m и помечающий всё вне согласованной полосы, прежде чем оно попадёт в библиотеку.
- Одностраничная спецификация: базовое число, геройские и рельефные исключения, и рабочий процесс шахматки, в арт-библии, которую все читают в первый день.
Постоянство — это также проблема находимости: чтобы держать ассеты в стандарте, нужно уметь видеть их все, сравнивать и замечать выброс, вот почему браузер контента, рендерящий постоянные миниатюры и позволяющий сортировать огромную библиотеку, как в Numivo, тихо облегчает дисциплину плотности текселей: выбивающийся из ряда виден с одного взгляда, а не обнаруживается в движке три месяца спустя.
Полевые числа, которые стоит украсть
- База общего окружения: ~512 px/m (≈5,12 px/cm)
- Дальний рельеф / дальняя архитектура: ~256 px/m, ближе тратит память
- Геройские / ближне-камерные ассеты: 1024 px/m и выше
- Инструмент, делающий её видимой: шахматная / UV-сетка текстура в финальном масштабе
- Внедрение, что держится: шахматка + отчёт при импорте + одностраничная спецификация, а не память и нытьё
Мини-FAQ
Более высокая плотность текселей всегда лучше, верно? Нет: она стоит памяти текстур и полосы стриминга ради деталей, которые игрок может никогда не увидеть вблизи. За пределом разрешения, которое камера может различить на этой дистанции, лишние тексели ничего не дают. Согласуйте плотность с дистанцией камеры, а не с «как можно выше».
Меняет ли это текстурирование trim-sheet и тайлингом? Оно меняет, как вы достигаете цели, а не саму цель. Тайлинг-текстуры и trim sheet'ы часто — самый лёгкий способ держать плотность постоянной по большим поверхностям, потому что один и тот же лист в одном масштабе даёт одну плотность везде, где используется.
Как починить уже непостоянную библиотеку? Измерьте репрезентативную выборку шахматкой, чтобы найти разброс, согласуйте базу, и чините оппортунистически: переплотняйте ассеты по мере того, как сцены их втягивают, а не пытайтесь героически пройти всю библиотеку. Ассеты, которые важны, чинятся первыми, потому что они в использовании.
А как насчёт мобильных или Switch? Та же концепция, ниже базы: вы можете гонять 256 px/m как общий стандарт вместо 512. Дисциплина идентична; двигаются только числа, чтобы уместиться в бюджет памяти.
Плотность текселей — один из тех негламурных фундаментов, что отделяют профессионально выглядящие окружения от студенческих. Выберите базу, сделайте её видимой шахматкой, внедрите её проверкой на входе, и ваши независимо построенные ассеты наконец прочитаются как единый, правдоподобный мир.