Новости про PhysX и программирование

Разработчик NVIDIA: PhysX используется в массе игр

Программист из NVIDIA по имени Пьер Тердиман, который занимается созданием PhysX, в своём блоге высказался в защиту технологии PhysX, после того, как в Сети стали называть технологию ненужной и не прижившейся.

«„Никто не использует PhysX“ — неверно», — заявил Тердиман и пояснил свою позицию. «PhysX является движком физики по умолчанию в Unity и Unreal. Это значит, что он используется в массе игр, на большом разнообразии платформ (PC, Xbox, PS4, Switch, мобильные телефоны, добавьте сами)».

NVIDIA PhysX
NVIDIA PhysX

Программист отметил, что PhysX — это не только эффекты GPU, которые вы когда-то видели в Borderlands. Он также всегда был обычным движком физики для CPU (таким как Bullet или Havok).

Разработчик PhysX Пьер Тердиман

«Когда ваш персонаж не проваливается сквозь землю в Fortnite — это PhysX. Когда вы выпускаете пулю в PayDay 2 — это PhysX. „Тряпичная кукла“? Транспорт? ИИ? PhysX выполняет всё это во множестве игр. Он используется везде, и он никуда не делся».

Разработан новый алгоритм симуляции воды

Разработка реалистичной системы динамики жидкости является очень трудной задачей, однако система, названная Position Based Fluids (PBF) может открыть новые возможности для разработчиков видеоигр, позволив создать удивительные по реализму сцены, главным «актёром» которых является вода.

Новый алгоритм эмуляции жидкостей использует Position Based Dynamics (PBD), представляет собой тот же фреймворк, который используется для генерации реалистичных эффектов тканей и деформируемых поверхностей.

Position Based Fluids Demonstration

По данным PhysXInfo, цикличная решающая программа PBD является лучшим подходом в эмуляции несжимаемых жидкостей, чем традиционная система SPH (Smoothed-particle Hydrodynamics). Более того, PBD «обладает искусственным конечным давлением, которое улучшает распределение частиц и создаёт качественный эффект поверхностного натяжения». По информации разработчиков, новый метод также позволяет пользователям возвращать энергию жидкости посредством «вихревого ограждения».

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

Обновилась среда разработки PhysX SDK 2.8.4.6

Несмотря на то, что NVIDIA давно анонсировала движок PhysX 3, компания до сих пор продолжает модернизацию второй линейки своего эмулятора физики.

Очередная версия второй линейки — PhysX SDK 2.8.4.6 вышла в пятницу, и содержит незначительные исправления, в числе которых:

  • исправлена ошибка, при которой счетчик вершин не был кратен 4 при включенной опции NX_CLF_HARD_STRETCH_LIMITATION;
  • включен код SPU для APEX
  • исправлена ошибка SPU Raycast
  • внесены прочие мелкие исправления APEX

NVIDIA PhysX

SDK доступна для платформ PC, Xbox 360 и PS3. Загрузить набор средств разработки можно как всегда на Developer Support Center.

Вышла новая версия среды разработки PhysX 3.0

Что же кардинально изменилось? Перечень нововведений приведен ниже.

Обеспечена поддержка ускорения физики на игровых консолях и портативных устройствах. PhysX SDK 3.0 разработан с целью конкуренции с прочими движками на современных игровых приставках и других устройствах, с еще меньшими вычислительными мощностями. Архитектурные изменения позволили улучшить управление памятью и увеличить производительность на системах с несколькими процессорами, в частности на консолях PS3 и Xbox 360.

NVIDIA PhysX 3.0

Улучшена многопоточность. Новый PhysX имеет сдвоенный диспетчер задач, который распределяет нагрузку как на CPU, так и на GPU. В частности, для симуляции жидкости добавлена поддержка распределения не только между GPU и CPU, но и между ядрами центрального процессора, при этом данная технология доступна как на ПК, так и на Xbox 360.

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

Новый механизм сериализации. Сериализация — это процесс, посредством которого объекты SDK сохраняются из памяти на диск. В третьей версии PhysX этот процесс стал более быстрым и эффективным. Изменение объектов происходит прямо <по месту>, без загрузки в память.

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

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

Деформируемые и силовые поля. Одежда и мягкие тела были реорганизованы под одним экспериментальным Деформируемым объектом.

Дистанционное определение столкновений. В PhysX SDK 3.0 маршруты столкновений просчитываются, когда до контакта остаётся еще небольшое расстояние.

Несимулируемые объекты. Это новшество позволяет разработчикам вводить в сцену участки, в которых не действует PhysX.

Отсутствие драйверов. SDK 3.0 не требует установки PhysX System Software ни на клиентскую машину, ни на машину разработчика.

Аппаратное ускорение на GPU теперь доступно только для частиц и жидкостей.

новая версия среды разработки PhysX 3.0

Загрузить SDK можно на сайте поддержки разработчиков PhysX.

Очередное ежемесячное обновление Unreal Development Kit

Улучшения поддержки PhysX

Сентябрьское обновление бесплатной версии средств разработки Unreal Engine 3 при вносит существенное обновление поддержки физического движка PhysX. Помимо перехода на PhysX SDK 2.8.4, модуль разрушаемых объектов PhysX был заменён на более современный модуль разрушаемых объектов APEX — надстройки над PhysX. Следует отметить, что вследствие изменений весь контент должен быть пересохранён.

Помимо улучшений PhysX в новой версии UDK добавлено средство Gameplay Profiler, позволяющее разработчику с точностью отслеживать затраты времени на выполнение тех или иных действий, вызовов и функций, улучшена система работы с частицами, оптимизирована производительность постобработки изображения и повышена степень сжатия данных анимации.

UDK logo

Загрузить сентябрьскую версию UDK можно с сайта Epic Games (~850 Мб), или с зеркала на Fileplanet.

Следующее поколение Unity Engine будет показано на GDC 2010

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

Отличительной чертой движка Unity является поддержка технологии веб-клиента, когда игра идёт прямо в браузере, на Windows или Mac, от пользователя требуется только установка специального плагина. До недавнего времени Unity был также одним из немногих движков, полноценно поддерживающим платформы iPhone и Nintendo Wii.

Unity iPhone

Следующее поколение движка еще расширяет список платформ. Поддержка iPhone/iPod расширена до последнего гаджета от Aplle iPad. Появилась поддержка Xbox 360 и PlayStation 3, включая работу из встроенного браузера консолей. Не обойдена вниманием и новая мобильная платформа — Android от Google.

Unity Engine

«Начинка» движка также подвергнется коренной переработке. Unity Engine 3 будет поддерживать технологию отложенного (deferred) рендеринга. В Ядро движка вошли две лицензированных технологии: имитации глобального освещения «Beast», использовавшаяся в Mirror`s Edge, и отсечения невидимых поверхностей «Umbra». Также будет переработана система звука, добавив эффекты реверберации, программируемые фильтры и редактируемые кривые затухания. Обещаются и улучшения физической модели, основанной, кстати, на PhysX.

Unity Editor

Обещаны и улучшения в инструментах для разработчика. Универсальный редактор позволит делать игру одновременно для нескольких платформ, а Project Browser позволит искать данные проектов с использованием предварительного просмотра. Будет поддерживаться отладка скриптов в MonoDevelop для Windows и Mac.

Unity Engine 3 будет продемонстрирован на выставке GDC 2010. Релиз намечен на лето этого года. Модель распространения изменена не будет — движок распространяется бесплатно в базовой комплектации для разработки для ПК и Mac, расширенная комплектация стоит $1500 за рабочее место, поддержка дополнительных платформ докупается отдельно по необходимости.

Демонстрация PhysX Rocket адаптирована для PhysX от NVIDIA

Автор демонстрации и «песочницы» для PhysX-разработчиков PhysX Rocket перевыпустил её для работы на современных видеокартах NVIDIA.

PhysX Rocket совмещает в себе своего рода конструктор для PhysX-разработчиков, позволяя быстро изучить работу движка на примере готовых настраиваемых сцен, и редактор физических эффектов с возможностью экспорта в несколько популярных форматов. Rocket входила в состав AGEIA PhysX SDK до поглощения AGEIA компанией NVIDIA и могла использовать аппаратное ускорение лишь оригинальных карт PPU. И вот теперь автор изначальной версии, John Ratcliff, перевыпустил программу с использованием PhysX SDK 2.8.3, улучшенным интерфейсом и возможностью использования аппаратного ускорения видеокарт NVIDIA.

PhysX Rocket Demo

Программа и сейчас может быть полезна для начинающих использовать PhysX разработчиков. Можно загрузить как оригинальную версию John Ratcliff (~60 Мб), так и более полный пакет, включающий демонстрации и примеры из AGEIA SDK (~75 Мб).