Главная, приветствие
История создания, подробности, технологии, кастинг,
Мнения (рецензии, обзоры)
Мнения (рецензии, обзоры)
Мнения (рецензии, обзоры)
Мнения (рецензии, обзоры)
Галерея
Музыка
Загрузка файлов (обои для рабочего стола, заставки, саундтрек и др.)
Оставить свой отзыв о сайте
, благодарности
Ссылки на другие ресурсы сети


Final Fantasy: The Technology Within

Авторы: Jon "Hannibal" Stokes, Jonathan Ragan-Kelley
Источник: arstechnica.com
Перевод: Дмитрий Чеканов, Андрей Шуклин
Дата: 01/09/2001


Выпущенный в этом году фильм Final Fantasy: The Spirits Within, несомненно, поднял планку существующих достижений в молодом и активно развивающемся жанре компьютерных фильмов. Персонажи и обстановка настолько реальны, что некоторые голливудские представители традиционного кино начали волноваться - даже Том Хэнкс в последнем интервью выразил свои опасения относительно возможной грядущей безработицы.

Фильм снимал Хиронобу Сакагучи (Hironobu Sakaguchi), руководивший разработкой серии игр Final Fantasy. Final Fantasy стал результатом труда талантливой команды художников, сочинителей, программистов, руководителей, администраторов и огромного количества прочих служащих различных профессий, национальностей и говорящих на разных языках. Руководить таким мощным передовым проектом и столь разношёрстной командой - настоящий кошмар. Команда Square сталкивалась с новыми сложностями на каждой стадии создания фильма. Проблемы с руководством, технологическим процессом, организацией связи и распределением бюджета встречались постоянно и решались с помощью различных методик и разнообразной техники.

Чтобы узнать, как создавался это шедевр технологии и искусства, мы взяли интервью у некоторых разработчиков фильма Final Fantasy из Squaresoft в Гонолулу, где была размещена команда создателей. Администратор, Трой Брукс, был очень вежлив и позволил задать несколько, надо думать, утомительных для него вопросов. Ещё несколько сотрудников также нашли время, чтобы поговорить с нами. Но перед тем, как перейти к интервью, мы хотели бы поблагодарить Троя и остальных ребят за предоставленную информацию, а так же за великолепный фантастический фильм (он мне очень понравился).

Мы взяли интервью у следующих сотрудников компании Square:

    • Трой Брукс - администратор (Production Systems Supervisor)
    • Кевин Окс - технический руководитель по созданию персонажей (Character Technical Director)
    • Дейв Сигер - мастер светоэффектов (Lighting Supervisor)
    • Кевин Бьорк - мастер затенения и рендеринга (Rendering and Shading supervisor)
    • Кавех Кардан - руководитель разработки (Manager, R&D)

Джонатан Реган-Келли - мой напарник на этом интервью. Он студент Стенфордского университета, слушает курс компьютерной графики у Пэта Хенрехена. Джонатан изучает компьютерную графику, и потому последние 8 лет его особенно интересуют видеоэффекты. Сейчас он занимается исследованиями в сфере масштабируемого рендеринга (scalable rendering) и прочими разработками, связанными с графикой.

Ганнибал: Не могли бы вы рассказать о технологии создания FF в общих чертах, о её отличиях от создания, скажем, обычного анимационного фильма? Например, как сюжет из скиптов превращается в раскадровку, а потом в готовый фильм? Применяете ли вы "грубый" рендеринг декораций для настройки угла обзора камеры перед финальной обработкой изображения?

Трой: Процесс создания фильма цикличен. После обработки сценария мы получаем абстрактные зарисовки и наброски, позже они становятся раскадровками - как и в "обыкновенных" фильмах. Работа с разметкой происходит при низком разрешении сцены, чтобы определить движение и позиции камеры, именно с этого этапа и начинается трехмерное изображение. При создании анимации используется схематическая информация для работы с обликом персонажей в низком разрешении, что облегчает манипуляции ими в реальном времени. Часто выполняется промежуточный рендеринг, чтобы проверить позицию камеры, анимацию и деформацию персонажей. В конечном счёте, персонажи просчитываются на высоком разрешении, и происходит финальный рендеринг фрагмента. Изменение установок и настроек (а также модернизация персонажа) приводят к увеличению качества модели, потом делается освещение сцены, учитывая всех персонажей сразу. Сцена разбивается на слои (передний план, задний, отражения, тени), после чего они тщательно группируются. На всём протяжении работы мы делаем тестовый рендеринг, чтобы проверить позицию камеры, темп, анимацию, освещение, текстуры. Соответственно, возникающие недочеты сразу же исправляются.

Ганнибал: Расскажите нам немного о роли художников и техников, как им удаётся работать вместе, создавая фильм?

Трой: Некоторые художники, особенно из отдела спецэффектов (VFX), сами по себе неплохие техники. Они сами пишут код для шейдеров и выражений (expression, процедур для анимации и рендеринга, определяющих вид каньона или взрывной волны, без использования текстурных карт). Группа программного обеспечения отвечает за разработку кода, относящегося напрямую к технологическому процессу. Они создают плагины для Maya, позволяющие аниматорам контролировать более сложные движения персонажей, или (в программах для композинга) дающие возможность манипулировать слоями. Также нами создана единая инфраструктура - система для всего проекта. В ее рамках каждый работник находится в своем окружении, которое отвечает его потребностям. Инфраструктура позволяет организовать работу и передавать данные из одной секции в другую. Она включает в себя программное обеспечение "фабрики" рендеринга, которое управляет всеми групповыми работами (рендерингом, созданием анимации, моделированием специальных эффектов, компоновкой длинных цепочек кадров, и т.д.). Программисты распределены по всем студиям, они всегда находятся рядом с художниками и могут быстро определять, какие новые разработки нужны, и как они должны работать. У нас также создан отдел исследований и разработок (R&D), где была создана SqFlex - система для анимации волос и одежды персонажей, и многое другое.

Ганнибал: Я читал о технической стороне фильма. SGI опубликовала следующую информацию:
"Для создания фильма использовалось четыре мощных сервера SGI 2000, четыре системы визуализации Silicon Grafics Onyx2, 167 рабочих станций визуализации Silicon Grafics Octane и другие системы SGI. Для создания анимации на SGI использовалось программное обеспечение Alias WavefrontTM Maya, на платформах Linux был установлен пакет Pixar RenderMan".

Не могли бы вы рассказать, как и для чего использовались столь различные технические средства и программное обеспечение, и каковы их роли в описанном вами процессе? Например, для чего нужен был Linux? Какая часть системы состоит из SGI 2000, а какая из Octane?

Troy: У всех художников на столе стоит SGI Octane (у некоторых даже по 2). Это платформы для ежедневной работы, на которых используется Maya - программа для анимации и моделирования, а также интерфейс для установки освещения. Иногда на Maya выполняют рендеринг (в основном эффектные кадры, например, взрывы), но, как правило, для этого используется Pixar RenderMan. Платформы Onyx используются для композитинга, а также для предварительного просмотра. На этих машинах художники могут просматривать длинные фрагменты фильма с высоким качеством изображения, передаваемые по (очень быстрому) массиву RAID. 16-ти процессорные Origin 2000 главным образом используются для групповой обработки MTOR и реализуют преобразование Maya-Renderman. (Генерируются выходные файлы .rib, рендеринг которых выполняется на машинах Linux). Также у нас есть несколько серверов Origin 2000. Они используются как файловые сервера или как системы резервирования данных. Несколько файловых серверов NetApp являются основным хранилищем данных (примерно 4 TB = 4096 GB). "Фабрика" рендеринга состоит примерно из 1000 машин класса Pentium III (изготовленных по заказу и смонтированных в стойку) на которых установлен Red Hat 6.2. На этих системах работает RenderMan и ещё несколько других приложений.

Мы используем специальную систему для "фабрики рендерига" - SQB (читается как "Скуби" - SQuare Batch processing). Она управляет доступом ко всем машинам с Linux, а также к серверам Origin 2000. Помимо того SQB реализует использование настольных Octane, когда на них не работают локально (это примерно 1400-1500 машин). Художники выполняют запросы через графический интерфейс, адаптированный для каждого конкретного вида работы. Система выясняет параметры работы (приоритет, количество используемой памяти, количество используемых процессоров) и соответственно выделяет необходимые ресурсы.

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

Кевин Окс: Количество поверхностей, использованных для создания каждого персонажа, различно. Всё зависит от того, какую роль они играют в фильме. Персонажи, участвующие в массовках или находящиеся далеко от камеры, содержат примерно 100 k полигонов. Но у главных героев внешний облик динамически изменяется, при этом они постоянно попадают на первый план, потому мельчайшие детали должны быть идеально отточены. Они моделируются с использованием гораздо большего количества полигонов - 300 k и даже более того. Но это только одежда! Ещё необходимо отработать лицо (~30k), брови и ресницы (~20k), а также волосы. Ввиду того, что причёска каждого персонажа сугубо индивидуальна, сложно определить среднее количество полигонов, используемых для её моделирования (оно зависит еще и от расстояния до камеры). Но по большому счёту это около 60k. Также подсистема RenderMan во избежание появления различных артефактов оптимизирует вид волос с помощью эффекта smoothing, что может даже удвоить количество полигонов, используемых для данного объекта.

Ганнибал: Кстати, я думаю, что многим будут интересны параметры рендеринга. Сколько в среднем это занимает времени, сколько кадров получается и как много данных для этого используется?

Дейв Сигер:

Number of Sequences = 36
Number of Shots = 1,336
Number of Layers = 24,606
Number of Final Renders = 2,989,318
Number of Frames in the Movie = 149,246
Average number of shots per sequence = 37.11
Average number of rendered layers per shot = 18.42
Average number of frames per shot = 111.71
Estimated average number of render revisions = 5
Estimated average render time per frame = 90 min
Shot with the most layers = (498 layers)
Shot with the most frames = (1899 frames)
Shot with the most renders [layers * frames] = (60160 renders)
Sequence with the most shots = (162 shots)
Sequence with the most layers = AIR (4353 layers)
Sequence with the most frames = (13576 frames)

По грубым подсчётам один процессор справится с рендерингом всего фильма за 934.162 дня используя сырые данные. Учтите, что наша "фабрика рендеринга" состоит примерно из 1200 таковых. :)

Трой: Причём это только окончательный рендеринг. Если учесть пробы, доработки и оптимизации, получается намного больше. SQB (система, на которой работает фабрика ренднринга) выполняла в среднем 300.000 задач постоянно! И для каждой нужно обработать примерно 50-100 кадров (в зависимости от типа работы). Для хранения информации используется 4ТВ! (причём почти всегда заполненных).

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

Трой: Я даже не могу себе представить. Впрочем, смотрите ниже мой ответ на вопрос о GSCube. Ганнибал: Как ваши ребята проводили время в ожидании выполнения рендеринга? Как вообще развлекался персонал? Сетевыми играми, может быть foosball, или балуются порнушкой? И просто чем жил коллектив?

Трой: Сетевые игры не очень популярны, так как при такой загрузке сети они должны притормаживать. Что касается атмосферы - всё очень непринужденно. Люди носили шорты и футболки. Для студий анимации типичны 3D-игрушки, постеры, журналы и рабочие ячейки, оборудованные CD-проигрывателями. Турнир по foosball проходил в одном из хранилищ лент, но он всем очень надоел и сошёл на нет :). В основном, люди проводили свободное время вне учреждения - многие занимались сёрфингом, некоторые уезжали на выходные для занятий подводным плаванием или погружением на глубину. Я слышал, что некоторые напивались в барах, но не углублялся в подробности...

Ганнибал: Расскажите нам о самых серьёзных проблемах, с которыми сталкивалась команда FF. А так же как они решались (новые программы, новая техника и т.д.).

Трой: Их было очень много, в различных областях, причем некоторые проблемы были уже давно известны: волосы, одежда, лицо. Каждый отдел находил новые и оптимальные решения своих проблем. (Некоторые будут рассмотрены ниже).

Несколько проблем до этого нигде не обсуждалось, например, значительной проблемой стала общая координация проекта. Нам приходилось отслеживать все сцены, модели и текстуры, использовать нужные версии в каждом кадре, а также координировать информационные потоки, циркулирующие между секциями. Администраторам приходилось помогать организовывать многоступенчатые трудовые процессы и управлять ими. Причем сами процессы создавались по ходу работу, и на них было потрачено немало сил и времени.

Лично мне кажется, что самой большой проблемой было общение. У нас работали художники более чем из 20-ти стран и большую часть первоначальной команды составляли японцы из Square games. Не все из них говорили по-английски, и совсем уж малая часть не японцев говорила по-японски. Поэтому нам приходилось содержать большой штат квалифицированных переводчиков. Благодаря этому на нас работали люди из сфер разработки игр, спецэффектов, анимации, телевидения, рекламы - огромное количество людей различных профессий. Я считаю, что фильм только выиграл от такого разнообразия подходов и широты знаний, применённых к одним и тем же проблемам. Но организация общения даже на уровне повседневного обмена информацией - далеко не тривиальная задача.

Джонатан: Во многих обзорах часто говорилось о технических препятствиях в достижении фотореалистичности мира компьютерной графики этого фильма. Связаны ли встреченные вами ограничения с нехваткой вычислительной мощности (не позволяющей увеличить детализацию моделируемых объектов, начиная от рендеринга деталей и заканчивая динамикой) или с нехваткой человеческих сил (когда каждая деталь регулируется вручную)?


Кевин Бьорк: Я не считаю, что эти проблемы независимы друг от друга. Увеличение вычислительных мощностей неизбежно приводит к усложнению объектов, что в свою очередь требует повышения контроля со стороны человека, и вообще увеличения выполняемой им работы. (Если это не так, то почему в Pixar сейчас работает в 3 раза больше персонала, чем в 1993, не смотря на значительное увеличение мощностей их компьютеров?)

Контроль и обработка деталей, в конечном счёте, являются основной задачей создателей фильма, причём не только в анимации, но и по отношению ко всему процессу создания фильма. Рабочая сила - даже квалифицированная и сконцентрированная - по-прежнему остаётся (и, скорее всего, ещё долго будет) самым узким местом.

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

Rambler's Top100 Rambler's Top100
Используются технологии uCoz