Компания ZibraAI возникла в 2020 году в результате успешного применения машинного обучения в 3D-обработке. При проведении собственных исследований машинного обучения команда разработала способ кодирования знакового поля расстояний (SDF) трехмерного объекта в компактные векторы, которые затем могут быть распакованы небольшой нейронной сетью для восстановления исходного SDF. Для лучшего качества объект делится на разреженную сетку вокселей, а локальная геометрия внутри каждого вокселя сжимается в вектор с помощью другой нейронной сети. Все это делается за несколько миллисекунд, поскольку собственный метод не требует обучения новых сетей для представления невидимого объекта. Эта технология может быть применена к моделированию игровой физики, которая изначально использует SDF для моделирования частиц. Так родилась основная технология стартапа на основе машинного обучения (позже также получившая название ZibraAI).

Короче говоря, команда ZibraAI пришла к идее создания доступных инструментов на основе их основной технологии машинного обучения. Инструменты предназначены для упрощения процесса разработки игр, решения проблемы плохого внешнего вида и уменьшения вычислительной мощности, используемой в процессе. Это позволит разработчикам игр и художникам по визуальным эффектам дать волю своему воображению и сосредоточиться на творчестве, а не на оптимизации игры. Одна из многих проблем, с которыми они сталкиваются, - моделирование взаимодействия частиц и объектов сложной формы. Обычно им приходилось разделять объект сложной формы на несколько простых объектов и затем настраивать моделирование взаимодействия с каждым из них по отдельности. Этот процесс требует много времени и усилий. В целом, все существующие решения не обеспечивают интерактивности и требуют работы на мощных ПК.

Вдохновленный идеей расширить возможности создателей игр и облегчить им путь, ZibraAI решил внедрить полуавтоматику в конвейер разработки игр. Разработчики увидят улучшение графики, оптимизацию игровой физики и создание 3D-контента с меньшими вычислительными затратами на всех устройствах.

Zibra Liquids - первый в мире плагин для моделирования жидкости на основе машинного обучения, доступный для коммерческого использования.

Итак, как мы упоминали ранее, ZibraAI - это технология на основе машинного обучения, которая будет лежать в основе многих инструментов, которые в настоящее время разрабатываются. Однако уже есть плагин - Zibra Liquids - который уже несколько недель доступен для бета-тестеров. Вот что вам нужно об этом знать.

Zibra Liquids - это кроссплатформенный плагин для моделирования физически корректной жидкости в реальном времени для разработчиков игр. Это также первый в мире подключаемый модуль для моделирования трубопроводов жидкости на основе машинного обучения, доступный для коммерческого использования. Впечатляет, не правда ли? Есть больше.

Zibra Liquids: под капотом

Zibra Liquids может использоваться для моделирования жидкости в реальном времени и моделирования жидкостей, взаимодействующих с анимированными объектами любой формы, даже сложными. Излишне говорить, что взаимодействие жидкости и объекта - особенность-убийца, поскольку никто раньше не делал этого на том же уровне. Он работает в режиме реального времени и встроен в игровой движок, что означает, что разработчикам больше не нужно использовать дорогостоящее и трудоемкое стороннее программное обеспечение. Установка Zibra Liquids занимает пару минут, включает новую игровую механику и позволяет воде стать частью нового игрового процесса.

Итак, как именно это работает? Плагин является результатом синергии запатентованных физических решателей, которые обеспечивают физически точное моделирование жидкости и представления нейронных объектов на основе машинного обучения. Технология моделирования жидкости также была разработана ZibraAI на основе применения метода подвижных точек наименьших квадратов. Первоначальный прототип мог смоделировать 300 000 частиц за 7 мс на ноутбуке GTX 1050 без какой-либо оптимизации и с намерением ускорить реализацию как минимум в 3 раза. Вторая задача заключалась в реализации метода рендеринга для визуализации частиц. Для первого прототипа команда разработала метод трассировки лучей локальных воксельных частиц, который отлично подходит для моделирования, поскольку он также работает с вокселями на сетке моделирования. Эта версия могла отображать жидкость на том же оборудовании со скоростью 30 кадров в секунду, чего было достаточно для бета-тестирования, поэтому компания начала общаться с потенциальными клиентами, создавала их первые демонстрации и собирала первоначальные отзывы.

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

Команда хотела, чтобы плагин был изначально скомпилирован на C ++ для управления ресурсами, минимизации нагрузки на ЦП и использования полного набора методов для оптимизации шейдеров графического процессора.

Он включает хорошо известные общие подходы, такие как:

  • упаковка ресурсов
  • оптимизация использования регистра
  • оптимизация шаблонов доступа к памяти
  • использование косвенных вызовов отрисовки / диспетчеризации для уменьшения нагрузки на ЦП

Но этого оказалось недостаточно, и мы двинулись дальше. Все критические для производительности части решателя Zibra Liquids были оптимизированы. Прежде всего, мы обновили наш алгоритм сортировки, добавив в него собственную реализацию сортировки по основанию, которая в 6 раз быстрее, чем старая битоническая сортировка.

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

Последняя оптимизация - это переход от частицы к сетке алгоритма MPM, где мы также используем подход атомарной + радиальной сортировки, что в целом позволяет нам получить ~ 6-кратный прирост производительности от частицы к сетке.

В целом новый решатель примерно в 3,5 раза быстрее, чем предыдущая реализация.

Ключевые особенности Zibra Liquids:

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

Моделирование в реальном времени
Zibra Liquids - это технология на базе графического процессора, которая имитирует несколько миллионов частиц на высокопроизводительном оборудовании, сотни тысяч частиц на ноутбуках и десятки тысяч частиц на мобильные устройства в режиме реального времени. Он обеспечивает физическое и визуальное качество на уровне компьютерной графики в реальном времени и лучшую в своем классе игровую производительность.

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

Контроль гравитации
Теперь все под контролем пользователей, даже сила тяжести. Эта функция приносит новые идеи для игровой механики, которые раньше было невозможно создать. Пользователи могут раскрыть свой творческий потенциал и взглянуть на игровой дизайн с совершенно новой точки зрения.

Взаимодействие со сложными объектами с ускорением AI
Основная технология машинного обучения ZibraAI позволяет создавать нейронное представление SDF для любой геометрии и использовать его в качестве коллайдера для жидкого компонента в сцене. Благодаря этой технологии старые коробки и сферы, представляющие активы, ушли в прошлое.

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

Как разработчики игр могут извлечь выгоду из Zibra Liquids?

  1. Работать с водой становится как никогда просто. Вода теперь может быть интерактивной, она точно «сообщает» разницу между сложными 3D-объектами, и стали доступны новые игровые механики:
  • Комбинация Gravity control и Force Interaction позволяет перемещать объекты внутри сцены.
  • Сражения на водных пушках
  • Пазлы с участием воды
  • Водный серфинг
  • Любые фокусы с использованием воды
  • Гонки на гидроциклах

2. Плагин разработан для использования на любой платформе, включая ПК, игровые консоли и мобильные устройства.

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

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

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

6. Простой интерфейс и легкий процесс настройки всех необходимых параметров.

7. Технология на базе графического процессора моделирует в реальном времени несколько миллионов частиц на высокопроизводительном оборудовании, сотни тысяч частиц на портативных компьютерах и десятки тысяч частиц на мобильных устройствах. До ZibraAI все эти вычисления выполнялись на базе ЦП.

8. Процесс разработки игры стал доступнее и дешевле. Игры можно разрабатывать и тестировать на любом оборудовании, и пользователи могут играть в них даже на смартфонах, выпущенных несколько лет назад.

Какие навыки необходимы, чтобы начать использовать Zibra Liquids?

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

Какие платформы появятся дальше?

Мы идем в обратный отсчет до официального релиза в Unity Asset Store. После этого будет добавлена ​​поддержка iOS, Unreal Engine и Android, а производительность плагина увеличится в 2 раза. Если вы хотите принять участие в бета-тестировании плагина Unreal Engine и первым узнавать обо всех выпусках ZibraAI, присоединяйтесь к их сообществу Discord.

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

ZibraAI открыт для сотрудничества и запросов на глубокую интеграцию от предприятий любого размера.