История RenderMan от Pixar: как создатели «Истории игрушек» произвели революцию в 3D-анимации
В 1988 году студия Pixar представила инновационный инструмент RenderMan. Программа стала плодом многолетнего труда учёных Роберта Кука, Лорена Карпентера, Тома Портера и Пэта Ханрахана. Но настоящим отцом проекта стал пионер компьютерной графики Эдвин Кэтмелл. С помощью RenderMan делали 3D-эффекты и анимацию для «Аватар», «Головоломка 2», «Чужой: Ромул» и «Дедпул и Росомаха». Давайте вспомним, с чего всё начиналось.
В 2023 году институт инженеров электротехники и электроники вручил создателям RenderMan престижную награду IEEE Milestone. Церемония прошла в штаб-квартире Pixar в Эмеривилле, Калифорния. «Я глубоко польщён тем, что IEEE отмечает это достижение», — сказал на церемонии Эдвин Кэтмелл. «Преданность делу и упорный труд каждого в нашей команде привели нас к этому моменту».
Церемония вручения награды IEEE Milestone
Трое из четырёх создателей RenderMan — Кук, Карпентер и Портер — трудились плечом к плечу в отделе разработки студии Lucasfilm. Именно из него после инвестиций от Стива Джобса выросла студия Pixar. А вот Ханрахан присоединился к команде уже после её отделения. Впрочем, история ПО, которое в итоге стало RenderMan, началась значительно раньше. И в совершенно другом месте.
От Юты и NYIT до Lucasfilm
В начале 70-х будущий технический директор Pixar Эдвин Кэтмелл был аспирантом в Университете Юты. Там он разработал принцип наложения текстур — метод усложнения поверхности, созданной компьютером. Позже его технология станет важной частью RenderMan.
После получения степени в 1974 году Кэтмелл перебрался на Лонг-Айленд в Нью-Йоркский технологический институт (NYIT). Там он стал директором недавно открытой лаборатории компьютерной графики. Основатель NYIT, миллионер Александр Шур, создал её для использования компьютеров в создании анимационных фильмов. Вскоре к лаборатории присоединились Малкольм Бланшар, Элви Рэй Смит и Дэвид ДиФранческо.
Бланшар на тот момент уже спроектировал и собрал оборудование, которое позволяло урезать 3D-фигуры, отбрасывая всё лишнее, кроме видимой в кадре части. Так можно было сильно экономить вычислительные ресурсы. Смит помогал разрабатывать SuperPaint в исследовательском центре Xerox в Пало-Альто. Это была одна из первых программ для редактирования растровой графики. А ДиФранческо, художник и учёный, работал вместе со Смитом над его проектом.
В течение следующих пяти лет команда создала так много инновационных технологий, что когда Кэтмелл попытался просто записать их названия, у него на это ушло четыре страницы. В частности, там была Tween — программа, которая автоматически генерирует промежуточные кадры между ключевыми кадрами анимации. И Alpha Channel, которая объединяла отдельные элементы в одно изображение.
«Мы не держали [нашу работу] в секрете», — отмечал Кэтмелл в интервью The Institute. Команда создала 22-минутное демонстрационное видео, чтобы показать свои технологии в действии. Это привлекло внимание знаменитого режиссёра и продюсера Джорджа Лукаса, основателя Lucasfilm, создателя франшиз «Звёздные войны» и «Индиана Джонс».
В то время Лукас стремился цифровизировать процесс производства фильмов. И в 1979 году нанял Кэтмелла, чтобы возглавить недавно созданное компьютерное подразделение компании. Продюсер поручил ему разработать цифровую нелинейную систему для монтажа фильмов, цифровую систему монтажа звука и лазерный принтер для печати изображений на киноплёнке.
Эд Кэтмелл, Элви Рэй Смит и Лорен Карпентер в офисе Lucasfilm
Но Смит, который стал директором графического отдела нового подразделения, вскоре понял, что Лукас не до конца понимает, как работает компьютерная графика. А главное — насколько полезной она может стать для киноиндустрии. Чтобы продемонстрировать Лукасу её возможности, учёные решили разработать новую программу для рендеринга. Такую, которая могла бы генерировать сложные фотореалистичные изображения, практически неотличимые от картинки, снятой вживую на кинокамеру.
Они сформировали отдельную команду для работы над новой программой. В 1981 году к ним присоединились Лорен Карпентер и Роберт Кук. Карпентер до этого работал в группе автоматизированного проектирования в авиакомпании Boeing. Там он разработал процедурное моделирование — алгоритм, создающий 3D-модели и текстуры по определённым шаблонам.
Кук же, недавно окончивший Корнеллский университет, перед этим опубликовал статью о том, почему почти каждый объект, созданный на компьютере, выглядит как пластик. Эта статья попалась на глаза Кэтмеллу и Смиту. Они были настолько впечатлены, что предложили начинающему учёному работу инженера-программиста. Так на свет появился проект, который позже станет известен под названием RenderMan.
От REYES до RenderMan
Разумеется, название RenderMan программа получила не сразу. Первоначально она называлась REYES (Render Everything You Ever Seen). Карпентер и Кук хотели, чтобы REYES создавала декорации, имитирующие окружающую реальность, добавляла объектам размытие в движении и устраняла «ступенчатые» диагональные линии, появляющиеся на мониторах с низким разрешением.
Лорен Карпентер работает над будущим RenderMan
В то время ни один настольный компьютер не был достаточно мощным для обработки столь инновационных алгоритмов. Карпентер и Кук в какой-то момент пришли к осознанию, что в итоге им придётся построить собственный компьютер, который будет гораздо производительнее всего, что представлено на рынке. Но сначала нужно было преодолеть несколько фундаментальных препятствий.
«Компьютерам нравится работать с одним типом объектов, но для 3D-сцен нужно много разных типов. Компьютеры любят обрабатывать группы объектов вместе, но рендеринг имеет две
естественные группы, которые конфликтуют между собой. Это затенение (которое вы делаете в каждой точке на поверхности) и скрытие (то, что вы делаете в каждом отдельном пикселе)», — объяснял Кук.
Рабочий экран RenderMan во время работы над «Историей игрушек»
И Карпентер создал алгоритм REYES для решения этой проблемы. Он определил стандартный объект, крошечный одноцветный четырёхугольник шириной менее половины пикселя, и назвал его «микрополигоном». Карпентер подсчитал, что на 1000 полигонов, из которых обычно состоит объект, нужно около 80 миллионов микрополигонов. Затем он разделил рендеринг на два этапа: один для расчёта цветов микрополигонов, а другой для их использования в процессе определения цветов пикселей.
Чтобы устранить лесенки на краях объектов, Кук использовал метод Монте-Карло. Он случайным образом выбирал точки, чтобы устранить артефакты и наложения падающего света. Правда, это приводило к возникновению шума на поверхностях. «Есть и другой способ выбора точек», — объяснял Кук. «Вы выбираете точку случайным образом, и следующую — тоже случайным образом, но вы отбрасываете её, если она слишком близка к первой точке».
Этот метод известен как Закон Пуассона, смоделированный на основе распределения клеток в сетчатке человеческого глаза. Они также имеют на первый взгляд случайный рисунок, но с постоянным минимальным интервалом. Применение метода Монте-Карло устранило раздражающие визуальные артефакты ранней 3D-анимации. Распределение также упростило другие важные задачи инструментов для рендеринга. Например, создание размытия движения и имитации эффекта глубины резкости.
«Создание размытия движения было, вероятно, самой сложной проблемой, с которой мы столкнулись. Портер предложил использовать для её решения понятие случайной выборки. Вместо того чтобы просто определять цвет каждой точки, система анализировала его изменение во времени. Каждой сэмплируемой точке присваивается случайное время в промежутке между открытием и закрытием затвора виртуальной камеры. Усреднение этих значений создавало эффект размытия», — рассказал Кэтмелл в интервью IEEE Spectrum в 2001 году.
Этот же подход позволил симулировать эффект глубины резкости — когда одни области изображения остаются в фокусе, а другие размываются. Для создания расфокусировки с помощью точечного сэмплинга программа назначала каждой случайно выбранной точке случайное положение на воображаемой линзе.
Том Портер, предложивший элегантный способ решения проблемы размытия
Сначала Кэтмелл и компания запустили свой новый софт на компьютере VAX 11/780, который выполнял один миллион инструкций в секунду. Но он был слишком медленным, поэтому команда разработала собственный компьютер Pixar для обработки изображений. Получившаяся машина работала со скоростью 40 миллионов инструкций в секунду.
Pixar и деньги Стива Джобса
В 1984 году команда REYES пригласила аниматора Джона Лассетера, чтобы тот снял для них первый короткометражный фильм с использованием новых технологий. Так на свет появился полутораминутный 3D-мультфильм «Приключениях Андре и Пчёлки Уолли». В нём антропоморфное существо пыталось убежать от огромной пчелы. Премьера состоялась на конференции «Ассоциации вычислительной техники» 1984 года.
Демонстрация пробы пера в 3D-анимации определённо имела успех. И студия визуальных эффектов Industrial Light and Magic попросила команду создать первого CGI-персонажа для полнометражного фильма. Им стал рыцарь из витражного стекла для фильма «Молодой Шерлок Холмс» (1985).
Первый CGI-персонаж в фильме «Молодой Шерлок Холмс» (1985)В 1986 году компьютерное подразделение Lucasfilm, в котором работали 40 человек, отделилось от головной компании и стало самостоятельной студией. Которая вскоре превратилась в Pixar. «Сначала мы просто производили оборудование. Мы превратили прототип компьютера Pixar в коммерческий продукт. Затем мы встретились с примерно 35 инвесторами и 10 компаниями, чтобы узнать, будут ли они финансировать Pixar. Наконец, Стив Джобс подписал контракт и стал нашим основным акционером», — вспоминает Смит.
Технология REYES содержала специально разработанный интерфейс, который изначально написали для работы с программным обеспечением Lucasfilm. Поэтому команде нужно было в сжатые сроки заменить его более открытым интерфейсом, который работал бы с любой программой, отправляющей ему описание 3D-сцены.
В 1988 году для решения этой проблемы Pixar привлекла одного из пионеров компьютерной графики Пэта Ханрахана. Ханрахан также помог усовершенствовать концепцию программного языка для затенения поверхностей. А ещё благодаря ему появилось новое название продукта. Он часто говорил, что в будущем устройство для рендеринга станет портативным и будет помещаться в кармане, как плеер Sony Walkman. Этот образ всем так понравился, что REYES решили переименовать в RenderMan. Студия Pixar официально выпустила программу в 1988 году (в Сети также есть версия, что релиз инструмента произошёл в 1987 году).
Три года спустя Pixar и Walt Disney Studios объединились, чтобы «создать как минимум один анимационный фильм, сделанный с помощью компьютера». Им стала «История игрушек» (1995). Это был первый полнометражный мультфильм, полностью нарисованный в 3D-графике. Он принёс компании сумасшедший успех и большую прибыль. А также открыл новую эру трёхмерной анимации.
Долго и счастливо
В 2019 году Кэтмелл и Ханрахан получили премию Тьюринга от Ассоциации вычислительной техники за «фундаментальный вклад в трёхмерную компьютерную графику, революционное влияние на кинопроизводство и другие направления». Впечатляющее достижение для компьютерных гиков, которые в начале 80-х решили изменить индустрию.
Спустя 30 лет RenderMan по-прежнему остаётся популярным профессиональным инструментом создания компьютерной графики в киноиндустрии. По состоянию на 2025 год он использовался в более чем 500 фильмах. Эти картины выиграли 15 статуэток «Оскар» в категории «Лучший анимационный фильм» и ещё 26 — за лучшие визуальные эффекты.
Впрочем, сегодня для работы с 3D-анимацией существуют и другие, более доступные и простые в освоении решения. Так, «Оскар» за лучший анимационный фильм в 2025 году получила картина «Поток». Латвийские аниматоры полностью сделали её в Blender — бесплатной программе с открытым исходным кодом.
Мультфильм «Поток» (2024), обладатель премии «Оскар»
Ещё один популярный инструмент — Autodesk Maya. В нём, например, сделан популярный во всём мире отечественный сериал «Маша и Медведь». Также именно в Maya работали создатели «Матрицы» и «Шрека».
Кроме того, в 2015 году Pixar выпустила бесплатную версию RenderMan для некоммерческих проектов. Ею может пользоваться любой желающий, если только он не пытается заработать денег на своём фильме. Скачать приложение можно поэтой ссылке.
А вот что за последние десятилетия практически не изменилось — так это требовательность 3D-софта и рендер-движков к железу. Каким бы инструментом не пользовались аниматоры и художники, им всё ещё нужны компьютеры на порядки мощнее среднестатистических. Конечно, если проект небольшой, можно просто собрать себе достаточно мощный компьютер в удобном конфигураторе.
А вот если речь идёт о масштабных 3D-сценах с большим количеством объектов и сложных эффектов — стоит задуматься о покупке рабочей станции. В случае с профессиональной киностудией и вовсе может понадобиться ферма из множестваGPU-серверов. Вне зависимости от ваших амбиций, обращайтесь к специалистам DigitalRazor. Более 10 лет мы проектируем, собираем и настраиваем оборудование для 3D-художников и аниматоров. Просто напишите нам в Telegram — мы всегда поможем.