Спецэффекты кино – Software Art и Биоцифровой Джаз

Давно собирался перевести этот интересный блог Джоша Нимоя, однако однажды потеряв ссылку на материал, пришлось ждать еще 2 года прежде чем он снова появился у меня на радаре. Всем, кому интересны спецэффекты в кино и создание софта.

 

Весь прошлый год в компании Digital Domain я потратил создавая software art для генерации спецэффектов в фильме Tron Legacy. Эта страница могла бы появиться раньше, но очень долго пришлось ждать разрешения. Значительная часть работы проделываемой моей командой была сделана с использованием приложений Adobe и Cinema 4D. Остальное было написано на языке C++ с использованием OpenFrameworks и wxWidgets – так, как я всегда делал в этой команде;) Впрочем, CG художникам из Digital Domain удалось портировать мои приложения в Houdini для дальнейшей эволюции и лучшего рендеринга чем тот, который мог предоставить OpenGL. Особенно хочется поблагодарить Энди Кинга за то что он показал матерые CG художники в Digital Domain не так далеко ушли от того чем занимается сообщество Процессинга.

Нажмите для увеличения

Помимо визуальных эффектов, меня попросили сделать запись того как я использую терминал unix делая технологически возможные вещи. Я особенно внимательно следил за тем, чтобы все элементы и действия сохранились в финальной версии – чтобы контент не был художественно изменен переходя грань технологической осуществимости. Я очень серьезно отношусь к представлению цифровой культуры в кино во многом благодаря тому, что вырос в мире плохо изученного представления пользовательских интерфейсов. Я вздрагивал во время сцен в Хакерах (1995), когда скринсэйвер с экструдированными “уравнениями” использовался для представления того, что хакер достиг некого нейропотока или некой цели. Я морщился во время фильма Пароль “Рыба-меч” и Парк Юрского Периода. Я был рад видеть как Тринити в Матрице исопльзовала nmap и ssh. А потом я снова морщился, когда Голливуд решил использовать nmap для всех сцен с хакерами (Ультиматум Борна, Крепкий Орешек 4, Девушка с Татуировкой Дракона и так далее). В Трон, хакер не должен был копаться в сети; он должен был убить процесс. Так мы решили использовать posix kill и еще отображать ps через grep. Кроме того я решил использовать оболочку emacs eshell чтобы сделать свой терминал еще боле l33t. Команда была вдохновлена моей “игрой” на emacs – разбиение редактора на панели и запуск различных режимов. Я был рад тому, что смог протащить emacs в блокбастер. В обычной жизни я тоже использую emacs, и, хотя не подписан на alt.religion.emacs, я считаю, что все это очень уместно для мира Tron.

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

Первое над чем я работал был интерфейс с игровыми очками. Я создал генератор линий, который испускал короткий всполохи линий под разными углами. Генератор имел радиальный режим, который организовал всю геометрию в конкретную круглую форму. Этот генератор линий использовался для создания многих элементов и стилевых слоев в разных элементах и стал любимым в использовании GMUNK’ом (Bradley "GMUNK" Munkowitz). После этого я перешел на мультитекстурированные FBO потому что полигоны без антиальязинга были уж очень уродливыми для работы и нам требовалось кинематографическое качество. Фактически, это самое большое разрешение, в котором могли рендерить мои приложения.

[gallery:2602]

Фейерверки, мммм. Я начал с обычной симуляции физики, когда частицы при своем рождении получали определенную направленную вверх силу, отправляя их в воздух, пока гравитация не потянет их обратно создавая параболу. После этого я добавил дочерние частицы и дальше уже пошли прочие художественные особенности, включая то, что моя команда назвала “египетским стилем”, который мы использовали в нескольких работа. Мы пытались создать фейерверке, которые бы смотрелись достаточно реалистично, но имели интересную техно-эстетику. В дань почтения оригинальному персонажу Трон, Биту, мы использовали икосахедроны, додекахедроны и тому подобное. Я был разочарован, что Бит не был здесь. После этой симуляции я осознал насколько часто фейерверки используются в фильмах.

[gallery:2603]

Для сцены портала мы использовали приложение TronLines вместе с “Twist” созданной во время прошлой работы. После того как gmunk сделал набросок, художник Houdini воссоздал схему для лучшего контроля.

[gallery:2604]

Я написал генератор частиц визуализирующий голограммы голов появляющихся из дисков данных. Спасибо Киту Паско за то что направил меня на использование экспоненциальных функций для создания “выплескивания”.

[gallery:2605]

В сцене лечения Кворры, есть отрывок с ДНК интерфейсом названным Сердце Кворры, которое немного напоминает лава-лампу. Я создал изоповерхность используя шум Перлина, алгоритм Marching Cubes найденный в Geometric Tools WildMagic API, потрясающая библиотека для создания биоцифрового джаза, среди множества других джазов. Поверхность рисовалась по нескольким различным плоскостям, включая концентрические сферы. Наблюдение за приложением было гипнотизирующим.

[gallery:2606]

После этого проекта я решил, что достаточно наработался в wxWidgets и Carbon и то, что был готов написать свой собственный OpenGL UI. Самой полезной вещью, которая мне требуется – это слайдер с плавающей точкой. Carbon особенно доставал тем, что его слайдеры не двигаются до самого минимума и максимума. Полностью разрушило весь мой дзен. И еще, после такой работы как эта, становится понятно, что член Процессингового сообщества работающий с CG сообществом будет сильно ограничен различиями между движками визуализации в реальном времени, что скорее всего повлияет на дзен арт-директора.

By jtnimoy

Больше статей на Shazoo
Тэги: