Как свет превращается в цветовые ступени

Обычный 3D-рендер меняет яркость поверхности постепенно: участок, повёрнутый к источнику света, светлее, а отвёрнутый — темнее. Сел-шейдинг заменяет этот плавный переход несколькими заранее заданными уровнями. Например, программа может относить каждый участок модели к светлому, среднему или теневому тону — как если бы художник раскрашивал кадр ограниченной палитрой.

Для этого рендерер оценивает, под каким углом поверхность обращена к свету, и по результату выбирает цвет из набора. Граница между тонами получается резкой, а не размытой. Именно она создаёт впечатление рисунка, хотя объём, форма и положение объектов по-прежнему заданы в 3D.

Почему одного упрощения света недостаточно

Чтобы кадр читался как мультфильм, художники настраивают не только оттенки. Контуры могут подчеркнуть границы модели, а блики — стать отдельными графическими пятнами. Иногда цвет поверхности вообще не затемняют обычным способом: вместо этого ему назначают один из плоских тонов в зависимости от освещения.

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

Объём остаётся внутри

Сел-шейдинг не превращает модель в настоящую плоскую картинку: он меняет способ отображения света. Поэтому одна и та же сцена может сохранять перспективу и объём, но выглядеть так, будто её нарисовали несколькими уверенными мазками. Ключевой компромисс — оставить достаточно световых подсказок, чтобы форма была понятна, и убрать те плавные переходы, которые выдают реалистичный рендер.