Компьютерная анимация — это процесс, используемый для цифрового создания движущихся изображений. Более общий термин «компьютерно-генерируемые изображения » (CGI) охватывает как неподвижные, так и движущиеся изображения , в то время как компьютерная анимация относится только к движущимся изображениям. Современная компьютерная анимация обычно использует 3D-компьютерную графику .
Компьютерная анимация — это цифровой преемник покадровой и традиционной анимации . Вместо физической модели или иллюстрации цифровой эквивалент обрабатывается покадрово. Кроме того, компьютерная анимация позволяет одному художнику-графику создавать такой контент без использования актеров, дорогостоящих декораций или реквизита . Чтобы создать иллюзию движения, изображение выводится на монитор компьютера и многократно заменяется новым похожим изображением, но немного сдвинутым во времени (обычно со скоростью 24, 25 или 30 кадров в секунду). Эта техника идентична тому, как иллюзия движения достигается с помощью телевидения и кино .
Чтобы обмануть зрительную систему и заставить ее увидеть плавно движущийся объект, изображения должны быть нарисованы со скоростью около 12 кадров в секунду или быстрее ( кадр — это одно полное изображение). [1] При скорости выше 75–120 кадров в секунду не заметно никакого улучшения реализма или плавности из-за того, как глаз и мозг обрабатывают изображения. При скорости ниже 12 кадров в секунду большинство людей могут заметить рывки, связанные с рисованием новых изображений, что ухудшает иллюзию реалистичного движения. [2] Традиционная рисованная мультипликационная анимация часто использует 15 кадров в секунду, чтобы сэкономить на количестве необходимых рисунков, но это обычно принимается из-за стилизованной природы мультфильмов. Для создания более реалистичных изображений компьютерная анимация требует более высокой частоты кадров.
Фильмы, которые показывают в кинотеатрах США, показывают со скоростью 24 кадра в секунду, что достаточно для создания иллюзии непрерывного движения. Для высокого разрешения используются адаптеры.
Анимация, сгенерированная компьютером, — это обобщающий термин для трехмерной ( 3D ) анимации и двухмерной компьютерной анимации. Они также включают в себя такие подкатегории, как анимация , управляемая активами , гибридная и цифровая рисованная анимация. Создатели анимируют, используя код или программное обеспечение вместо рисунков карандашом на бумаге. Существует множество методов и дисциплин в анимации, сгенерированной компьютером, некоторые из которых являются цифровыми представлениями традиционной анимации, например, анимация по ключевым кадрам , а некоторые возможны только с помощью компьютера, например, моделирование жидкости .
Аниматоры «CG» могут нарушать физические законы, используя математические алгоритмы для обмана массы , силы и гравитации и многого другого. По сути, компьютерная анимация — это мощный инструмент, который может улучшить качество анимации, используя вычислительную мощь для раскрытия воображения аниматора. Это происходит потому, что компьютерная анимация позволяет делать такие вещи, как калькирование , которое позволяет 2D-аниматорам видеть поток своей работы сразу, и интерполяцию , которая позволяет 3D-аниматорам автоматизировать процесс промежуточных действий .
Для 3D компьютерной анимации объекты (модели) строятся на мониторе компьютера (моделируются), а 3D фигуры оснащаются виртуальным скелетом . Затем конечности, глаза, рот, одежда и т. д. фигуры перемещаются аниматором по ключевым кадрам . Обычно различия между ключевыми кадрами рисуются в процессе, известном как tweening . Однако в 3D компьютерной анимации это делается автоматически и называется интерполяцией . Наконец, анимация визуализируется и компонуется .
Прежде чем стать конечным продуктом, 3D-компьютерная анимация существует только как ряд движущихся фигур и систем в 3D-программном обеспечении и должна быть визуализирована . Это может происходить как отдельный процесс для анимаций, разработанных для фильмов и короткометражек, или это может быть сделано в реальном времени при анимации для видеоигр. После того, как анимация визуализирована, ее можно объединить в конечный продукт.
Для 3D-моделей атрибуты могут описывать любую характеристику объекта, которая может быть анимирована. Сюда входит преобразование (перемещение из одной точки в другую), масштабирование, вращение и более сложные атрибуты, такие как blend shape progression (превращение одной формы в другую). Каждый атрибут получает канал, на котором могут быть установлены ключевые кадры . Эти ключевые кадры могут использоваться более сложными способами, такими как анимация в слоях (объединение нескольких наборов данных ключевых кадров) или ключевое управление объектами для деформации или управления другими объектами. Например, к рукам персонажа может быть применен скелет, а к суставам могут быть установлены ключевые кадры преобразования и вращения. Затем движение суставов рук приведет к деформации формы руки.
Программное обеспечение для 3D-анимации интерполирует между ключевыми кадрами, генерируя сплайн между ключами, нанесенными на график, который представляет анимацию. Кроме того, эти сплайны могут следовать кривым Безье , чтобы контролировать, как сплайн изгибается относительно ключевых кадров. Использование интерполяции позволяет 3D-аниматорам динамически изменять анимацию без необходимости переделывать всю промежуточную анимацию. Это также позволяет создавать сложные движения, такие как эллипсы, всего с несколькими ключевыми кадрами. Наконец, интерполяция позволяет аниматору изменять частоту кадров, время и даже масштаб движений в любой точке процесса анимации.
Другой способ автоматизации 3D-анимации — использование процедурных инструментов, таких как 4D- шум . Шум — это любой алгоритм, который выводит псевдослучайные значения в пространстве измерений. [10] 4D-шум можно использовать для таких вещей, как перемещение роя пчел; первые три измерения соответствуют положению пчел в пространстве, а четвертое используется для изменения положения пчелы с течением времени. Шум также можно использовать в качестве дешевой замены для моделирования . Например, дым и облака можно анимировать с помощью шума.
Анимация на основе узлов полезна для анимации органических и хаотичных форм. Используя узлы, аниматор может создать сложный набор правил анимации, которые можно применять либо ко многим объектам одновременно, либо к одному очень сложному объекту. Хорошим примером этого может быть настройка движения частиц в соответствии с ритмом песни.
Существует множество различных дисциплин 3D-анимации, некоторые из которых включают в себя совершенно отдельные формы искусства. Например, моделирование волос для анимированных на компьютере персонажей само по себе является карьерным путем, который включает в себя отдельные рабочие процессы, [11] и различное программное обеспечение и инструменты. Сочетание всех или некоторых дисциплин 3D-компьютерной анимации обычно называют в индустрии анимации конвейером 3D-анимации. [12]
2D-компьютерная графика по-прежнему используется для стилистической, низкоскоростной и быстрой визуализации в реальном времени .
Компьютерная анимация по сути является цифровым преемником методов покадровой анимации , но с использованием 3D-моделей, и традиционных методов анимации, использующих покадровую анимацию 2D-иллюстраций.
Для анимации 2D-фигур используются отдельные объекты (иллюстрации) и отдельные прозрачные слои с виртуальным скелетом или без него.
В 2D компьютерной анимации движущиеся объекты часто называют « спрайтами ». Спрайт — это изображение, с которым связано местоположение. Местоположение спрайта немного меняется между каждым отображаемым кадром, чтобы спрайт казался движущимся. [16] Следующий псевдокод заставляет спрайт двигаться слева направо:
var int x := 0, y := screenHeight / 2; пока x < screenWidthdrawBackground()drawSpriteAtXY (x, y) // рисуем поверх фона x := x + 5 // двигаемся вправо
Компьютерная анимация обычно классифицируется как двухмерная ( 2D ) анимация и также известна как цифровые чернила и краски. Рисунки либо рисуются вручную (карандашом на бумаге), либо интерактивно (на компьютере) с использованием различных вспомогательных устройств и размещаются в специальных программных пакетах. В программном пакете создатель помещает рисунки в различные ключевые кадры , которые по сути создают контур наиболее важных движений. [17] Затем компьютер заполняет «промежуточные кадры», процесс, обычно известный как Tweening . [18] Компьютерная анимация использует новые технологии для создания контента быстрее, чем это возможно с помощью традиционной анимации , при этом сохраняя стилистические элементы традиционно нарисованных персонажей или объектов. [19]
Примерами фильмов, созданных с использованием компьютерной анимации, являются «Русалочка» , «Спасатели в Австралии» , «Красавица и чудовище» , «Аладдин» , «Король Лев» , «Покахонтас» , «Горбун из Нотр-Дама» , «Геркулес» , «Мулан» , «Тарзан» , «Мы вернулись! История динозавра» , «Балто » , «Анастасия» , «Титан AE» , «Принц Египта» , «Дорога в Эльдорадо» , «Спирит: Жеребец Симаррона» и «Синдбад: Легенда семи морей» .
Ранняя цифровая компьютерная анимация была разработана в Bell Telephone Laboratories в 1960-х годах Эдвардом Э. Заяком, Фрэнком В. Синденом, Кеннетом К. Ноултоном и А. Майклом Ноллом. [22] Другая цифровая анимация также практиковалась в Ливерморской национальной лаборатории имени Лоуренса . [23]
В 1967 году Чарльзом Сури и Джеймсом Шаффером была создана компьютерная анимация под названием «Колибри». [24] В 1968 году на БЭСМ -4 Николаем Константиновым была создана компьютерная анимация под названием «Кошечка», изображающая движущуюся кошку. [25] В 1971 году была создана компьютерная анимация под названием «Метаданные», показывающая различные формы. [26]
Ранним шагом в истории компьютерной анимации стало продолжение фильма 1973 года «Мир Дикого Запада» , научно-фантастического фильма об обществе, в котором роботы живут и работают среди людей. [27] В сиквеле «Мир будущего» (1976) использовались трехмерные каркасные изображения, в которых были представлены анимированные на компьютере рука и лицо, оба созданные выпускниками Университета Юты Эдвином Кэтмеллом и Фредом Парком . [28] Первоначально эти изображения появились в их студенческом фильме «Анимированная на компьютере рука» , который они завершили в 1972 году . [29] [30]
Разработки в области технологий CGI ежегодно освещаются на SIGGRAPH [31] — ежегодной конференции по компьютерной графике и интерактивным технологиям , которую ежегодно посещают тысячи компьютерных специалистов. [32] Разработчики компьютерных игр и 3D-видеокарт стремятся достичь того же визуального качества на персональных компьютерах в реальном времени, которое возможно для фильмов и анимации CGI. С быстрым развитием качества рендеринга в реальном времени художники начали использовать игровые движки для рендеринга неинтерактивных фильмов, что привело к появлению художественной формы Machinima .
Короткометражные фильмы CGI выпускались как независимая анимация с 1976 года. [33] Ранние примеры художественных фильмов, включающих CGI-анимацию, включают фильмы с живыми актерами «Звездный путь 2: Гнев Хана» и «Трон» (оба 1982), [34] и японский аниме- фильм «Голго 13: Профессионал» (1983). [35] VeggieTales — первый американский полностью трехмерный компьютерный анимационный сериал, продаваемый напрямую (снят в 1993 году); его успех вдохновил другие анимационные сериалы, такие как «Перезагрузка» (1994) и «Трансформеры: Войны зверей» (1996), на принятие полностью компьютерного стиля.
Первым полнометражным компьютерно-анимационным телесериалом был ReBoot [36] , который дебютировал в сентябре 1994 года; сериал рассказывал о приключениях персонажей, живущих внутри компьютера. [37] Первым полнометражным компьютерно-анимационным фильмом стала Toy Story (1995) , созданная Disney и Pixar [38] [39] [40] после приключения, сосредоточенного вокруг антропоморфных игрушек и их владельцев, этот новаторский фильм также стал первым из многих полностью компьютерно-анимационных фильмов. [39]
Популярность компьютерной анимации (особенно в области спецэффектов ) резко возросла в современную эпоху американской анимации . [41] Такие фильмы, как «Аватар» (2009) и «Книга джунглей» (2016), используют CGI для большей части хронометража фильма, но по-прежнему включают в него живых актеров. [42] Компьютерная анимация в эту эпоху достигла фотореализма до такой степени, что компьютерно-анимированные фильмы, такие как «Король Лев» (2019), могут продаваться так, как если бы они были живыми актерами. [43] [44]
В большинстве систем трехмерной компьютерной анимации аниматор создает упрощенное представление анатомии персонажа, которое аналогично скелету или фигурке из палочек . [45] Они располагаются в позиции по умолчанию, известной как поза связывания , или Т-поза. Положение каждого сегмента скелетной модели определяется переменными анимации, или сокращенно аварами . У персонажей людей и животных многие части скелетной модели соответствуют фактическим костям, но скелетная анимация также используется для анимации других вещей, с чертами лица (хотя существуют и другие методы для лицевой анимации ). [46] Например, персонаж «Вуди» в «Истории игрушек» использует 712 аваров (212 только на лице). Компьютер обычно не визуализирует скелетную модель напрямую (она невидима), но он использует скелетную модель для вычисления точного положения и ориентации этого определенного персонажа, что в конечном итоге визуализируется в изображение. Таким образом, изменяя значения аваров с течением времени, аниматор создает движение, заставляя персонажа перемещаться из кадра в кадр.
Существует несколько методов генерации значений Avar для получения реалистичного движения. Традиционно аниматоры напрямую манипулируют Avar. [47] Вместо того, чтобы устанавливать Avar для каждого кадра, они обычно устанавливают Avar в стратегических точках (кадрах) во времени и позволяют компьютеру интерполировать или делать переходы между ними в процессе, называемом ключевым кадром . Ключевое кадрирование передает управление в руки аниматора и имеет корни в традиционной анимации, нарисованной вручную . [48]
Напротив, более новый метод, называемый захватом движения , использует кадры живого действия . [49] Когда компьютерная анимация управляется захватом движения, настоящий исполнитель разыгрывает сцену так, как будто он является персонажем, который будет анимирован. [50] Их движение записывается на компьютер с помощью видеокамер и маркеров, а затем это исполнение применяется к анимированному персонажу. [51]
Каждый метод имеет свои преимущества, и по состоянию на 2007 год игры и фильмы используют один или оба этих метода в производстве. Анимация по ключевым кадрам может создавать движения, которые было бы трудно или невозможно воспроизвести, в то время как захват движения может воспроизводить тонкости конкретного актера. [52] Например, в фильме 2006 года Пираты Карибского моря: Сундук мертвеца Билл Найи озвучивал персонажа Дэви Джонса . Несмотря на то, что сам Найи не появляется в фильме, фильм выиграл от его игры, записав нюансы его языка тела, позы, выражения лица и т. д. Таким образом, захват движения уместен в ситуациях, когда требуется правдоподобное, реалистичное поведение и действие, но требуемые типы персонажей превосходят то, что можно сделать с помощью обычного костюмирования.
3D компьютерная анимация объединяет 3D модели объектов и запрограммированное или вручную «ключевое» движение. Эти модели строятся из геометрических вершин, граней и ребер в 3D системе координат. Объекты лепятся так же, как настоящая глина или гипс, работая от общих форм до конкретных деталей с помощью различных инструментов для лепки. Если 3D модель не должна быть сплошного цвета, она должна быть окрашена « текстурами » для реалистичности. Система анимации костей/суставов настраивается для деформации модели CGI (например, чтобы заставить гуманоидную модель ходить). В процессе, известном как риггинг , виртуальной марионетке даются различные контроллеры и ручки для управления движением. [53] [54] Данные анимации могут быть созданы с помощью захвата движения или ключевого кадра человеком-аниматором или их комбинации. [55]
3D-модели, созданные для анимации, могут содержать тысячи контрольных точек — например, «Вуди» из «Истории игрушек» использует 700 специализированных контроллеров анимации. Студия Rhythm and Hues трудилась два года, чтобы создать Аслана в фильме «Хроники Нарнии: Лев, колдунья и платяной шкаф» , в котором было около 1851 контроллера (742 только на лице). В фильме 2004 года « Послезавтра » дизайнерам пришлось проектировать силы экстремальных погодных условий с помощью видеореференсов и точных метеорологических фактов. Для ремейка «Кинг-Конга» 2005 года актер Энди Серкис был использован для помощи дизайнерам в определении главного местоположения гориллы в кадрах и использовал его выражения для моделирования «человеческих» характеристик существа. Ранее Серкис озвучивал и играл Голлума в трилогии Дж. Р. Р. Толкиена « Властелин колец» .
Компьютерная анимация может быть создана с помощью компьютера и программного обеспечения для анимации. Некоторые впечатляющие анимации могут быть достигнуты даже с помощью базовых программ; однако, рендеринг может потребовать много времени на обычном домашнем компьютере. [56] Профессиональные аниматоры фильмов, телевидения и видеоигр могли бы сделать фотореалистичную анимацию с высокой детализацией. Этот уровень качества для анимации фильмов занял бы сотни лет, чтобы создать на домашнем компьютере. Вместо этого используется множество мощных рабочих станций ; [57] Silicon Graphics заявила в 1989 году, что потребности индустрии анимации обычно вызывали графические инновации на рабочих станциях. [58] Графические рабочие станции используют от двух до четырех процессоров, и они намного мощнее, чем настоящий домашний компьютер, и специализируются на рендеринге. Многие рабочие станции (известные как « рендер-ферма » ) объединены в сеть, чтобы эффективно действовать как гигантский компьютер, [59] в результате чего получается компьютерно-анимированный фильм, который может быть завершен примерно за один-пять лет (однако этот процесс состоит не только из рендеринга). Рабочая станция обычно стоит от 2000 до 16 000 долларов, причем более дорогие станции способны выполнять рендеринг гораздо быстрее благодаря более технологически продвинутому оборудованию, которое они содержат. Профессионалы также используют цифровые кинокамеры , захват движения/производительности , синие экраны , программное обеспечение для редактирования фильмов , реквизит и другие инструменты, используемые для анимации фильмов. Такие программы, как Blender, позволяют людям, которые не могут позволить себе дорогое программное обеспечение для анимации и рендеринга, работать так же, как и те, кто использует коммерческое оборудование. [60]
Реалистичное моделирование черт лица человека является как одним из самых сложных, так и востребованных элементов в компьютерной графике. Компьютерная анимация лица — это очень сложная область, где модели обычно включают очень большое количество переменных анимации. [61] Исторически говоря, первые руководства SIGGRAPH по современному состоянию лицевой анимации в 1989 и 1990 годах оказались поворотным моментом в этой области, объединив и консолидировав несколько исследовательских элементов и вызвав интерес у ряда исследователей. [62]
Система кодирования движений лица (с 46 «единицами действия», «прикусывание губ» или «прищуривание»), разработанная в 1976 году, стала популярной основой для многих систем. [63] Еще в 2001 году MPEG-4 включал 68 параметров анимации лица (FAP) для губ, челюстей и т. д., и с тех пор эта область достигла значительного прогресса, а использование микровыражений лица возросло. [63] [64]
В некоторых случаях аффективное пространство , модель эмоционального состояния PAD , может использоваться для назначения определенных эмоций лицам аватаров . [65] При таком подходе модель PAD используется как эмоциональное пространство высокого уровня, а пространство нижнего уровня — это параметры анимации лица MPEG-4 (FAP). Затем используется пространство параметров частичного выражения (PEP) среднего уровня в двухуровневой структуре — сопоставление PAD-PEP и модель перевода PEP-FAP. [66]
Реализм в компьютерной анимации может означать, что каждый кадр выглядит фотореалистично , в том смысле, что сцена визуализируется так, чтобы напоминать фотографию, или делает анимацию персонажей правдоподобной и реалистичной. [67] Компьютерная анимация также может быть реалистичной с фотореалистичным рендерингом или без него . [68]
Одной из тенденций в компьютерной анимации была попытка создать человеческих персонажей, которые выглядят и двигаются с наивысшей степенью реализма. Возможным результатом при попытке создать приятных, реалистичных человеческих персонажей является зловещая долина , концепция, в которой человеческая аудитория (до определенного момента) имеет тенденцию иметь все более негативную, эмоциональную реакцию, поскольку человеческая копия выглядит и действует все более и более человечно. Фильмы, в которых пытались создать фотореалистичных человеческих персонажей, такие как «Полярный экспресс» , [69] [70] [71] «Беовульф» , [72] и «Рождественская песнь» [73] [74], были раскритикованы как «сбивающие с толку» и «жуткие».
Целью компьютерной анимации не всегда является максимально точное воспроизведение живого действия, поэтому во многих анимационных фильмах вместо этого используются персонажи, которые являются антропоморфными животными, легендарными существами и персонажами, супергероями или имеют нереалистичные, мультяшные пропорции. [75] Компьютерная анимация также может быть адаптирована для имитации или замены других видов анимации, таких как традиционная покадровая анимация (как показано в фильмах «Смывайся» или «Мелочь пузатая» ). Некоторые из давних основных принципов анимации , такие как сжатие и растяжение , требуют движения, которое не является строго реалистичным, и такие принципы по-прежнему широко применяются в компьютерной анимации. [76]
Популярность веб-сайтов , позволяющих участникам загружать собственные фильмы для просмотра другими, создала растущее сообщество независимых и любительских компьютерных аниматоров. [77] С утилитами и программами, часто включенными бесплатно в современные операционные системы , многие пользователи могут создавать свои собственные анимированные фильмы и короткометражки. Существует также несколько бесплатных и открытых программных приложений для анимации. Легкость, с которой эти анимации могут распространяться, привлекла также профессиональных талантов анимации. Такие компании, как PowToon и Vyond, пытаются преодолеть разрыв, предоставляя любителям доступ к профессиональной анимации в виде клипартов .
Самые старые (наиболее обратно совместимые) веб-анимации находятся в анимированном формате GIF , который можно легко загрузить и просмотреть в Интернете. [78] Однако растровый графический формат GIF-анимаций замедляет загрузку и частоту кадров, особенно при больших размерах экрана. Растущий спрос на более качественную веб-анимацию был удовлетворен векторной графической альтернативой, которая полагалась на использование плагина . В течение десятилетий Flash-анимации были распространенным форматом, пока сообщество веб-разработчиков не отказалось от поддержки плагина Flash Player . Веб-браузеры на мобильных устройствах и мобильные операционные системы никогда полностью не поддерживали плагин Flash.
К этому времени пропускная способность интернета и скорость загрузки увеличились, что сделало растровую графическую анимацию более удобной. Некоторые из более сложных векторных графических анимаций имели более низкую частоту кадров из-за сложного рендеринга по сравнению с некоторыми альтернативами растровой графики. Многие из GIF- и Flash-анимаций уже были преобразованы в цифровые видеоформаты , которые были совместимы с мобильными устройствами и уменьшали размеры файлов с помощью технологии сжатия видео . Однако совместимость все еще была проблематичной, поскольку некоторые видеоформаты, такие как Apple QuickTime и Microsoft Silverlight, требовали плагинов. YouTube также полагался на плагин Flash для доставки цифрового видео в формате Flash Video .
Последними альтернативами являются HTML5- совместимые анимации. Такие технологии, как JavaScript и CSS-анимации, сделали последовательность движения изображений на веб-страницах HTML5 более удобной. SVG-анимации предложили векторную графическую альтернативу оригинальному графическому формату Flash, SmartSketch . YouTube предлагает HTML5-альтернативу для цифрового видео. APNG (анимированный PNG) предложил растровую графическую альтернативу анимированным GIF-файлам, которая обеспечивает многоуровневую прозрачность, недоступную в GIF-файлах.
Компьютерная анимация использует различные методы для создания анимаций. Чаще всего сложная математика используется для манипулирования сложными трехмерными полигонами , применения « текстур », освещения и других эффектов к полигонам и, наконец, визуализации полного изображения. Для создания анимации и организации ее хореографии может использоваться сложный графический пользовательский интерфейс . Другая техника, называемая конструктивной объемной геометрией, определяет объекты путем проведения булевых операций над правильными формами и имеет то преимущество, что анимации могут быть точно созданы при любом разрешении.
Некоторые известные продюсеры компьютерно-анимационных художественных фильмов:
В 2022 году было выпущено несколько высококачественных моделей преобразования текста в видео, систем ИИ, которые могут генерировать видеоклипы из заданного текста.