С недавним обновлением в PC версию игры Assassin’s Creed IV: Black Flag были добавлены аппаратно ускоряемые PhysX эффекты, а именно физическая симуляция дыма и пара, созданная с помощью модуля APEX Turbulence.
“Черный флаг” особенно интересен тем, что это первая игра от Ubisoft, в которой реализованна поддержка GPU PhysX, да и еще при этом установленного поверх другого физического движка – Havok Physics.
Семен Ковалев, продюcер игры Assassin’s Creed IV для PC в студии Ubisoft Kiev, поделилися с нами подробностями об использовании технологии PhysX в данном игровом проекте.
PhysXInfo.com: Какие же именно аппаратно ускоряемые физические эффекты можно встретить в Assassin’s Creed IV: Black Flag ?
Семен Ковалев: В игре Assassin’s Creed IV: Black Flag наша команда решила сфокусироваться на добавлении эффектов, связанных с физической симуляцией поведения дыма. Это включает в себя клубы дыма при выстрелах из кремневых пистолетов и мушкетов, взрывах дымовых бомб.
Кроме того, дымовые эффекты привязаны к некоторым элементам окружения – кострам и печным трубам.

Использование дымного пороха подразумевает появление целого облака дыма при выстреле, но текущий эффект несколько преувеличен, на наш взгляд
Мы решили сосредоточиться именно на этих типах эффектов с участием дыма, потому хотели дать игрокам возможность прочувствовать степень взаимодействия главного героя с окружающим его миром, сделать его более реалистичным.
PhysXInfo.com: Насколько сложной задачей являлось добавление поддержки GPU PhysX в движок, использующий не PhysX SDK, а альтернативный физический движок – Havok ?
Семен Ковалев: Это являлось нашей первой попыткой использования технологии NVIDIA PhysX, причем не только в игре из серии Assassin’s Creed, но и проектах от Ubisoft вообще.
Мы хотели придать игре больше реалистичности, улучшить текущее наполнение не меняя его радикально, поэтому мы решили заняться изменением физической симуляции в PC версии игры.
Идея использования PhysX нам очень понравилась, хотя поначалу мы и не были уверены, смогут ли два физических движка работать в единой связке. Однако, эксперименты вскоре показали, что с этим особых проблем не возникнет.
Игра по-прежнему использует движок Havok, однако геометрия, необходимая для просчета столкновений, копируется (“зеркалируется”) и в движок PhysX. На данный момент существует несколько ограничений, связанных с копированием сложной динамической геометрии, такой как движущиеся модели кораблей.
PhysXInfo.com: Как был организован процесс создания эффектов с помощью модуля APEX Turbulence?
Семен Ковалев: После того, как мы убедились что метод зеркалирования геометрии является приемлемым с точки зрения производительности, мы приступили к работе над эффектами.
Для их создания использовался редактор Particle Effect Tool, предоставленный нам NVIDIA, который позволяет быстро настраивать параметры физической симуляции и внешний вид эффектов.
После того, как эффекты были смоделированы, мы занялись вопросом их визуализации в игровом движке – изменение освещения частиц в зависимости от времени суток, плавное включение эффектов в зависимости от расстояния, отсечение невидимой геометрии, влияние погоды и силы ветра на поведение дыма – все это потребовало точных настроек.
В качестве алгоритма затенения мы использовали библиотеку Particle Shadow Mapping от NVIDIA, которая позволяет дыму отбрасывать мягкие тяни как на окружающие объекты, так и на самого себя.
PhysXInfo.com: Планируете ли вы расширить использование PhysX и APEX в игре или последующих проектах ?
Семен Ковалев: Да мы уже эксперементируем с некоторыми новыми дымовыми эффектами для Freedom Cry, загруаемого дополнения к Assassin’s Creed IV. Также рассматриваются другие способы применения технологии PhysX в целом и для симуляции частиц в частности.
Благодарим компанию NVIDIA за помощь при подготовке интервью.

