Unity помогает управлять толпой в The Relative Worlds

Японская студия Craftar использует технологии 3D реального времени Unity для моделирования сложных сцен с большим количеством людей.

Craftar Studios: пример использования Unity в разработке

Недавний анимационный фильм Craftar, The Relative Worlds, содержит драматические сцены в самом густонаселенном городе мира, но их имеющиеся технологии рендеринга затрудняли работу со сложными сценами. Для решения своих задач они решили воспользоваться возможностями трехмерной графики реального времени в Unity.

Цель

Создание сложных сцен с толпой в The Relative Worlds

Платформы

DLP/SXRD (выпуск для кинотеатров)

Персонал

Около 10 пользователей Unity (художники по моделям, аниматоры, компоновщики и программисты)

Регион

Токио

The Relative Worlds trailer

Возможности разработки и графики реального времени Unity ускорили разработку проекта и сократили затраты на рендеринг.

Основное действие The Relative World происходит в Токио, в плотно застроенном небоскребами и густонаселенном районе Синдзюку с самым загруженным железнодорожным вокзалом в мире. Для визуализации нужно было сложное моделирование и рендеринг, а повторяемость сцен требовала нового подхода и мощных алгоритмов рендеринга, поэтому студия и выбрала Unity для работы с этими сценами.

Результаты

  • Ускорение разработки проекта путем построения и настройки эпизодов (производство в реальном времени) вместо работы с отдельными отрывками (производство по каскадной модели).
  • Легкость создания и обновления сложных сцен с большим числом анимированных элементов благодаря технологии вложенных префабов. 
  • Реалистичное поведение толпы с использованием NavMesh для настройки циклов ходьбы как с автоматическим поиском пути, так и без него. 
  • Сокращение затрат на производство благодаря рендерингу в Unity, а не в традиционной для студии 3D-программе.

Анимация параллельных миров для юных зрителей

Лучшая научная фантастика помогает понять давние проблемы. Для Юхэя Сакугари, сценариста и режиссера фильма, анимационная научная фантастика — это мощная среда для построения сюжета, которую он использовал, чтобы рассказать японской молодежи о том, насколько хрупок мир и какими бывают конфликты. «Мало кто помнит, каково это — жить во время войны, а нынешняя молодежь в Японии плохо представляет себе, как выглядит настоящая война.» 

The Relative Worlds — это история о параллельных мирах, рассказывающая о конфликте ученика старшей школы из светлого и относительно спокойного мира, и его зловещего двойника из мрачного, изувеченного войной кошмара. Юхэй противопоставляет этих персонажей для контраста и шока: «Я хочу, чтобы люди, особенно молодежь, серьезно относились к тому, что может случиться с Японией, если относительный мир внезапно сменится войной».

Создание сложных сцен с участием толп людей

Юхэй хотел, чтобы фильм отражал реальный мир, поэтому он решил показать сюжет в декорациях Синдзюку, одного из самых знаковых мест современной Японии. Перед разработчиками встала задача отрисовать и анимировать огромные толпы людей. Но их традиционная программа для 3D-моделирования не справлялась с такими объемами данных, и они обратились к Unity.

«Мы планировали создать масштабные и повторяющихся сцены, например, забитые людьми улицы, поэтому нам нужна была возможность работы со ссылками и пространствами имен для упрощения загрузки и редактирования исходных моделей и ригов, — говорит Кен Учида, ведущий аниматор Craftar, — Однако наше стандартное средство 3D-рендеринга не имело таких функций. Для разработки этих сцен мы также воспользовались возможностями Unity, например, вложенными префабами, простыми алгоритмами загрузки сцен и Navigation Mesh (NavMesh)».

В отличие от традиционного средства рендеринга Craftar, Unity позволяет работать с ассетами, а не отдельными планами. Это помогло команде построить планы с участием толп полностью на основе вложенных префабов, открыв путь к более понятному и быстрому методу производства. Как можно понять из названия, вложенные префабы могут содержать другие префабы, сохраняющие связь с исходными ассетами, поэтому все изменения будут мгновенно распространяться по префабам в реальном времени. Примечание: в Unity префаб — это GameObject, хранящий информацию о компонентах и атрибутах, что упрощает их копирование и изменение.

Движение толп с помощью NavMesh и алгоритмов машинного обучения

Одной из трудностей работы с огромными массивами анимированных элементов является управление их движениями, поэтому Кен воспользовался встроенным инструментом Unity NavMesh. «Я использовал NavMesh двумя разными методами. Во-первых, я использовал его для постановки большинства кадров с толпой, пересекающей улицу. Для этого я подготовил несколько FBX-файлов шаблонов с циклом ходьбы и настроил параметры NavMesh для каждого цикла. Поначалу я пытался рандомизировать выбор цикла и скорости ходьбы с помощью скрипта, но в итоге я настроил их вручную для большей реалистичности».

Кроме того, студия также воспользовалась возможностями машинного обучения от Preferred Networks, чтобы реализовать циклы ходьбы с автоматическим поиском пути для NavMesh. Вычисления выполнялись на сервере Preferred Networks, с которым сотрудники студии работали из Unity, проверяя каждый созданный цикл ходьбы. Они задавали скорость, точку назначения и другие параметры NavMesh непосредственно в Unity.

Добавление реалистичных теней

Для улучшения визуализации сцен с толпами, Craftar настроила Unity Recorder для захвата кадров, отрисованных во внешних программах. Затем они применили Unity-Chan Toon Shader (UTS) для оптимизации сел-шейдинговых изображений, особенно теней, выделяющих каждую деталь модели персонажа. UTS выполняет эту операцию путем настройки положения и интенсивности источников света для каждой модели. 

Кен добавляет: «Для дополнительного улучшения шейдинга мы воспользовались Unity Timeline в сочетании с Shader Forge. Для шейдинга следующего проекта мы планируем использовать Shader Graph и Visual Effect Graph». Shader Graph позволяет разработчикам с легкостью настраивать шейдеры в визуальном интерфейсе с отображением результатов в реальном времени путем соединения узлов в сеть графов вместо программирования. Visual Effect Graph помогает создавать самые разнообразные визуальные эффекты в аналогичном визуальном интерфейсе, построенном по концепции графов. 

Изучение новых творческих миров с Unity

Несмотря на то, что студия Craftar использовала Unity только в некоторых элементах проекта The Relative Worlds, Юхэю понравилась платформа и ее обширный инструментарий для художников и других креативных сотрудников. Например, он планирует создать еще один анимационный фильм, на этот раз полностью в Unity. «Я бы с удовольствием принялся за проект, который подчеркнет множество уникальных возможностей Unity».

Поэтому, помимо планов по использованию Shader Graph и Visual Effect Graph, Юхэй видит потенциал в грядущих в Unity алгоритмах трассировки лучей. «Работать с тенями в сценах с толпами особенно сложно, поэтому я с нетерпением жду новых функций Unity, способных помочь в решении подобных задач».

И наконец, Юхэй считает, что Unity способна обеспечить большие преимущества в работе над новыми проектами. «Поскольку Unity сильно упрощает одновременную разработку контента для разных медиа, мы можем создать игру или VR-приложение одновременно с фильмом». И это идеально отражает девиз инновационной японской студии: «Творение новых способов творения». Мы с нетерпением ждем новостей о новых проектах Craftar.

«Для разработки этих сцен мы также воспользовались возможностями Unity, например, вложенными префабами, простыми алгоритмами загрузки сцен и Navigation Mesh (NavMesh)».

Ken Uchida, Lead Animator, Craftar

«Поскольку Unity сильно упрощает одновременную разработку контента для разных медиа, мы можем создать игру или VR-приложение одновременно с фильмом».

Yuhei Sakuragi, Writer and Director, The Relative Worlds

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.

Согласен