Наша новая игра 8 сентября в раннем доступе на steam



Монстры против пришельцев. За кулисами

Не все так просто как кажется на первый взгляд 🙂

Если коротко, то было это так:
Начали с ковша прозрачного студенистого вещества, которое анимировали как персонажа. Обучили его превращаться и деформироваться. Визуализировали его так, чтобы стало ясно, что это желе с прозрачными внутренностями и пузырьками воздуха внутри формы, которая все время меняется. Сделали все ЭТО ключевым персонажем мультфильма со стереоскопическим 3D-эффектом. И мучились с этим БОБом почти 2 года.

Для начала приведу ссылку для скачивания мультфильма "Монстры против пришельцев" (если еще кто не видел). А теперь расскажу подробно об интересных моментах создания одного из главных персонажей.

Каждая из этих задач по отдельности была бы вызовом и для более закаленных команд, чем команда студии DreamWorks. Но студия решила преодолеть их одновременно на ее первом полностью стереоскопическом 3D-фильме (S-3D - Stereoscopic 3D) - Monsters vs. Aliens (Монстры против Пришельцев).

Монстры против пришельцев. Сетка модели БОБа

Сетка модели БОБа из хаотичных триугольников. Кликабельно!

S-3D

Начали абсолютно с нуля. Не было никаких S-3D инструментов и первым делом пришлось организовать технический процесс (pipeline) и обучить персонал нюансам третьего измерения. Все настройки S-3D сводятся к двум параметрам. Первый, как далеко должны отстоять друг от друга две камеры, т.е. нужно определить расстояние между осями объективов. Обычно это расстояние называется межосевое (interaxial) или межокулярное (interoccular). Чем расстояние больше, тем большую глубину мы сможем придать пространству. Второй параметр определяет положение зрителя в объеме, пространстве мультфильма. DreamWorks обозвала такой параметр ZPS (Zero Parallax Setting - определение нуля для параллакса). Этот параметр определяет, как близко или далеко от Вас будет что-то происходить.

Используя ими придуманный инструмент - мерило, работники DreamWorks смогли определять стереосдвиг. Другими словами, они смогли определять, как далеко что-то находится от камеры, чтобы определить, как будет выглядеть картинка в кинотеатре. На студии также разработали такую вещь, как Stereo Volume Measurement (измерение стереообъема), которая могла сказать насколько выпуклым или плоским будет казаться персонаж в зависимости от его положения в пространстве. Это нужно было для того, чтобы от кадра к кадру не изменялось впечатление от персонажа, чтобы он не выглядел как вырезанный из картона. Такое могло случиться при смене объектива. Например, при смене объектива с 24 мм на 35 мм персонаж сплющивается на половину. А теперь представьте, что случиться при смене с нормального на широкоугольный объектив. А при использовании зума вообще все превращается в плоские картонки. Но мы не избегали длиннофокусных объективов, просто использовали инструменты, которые возвращали объем нашим персонажам.

Мы также упростили настройку дальнего или ближнего положения объекта. Иначе нам бы приходилось при каждом изменении фокусного расстояния постоянно корректировать стереоскопический сдвиг. А так, если мы добавили на небе объект, который кажется слишком близко к какому-то зданию, то мы просто сдвигаем на полпикселя один глаз и усё, объект смотрится более натурально.

Монстры против пришельцев. Рабочие зарисовки

Вот на такие картинки подкупаются инвесторы 🙂 Кликабельно!

Капля БОБ

Пять различных отделов работали над анимацией и внешним видом БОБа. Он был полностью создан и визуализирован в специально для этого написанной программе. Сначала думали над тем, будет ли БОБ персонажем или создан только на спецэффектах. Изначально он выглядел просто как капля (и был сплошным спецэффектом), но этот его внешний вид вообще не вязался с окружающими его миром и другими персонажами.

Отделы привязки и эффектов вместе работали над системой, которая бы использовала две разные версии БОБа. Одна была создана на основе NURBS, подобно всем другим персонажам. Эта версия БОБа имела систему настройки лицевой анимации, но в ней отсутствовали руки и она не могла деформироваться.

Другая версия БОБа была основана на системе частиц, которые создавали такую топологию, что могла постоянно изменяться. Это было похоже на структуру со случайных треугольников, что-то похожее на blob effect (капли, метаболы) или isosurface effect (изоповерхность). В итоге была комбинация двух моделей: одна это NURBS-поверхность, а другая - система частиц. Эти обе модели объединялись, и в результате получалась полигональная модель, которую и визуализировали. Такое решение позволяло аниматорам максимально быстро и эффективно анимировать NURBS-модель, а специалистам по эффектам с легкостью работать с персонажем, сквозь который могли проникать разнообразные объекты. А потом просто смешивать две версии БОБа в один финальный меш.

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

Монстры против Пришельцев. Бой - процесс создания

Бой на мосту. От чертежа до финального вида. Кликабельно!

Спецэффекты для БОБа

Все спецэффекты используемые для создания персонажа БОБ заключались в его взаимодействии с окружением. Был специально написан деформер, который определял контакт БОБа с землей. Можно было смешивать различные части лица БОБа, которое  иногда занимало две трети всего тела. Части лица также могли исчезать в глубине тела и появляться обратно. Его голова могла отделяться, его глаз мог плавать и двигаться независимо от других частей лица, а также вообще улетать из тела. Он был прозрачным, а значит, вся его внутренняя анатомия будет на виду. Его ротовая полость должна быть видимой, но в то же время не привлекать к себе особое внимание и правильно деформироваться. Это очень сильно влияло на процесс привязки БОБа. Поскольку для традиционных персонажей есть только три слоя: скелет, к которому привязываются мышцы, которые влияют на деформацию кожи. А в случае БОБа, все деформации должны быть полностью объемными. Это была та проблема, которую мы не осознавали до тех пор, пока его ротовая полость не проткнула голову сзади и не появились другие проблемы. Мы вынуждены были отступить назад и пересмотреть методы его деформирования.

Еще одно ухищрение нужно было для анимации исчезающих в теле и появляющихся из тела рук. Привязка позволяла отсоединять руки от тела, если понадобиться. Еще одна вещь, которая нам сильно помогла, это вершинные атрибуты. Они позволяли засунуть в модель БОБа немеряно информации. Если взглянуть на полигональную модель БОБа, то можно увидеть вершинный атрибут "arm weight (принадлежность к руке)", который определял, на сколько та или иная вершина принадлежит руке. Вершины, которые составляли туловище имели нулевое значение этого параметра, вершины рук - 1, а все остальные - значения между 1 и 0. Потом эта информация использовалась для формирования правильного motion blur, корректных поверхностных нормалей и других вещей.

Для придания БОБу глубины и объема мы засунули в него 12 тысяч объемных пузырьков. Все они были частью рига персонажа (character rig). Привязка персонажа делалась таким образом, чтобы все эти пузырьки правильно деформировались вместе со всем телом. Пузырькам придали живости с помощью симуляции движения в зависимости от динамики движения персонажа. Если его движения были достаточно резкими, чтобы некоторые пузырьки покидали его объем, мы просто исключали их из визуализации. Внутри тела они не сталкивались. И это было правильно. Он ведь не сделан из воды с пластмассовыми шариками внутри, он является вязким веществом, в котором пузырьки есть частью объема.

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

Две стороны БОБа

Обычно для того чтобы отделить какой-то объект от фона используют rim light (источник освещения, располагаемый позади снимаемого объекта с целью добиться эффекта ореола). Но в случае с БОБом, когда лучи света проходят далеко не так, как в случае с непрозрачными персонажами это несколько неэффективно. Поэтому конечный результат мы увидели только на композе. БОБа разбили на множество слоев преломлений, отражений, rim освещения, нормалей.

Еще большей проблемой были отражения и блики на теле БОБа. Поскольку персонажа снимали с двух камер находящихся на некотором расстоянии, то отражения и блики будут разные, и не будут совпадать. Это происходит и в реальном мире, но наш мозг привык не замечать это, но в случае с БОБом это очень сильно бы бросалось в глаза. Для решения этой проблемы мы решили снимать блики с одной камеры, но тогда бы отражения выглядели так, словно они натянуты на персонажа как текстура, а нам бы хотелось привнести немного глубины. Поэтому блики и отражения мы снимали камерами, расстояние между которыми было чрезвычайно мало.

Да будет Желатин

DreamWorks реализует свой мультфильм "Монстры против Пришельцев" на всех доступных S-3D системах. И главным образом мы обратили внимание не на конкретную систему, а на размер экрана, потому что масштаб очень сильно зависит от размера экрана. То плоское и мелкое, что Вы увидите на мониторе не пойдет ни в какое сравнение с масштабностью сцен и объемностью персонажей увиденных на семиэтажном экране в IMAX.

И очень важно помнить, что если Вы делаете стереофильм для экранов размером 11 или больше 30 метров, то не стоит настраивать глубину на компьютерном мониторе.

Монстры против пришельцев. Как это рисовалось.

Вот так мультик рисовался ручкой по экрану 🙂 Дома не повторять!

P.S.
Интересно, к чему было последнее предложение?

Хотя, проработав некоторое время на производстве полнометражного мультфильма, могу представить ситуацию, когда делали-делали, а потом пошли в кинотеатр посмотреть тестовую часть мультика, а там - такая фигня страшная 🙂

P.P.S
Это вольный перевод статьи Making S-3D Gel at DreamWorks for the big comedic invasion flick of the year.

Еще информация об мультике "Монстры против Пришельцев": анонс мультика на render.ru, официальный сайт (все на флеше, много весит).

Читайте также о том как начать обучение в 3ds Max или Maya.

Постовой: любому предприятию нужны планы эвакуации при пожаре и огнетушители.




Вам понравилась статья? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

Введите ваш e-mail (используется только для отправления обновлений блога):

Один комментарий к статье “Как создавался желатиновый БОБ”

  1. Cпасибо кто Мемори.ру ваш сайт заложил, а то бы не нашел Вас!

Извините, в данный момент комметарии закрыты.

© 2008 - 2018 3dyuriki.com
Для связи со мной 3dyuriki@gmail.com