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.

Ken Uchida, Lead Animator, Craftar

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

Ken Uchida, Lead Animator, Craftar
Yuhei Sakuragi, Writer and Director, The Relative Worlds

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

Yuhei Sakuragi, Writer and Director, The Relative Worlds

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

Согласен