
Авторы: Йинг Лю, Джаред Райт, Александр Альварадо
– Walt Disney Animation Studios

Аннотация
В фильме «Холодное сердце 2», анимационной студии Disney, костюмы играют важную роль в дизайне персонажей и сюжете. Сложная вышивка на костюмах отражает ключевые черты характеров персонажей, символизируемые различными формами и узорами. Одной из задач команды по персонажам было воплощение сложной вышивки, которая является неотъемлемой частью внешнего вида героев.
Мы представляем новый подход, основанный на кривых, для процедурной генерации сложной вышивки, который может преобразовывать 2D-представление в виде линий в [объёмные] кривые при рендеринге. Эти кривые деформируются вместе с костюмами, оставаясь при этом плоскими на их поверхности. Такой метод прост и интуитивно понятен. Создание и визуализация происходят довольно легко, что позволяет быстро вносить изменения без значительного объёма ручной работы художников при изменении дизайна.
Метод поддерживает свободные стежки с нитями различной толщины, цвета и прозрачности, что позволяет реализовать широкий спектр стилей вышивки.
Убедительные и привлекательные персонажи всегда являются краеугольным камнем анимационных фильмов Disney Animation, а костюмы — неотъемлемой частью персонажей. В «Холодном сердце 2» визуальный дизайн костюмов характеризуется различными формами и символами, вышитыми на одежде. Вышивка — это не просто аксессуар, а неотъемлемый компонент персонажей и сюжета. Создание, движение и рендеринг сложной вышивки стали ключевой задачей для команды по персонажам.
Ранее, в мультфильме «Холодное сердце», вышивка создавалась с использованием подхода, основанного на [текстурных] картах (см. Рисунок 2). Были созданы несколько слоев текстурных карт, включая карты смещения (displacement) нитей и бортиков для имитации рельефного вида стежков, карты ориентации для управления размещением стежков и цветовые карты для управления цветами нитей. Все эти карты затем объединялись для создания окончательного вида вышивки. При таком подходе художникам приходилось перерисовывать все слои текстурных карт при любых изменениях дизайна. Это было очень трудоемко и неэффективно.

Подход
2.1 Входные данные
Узоры вышивки в реальном мире состоят из отдельных стежков, которые могут быть представлены линиями или кривыми. Входные данные для нашего процесса генерации вышивки представляет собой набор линий, представляющих стежки любого вышивочного узора. Мы поддерживаем кривые из Adobe Illustrator и Disney’s Meander – нашего внутреннего векторного инструмента рисования¹. Ввод также может осуществляться NURBS-кривыми, напрямую созданными в Maya.
2.2 Инструмент подготовки вышивки
Инструмент подготовки вышивки используется для обработки входных данных и преобразования линий или NURBS-кривых в форму multiCurve студии Disney. multiCurve — это наш внутренний агрегированный узел кривых, который может представлять большое количество кривых. Он значительно более эффективен для загрузки и визуализации в Maya, чем NURBS-кривые, что делает итерации [создания вышивки] проще и быстрее.
Затем инструмент связывает кривые с тканью на основе расположения вышивки. Цветовые и прозрачные свойства каждого стежка также могут быть заданы с помощью этого инструмента.
2.3 Генератор вышивки
multiCurve, определяющий дизайнерские узоры, передается в XGen для генерации окончательного вида стежков вышивки на костюме при рендеринге. XGen — это наш внутренний инструмент инстанцирования, используемый для процедурного заполнения геометрических поверхностей большим количеством объектов произвольной формы. Это очень универсальный инструмент, который в основном используется для создания волос и растительного окружения. Для «Холодного сердца 2» мы расширили его возможности, внедрив новый генератор вышивки. Художники также могут воспользоваться существующей функциональности XGen для создания более реалистичной вышивки.
Можно добавить эффекты шума для создания менее идеальных стежков и более органичного, ручного вида с неровными, зубчатыми краями. Это также помогает разбить зеркальное отражение (specular response) гораздо более естественным образом и достичь более равномерного распределения света, чем при использовании текстурных карт.
Для управления поведением стежков был добавлен модуль Flatten, который предотвращает их пересечение или провисание на поверхности ткани. Этот модуль гарантирует, что стежки будут плотно прилегать к костюму, естественно складываясь, сминаясь и растягиваясь в соответствии с движениями ткани.
Смещение кривых используется для достижения рельефного вида стежков на вышивке. Через XGen можно определить толщину каждой нити, и передать цвета, и уровни прозрачности в шейдер для рендеринга.



Результаты и выводы
Новый рабочий процесс для создания вышивки, основанный на кривых, предоставил художникам интуитивно понятное средство для создания сложных узоров. Художникам очень легко вносить изменения в эти узоры и размещать их на ткани. Повторяющиеся узоры можно легко создавать путем копирования и вставки. На Рисунке 3 показаны результаты на каждом этапе процесса. На Рисунке 4 (a) показан детализированный рельефный вид.
Кроме того, в реальности, один стежок вышивки может состоять не только из одной, но и из нескольких нитей; XGen предоставляет модуль Curve Bundle для достижения такого вида, как показано на Рисунке 4 (b).
Благодаря использованию multiCurve и процедурности XGen, такой метод очень прост, поскольку у художников нет необходимости передавать большие объёмы данных по пайплайну. Этот новый набор инструментов позволил создать множество образцов вышивки, воплощенных в красивых и сложных костюмах в мультфильме «Холодное сердце 2».
Далее представлен демонстрационный ролик с поведением вышивки при деформации ткани.