‘Ми у Zibra.AI хотіли створити продукти, які здатні прискорити виробництво відеоігр. ML-команда мала ідею застосувати підхід, що об’єднає штучний інтелект та 3D.
Провівши низку досліджень та експериментів, за вісім місяців нам вдалося зарелізити свій перший продукт.
У чому суть технології? Щоб представити об’єкти у 3D часто використовується SDF (Signed Distance Field). SDF забезпечує менш витратне трасування променів, дає можливість економити на текстурах низької роздільної здатності та забезпечує більш швидкий, плавний геймплей. Але не будемо забувати про те, що всі сучасні методи візуалізації обмежені в пам’яті. А оскільки SDF представляється як 3D-текстура, вона споживає чимало пам’яті.
Технолгія Zibra Liquids
Наприклад, об’єкт SDF з роздільною здатністю 512 x 512 x 512 споживає 0,5 GB VRAM
Цю технологію можна застосувати до симуляції фізики ігор, які використовують SDF для моделювання частинок, що стало ідеєю для нашого першого продукту.
Іншими словами, ми реалізували ідею створення доступних інструментів на основі основної ML-технології. Інструменти призначені для:
Це дозволить розробникам ігор і VFX-художникам зосередитися на креативності, витрачаючи менше зусиль на етапі оптимізації гри.
Серед труднощів, які доводиться долати, є моделювання взаємодії частинок з 3D-об’єктами складної форми. Зазвичай вони мусять розділити об’єкт складної форми на кілька простих об’єктів, а потім налаштувати імітацію взаємодії з кожним із них окремо. Цей процес займає чимало часу і зусиль. Загалом, практично усі рішення, представлені на ринку, не забезпечують інтерактивності або потребують потужних ПК.
Отже, ми вирішили надати можливість напівавтоматизувати процес розробки ігор. Розробники зможуть покращити графіку та фізику в грі з нижчими витратами на обчислення на всіх пристроях.
Zibra Liquids — перший на ринку плагін моделювання рідини на основі ML, доступний для комерційного використання.
Це ML-технологія, яка буде основою багатьох інструментів, що зараз перебувають у розробці. Проте вже зараз існує плагін Zibra Liquids, доступний на Unity Asset Store. Це кросплатформний плагін фізичного моделювання рідини в реальному часі для розробників ігор.
Zibra Liquids можна використовувати для моделювання рідини в реальному часі та створення взаємодії рідини з 3D-об’єктами будь-якої форми, навіть складної.
Zibra Liquids можна використовувати для моделювання рідини в реальному часі
Плагін працює в режимі реального часу. Його вбудовано в ігровий рушій, що означає, що розробникам більше непотрібно використовувати дороге і трудомістке програмне забезпечення, запікати ефекти та вирішувати проблеми їхнього експорту. Встановлення Zibra Liquids займає всього кілька хвилин. І от — вода уже стає частиною нового ігрового процесу.
Як саме це працює? Плагін є результатом синергії запатентованих солверів, які дозволяють здійснювати фізично точне моделювання рідини та нейронних репрезентацій SDF 3D-об’єктів (на основі ML).
Технологію моделювання рідини було також розроблено власними силами ZibraAI за допомогою методу Moving Least Squares Material Point Method. Початковий прототип зміг симулювати 300 000 частинок за 7 мілісекунд на ноутбуці з GTX 1050 без будь-якої оптимізації. Але ми мали намір прискорити реалізацію щонайменше втричі.
Ще одним викликом була реалізація техніки візуалізації частинок. Для першого прототипу команда розробила локальний метод трасування променів воксельних частинок, який чудово підходить для симуляції, оскільки він також працює з вокселями на сітці моделювання. Ця версія могла відображати рідину на тому ж залізі зі швидкістю 30 кадрів в секунду, чого було достатньо для запуску бета-тестування. Тож наша компанія почала спілкуватися з потенційними клієнтами, створила перші демо та зібрала початкові відгуки від спільноти.
Після поєднання рідинного солвера та основної ML-технології, ZibraAI створила плагін для Unity з інтерфейсом і серверним бекендом, який міг отримувати сітку від Unity, генерувати SDF та обробляти його за допомогою технології ML, яка упаковує дані в серії нейронних вставок на воксель, які зберігаються на сайті клієнта. Ця комбінація дозволяє користувачам легко налаштувати ефекти і вийти на новий рівень візуальної якості.
Команда хотіла, щоб плагін було нативно скомпоновано на C++, щоб контролювати ресурси, мінімізувати навантаження на процесор і використовувати повний спектр методів для оптимізації шейдерів GPU.
Він включав добре відомі поширені підходи, такі як:
Але цього було недостатньо, і ми рушили далі. Усі критично важливі частини перформансу Zibra Liquids були оптимізовані:
Загалом новий солвер є приблизно у 3,5-4 рази швидшим за попередню реалізацію.
Технологія проста у використанні
Основна увага зосереджена на тому, щоб забезпечити користувачам плагіна легкий перехід до нових технологій шляхом розробки інтуїтивно зрозумілого та простого інтерфейсу. Щоб налаштувати рідину та побачити бажані результати, варто лише зробити кілька кліків всередині ігрового рушія.
Технологія моделює кілька мільйонів частинок на високотехнологічному обладнанні, сотні тисяч частинок на ноутбуках і десятки тисяч частинок на мобільних пристроях в режимі реального часу. Плагін забезпечує реалістичність фізики та візуальну якість ефектів на рівні CG у режимі реального часу та найкращу у своєму класі продуктивність.
Технологія здатна здійснювати перехід у режимі реального часу між фізичними та візуальними параметрами, такими як жорсткість, сила поверхневого натягу, гранична сила, металевість, непрозорість, заломлення, відображення та багато інших. Немає потреби у складному налаштуванні — користувачі отримують бажане рішення «з коробки». Команда надає деякі готові комбінації налаштувань цих параметрів — пресети. Тобто користувач може обрати необхідний для себе, або ж налаштувати самостійно.
Тепер під контролем користувачів знаходиться все — навіть гравітація. Ця функція дозволяє реалізовувати нові ігрові механіки, які раніше було неможливо створити.
Основна технологія ZibraAI дозволяє створювати нейронну SDF-репрезентацію для будь-якої геометрії та використовувати її як колайдер для рідкого компонента у сцені. Налаштувати взаємодію частинок з 3D-об’єктами довільної форми можна за декілька кліків.
Ця функція дозволяє використовувати рідини як ігрову механіку. Це впливає на зовнішній вигляд гри, а також важлива для створення реалістичних симуляцій рідин, які можуть передавати силу на об’єкти в сцені, розуміючи їх вагу.
Вам не потрібні знання машинного навчання, щоб використовувати плагін, але ви повинні бути знайомі з інтерфейсом ігрового рушія Unity.
Плагін Zibra Liquids уже доступний на Unity Asset Store. Скоро буде додано підтримку Unreal Engine та Android (iOS буде доступна найближчим часом, команда наразі проводить тестування). Продуктивність плагіна буде покращена вдвічі. Згодом Zibra Liquids стане рішенням, що не залежить від платформ, доступним для будь-якого ігрового рушія. Stay tuned!
Днями я завзято нила про щось ChatGPT (експериментую між сеансами з живим терапевтом). І от…
«Крутіть колесо, щоб отримати знижку до 50%!» «Натисніть тут, щоб відкрити таємничу пропозицію!» «Зареєструйтесь зараз,…
Дуже хочеться робити якісь десктопні апки. Сумую за часами коли всі програми були offline-first, і…
Надсилаючи криптовалюту, багато новачків ставлять запитання: як працюють комісії та чому вони відрізняються в різних…
Нова афера набирає обертів — ось детальний розбір того, як фальшиві потенційні роботодавці намагаються вкрасти…
Соцмережа з можливістю вбудовувати повноцінні додатки прямо в пости — звучить як фантастика, але Farcaster…