Компания NVIDIA выпустила открытый движок симуляции физических процессов PhysX 4.0
Компания NVIDIA представила релиз движка симуляции физических процессов PhysX 4.0, который стал первым значительным выпуском после перевода проекта в разряд открытых. Одновременно сформировано обновление PhysX 3.4.2, включающее корректирующие изменения для изначально открытой кодовой базы. Код проекта распространяется под лицензией BSD и поддерживает платформы Linux, macOS, iOS, Windows и Android. Необходимость подписания соглашения EULA оставлено при разработке для платформ XBox One, Sony Playstation 4 и Nintendo Switch. Кроме непосредственно движка под лицензией BSD также открыт код и связанного с ним инструментария PhysX SDK.
PhysX является одним из самых популярных физических движков, который задействован для обработки физических взаимодействий в более чем 500 играх и входит в состав многих популярных игровых движков, включая Unreal Engine, Unity3D, AnvilNext, Stingray, Dunia 2 и REDengine. Движок масштабируется для различного оборудования, от смартфонов до мощных рабочих станций с многоядерными CPU и GPU, и позволяет в полной мере использовать возможности GPU для ускорения обработки эффектов. Среди областей применения PhysX можно упомянуть реализацию таких эффектов, как разрушения, взрывы, реалистичные движения персонажей и машин, клубящийся дым, гнущиеся от ветра деревья, льющуюся и обтекающую препятствия воду, развевающуюся и рвущуюся одежду, столкновения и взаимодействия с твердыми и мягкими телами.
Компания NVIDIA рассчитывает, что после перевода проекта в разряд открытых, он сможет выйти за рамки инструментов для разработки игр и станет востребован в таких областях, как синтез данных для исследований в области искусственного интеллекта и для тренировки нейронных сетей, cоздание реалистичных окружений для тренировки роботов, cимуляция реальных условий в процессе обкатки автономных транспортных средств и автопилотов. Ожидается также, что адаптация движка для высокопроизводительных кластерных систем позволит добиться нового уровня детализации и точности симуляции физических процессов.
Особенности выпуска PhysX 4.0:
- Реализован алгоритм TGS (Temporal Gauss-Seidel Solver), который позволяет улучшить качество симуляции персонажей и объектов, состоящих из множества сочлененных частей;
- Система сборки переведена на использование Cmake;
- Увеличена масштабируемость правил фильтрации для кинематических и статических объектов;
- Добавлена новая фаза выявления столкновений ABP (automatic multi-broadphase), позволившая во многих ситуациях повысить производительность движка;
- Добавлена функция упрощенной координатной симуляции сочленений (Reduced Coordinate Articulation), лишенная относительной погрешности позиционирования и подходящая для реалистичной симуляции движения суставов;
- Представлена новая структура BVH, демонстрирующая более высокую производительность для персонажей с большим числом форм;
- Прекращена поддержка компонентов PhysX Particle и PhysX Cloth.